review Python ~
我自己打CTF的時候都用Python
所以Python 可是非常重要的XD
print "Hello World!"
不要自動換行 了話
print "Hello",
print " World"
# 輸出 Hello World
單行註解使用#
大型註解使用 '''
包起來
同時他也是字串
#我是註解
'''
我是註解
巴拉
'''
a = '''
我也是字串格式
'''
a = 1
b = "word"
c = True
d = False
a = 1
print type(a)
# <type 'int'>
del 變數名稱1, 變數名稱1, ...
a = "asdf"
print a[0:2] #as
print a[-1] #f
python字串有兩種取值順序
字串 | a | s | d | f |
---|---|---|---|---|
第一種索引 | 0 | 1 | 2 | 3 |
第二種索引 | -4 | -3 | -2 | -1 |
a = "asdf"
b = "fdsa"
d = 1
a+=b
print a #asdffdsa
c = a + "嗨" + b + str(d)
變數 = [東西1, 東西2, ...]
a = ['a','b',2] #合法
變量[上標:下標]
list.append(要加的元素)
list.extend(要加的串列)
list.insert(要插入的index, 插入的元素)
del list[index]
list.pop(index)
list.remove(要刪的元素)
list.sort(reverse=False)
reverse = True
reverse = False
變數 = {key1:value1, key2:value2, ...}
key是唯一的,如果重複,最後一個key的value會代替前面的
value可以重複沒關係
key可以是字串、數字,但不能是列表
只能用key 找 value
a = {
'key':'value'
}
print a['key'] #輸出:value
是否有直
a = {"11":"bb"}
print ("11" in a)
# True
print ("22" in a)
# False
還可以這樣
a = {"11":"bb"}
b = "11"
print a[b]
# bb
a={1:2,3:4,5:6}
for key, value in a.items():
print "key: "+str(key)+ " value: "+ str(value)
a = "123"
a = int(a)
a = "1010111"
a = int(a,2) # 二進位
print a #87
a = 123
a = str(a)
a = float(a)
運算子 | 意義 |
---|---|
not |
相反 |
and |
兩者為真材為真 |
or |
其中一者為真即為真 |
運算子 | 意義 |
---|---|
+= |
相加後在丟給原變數 |
-= |
相減後在丟給原變數 |
*= |
相乘後在丟給原變數 |
/= |
相除後在丟給原變數 |
%= |
取餘數後在丟給原變數 |
//= |
取商數後在丟給原變數 |
**= |
取次方後在丟給原變數 |
判斷式基本語法
空行很重要
if (條件式一):
條件式一成立,要做的事
elif (條件式二):
條件式二成立,要做的事
else:
上述條件式都不成立,要做的事
基本上 是foreach
for 變數 in 串列:
要做的事
break
continue
for i in range(1,10):
print i
事實上 range(1,3)==[1,2]
while迴圈基本語法
while (條件):
條件成立要做的事
基本語法
def 函數名稱(要傳進去的參數):# 不用宣告型態
要做的事
return 要吐出來的東西 # 如果是void就不用return
def fun(a):
return a + 1
print fun(2) #輸出 3