1. 程式人生 > >python3基礎(五)-函式

python3基礎(五)-函式

1、字典函式

names={"name":"zhantao","age":33,"sex":"男"}
names.keys()    #返回key值列表['name', 'age', 'sex']
names.values()    #返回value值列表['zhantao', 33, '男']
names.items()    #返回一個一個元組('name', 'zhantao'),形成的列表[('name', 'zhantao'),('age',33),('sex','男')]

2、擴充套件print的用法

print("%s........%s"%(a,b))仔細看下,%(a,b)百分號後面的括號是代表一個元組,所以可以使用元組來代替,如下item就是一個元組,所以可以代表兩個%s的值
for item in stus.items():
print("%s......%s"%item)
#print("="*30)字串也有乘法,代表輸出30個等號
 
for key in stus:檢視某一個key是否包含在字典當中,在python2當中有一個函式可以查詢has_key(),不過在python3當中給幹掉了,查詢字典當中值也是一樣。
for item in stus:
if():
    break    #如果for迴圈是被終止的,則else是不會被執行的。如果for迴圈正常結束了,則會執行else裡面的內容。
else:
    print()

3、檢視記憶體變化

id(a)    #是檢視a變數的記憶體地址,可以發現不同變數是否指向同一記憶體地址
 
舉例記憶體地址變化:
a=[1,2]
b=a    #那麼變數a,b都指向同一塊記憶體區域
b+=[3,4]    #會導致b指向的記憶體地址裡面的值發生變化,變化成[1,2,3,4],這個表達示的意思是給變數a加上[3,4],那麼a的值也變了,這叫自加運算子。
而b=b+[3,4]則代表的意思和上面不一樣,雖然值是一樣的,但是記憶體地址發生變化。這個代表變數b加上[3,4]執行的結果(這個結果是一個新的值),然後再賦值給b。這裡b就指向了一個新的記憶體地址,而a仍然是指向老的記憶體地址。所以此時a,b的值是不一樣的。

4、變數比較

a=1
b=2
names={"name":"zhantao","age":33,"sex":"男"}
cmp(a,b)    #比較兩個變數的值,返回0,1,-1,如果ab相同則返回0,如果a大於b則返回正數1,如果a小於b則返回負數-1,這個函式只有在python2當中才有。python3當中沒有。
chr(65) chr(97)    #數字轉換成字元,65為a,97為A
max(list) min(list)    #查詢陣列當中最大值和最小值
del(names)和del names    #是一樣的,刪除變數
len(list)    #陣列長度

5、自定義函式

定義:
def 函式名(引數1,引數2.......):
程式碼內容
return 返回值    #返回值可以有,也可以沒有
例如:
def checkIsInt():
a=1
return isinstance(a, (int,float)) 判斷變數a是否是整數或者浮點數,返回Ture或False,可以把需要判斷的型別使用括號括起來,之間用逗號隔開

6、小知識

python是個解釋性的語言,程式碼的執行順序是從上至下的。如果需要執行某個程式碼,那麼這個程式碼的函式必須要在前面提前申明。而函式裡面呼叫的函式,則不一定必須在這個呼叫函式之前,但仍然必須在執行程式碼之前。因為程式執行的時候,碰到函式,只是申明函式,而不會執行函式裡面的程式碼,所以在函式裡面呼叫的其它函式不一定比呼叫者先申明,但必須要在執行程式碼之前。(變數也是一樣的道理)
if isinstance(a,(int,float)):    #判斷是否是屬於整形或浮點形
if not isinstance(a,(int,float))    #將條件反轉,使用not關鍵字

作者:滄水巫雲
部落格:http://blog.csdn.NET/amir_zt/
以上原創,轉載請註明出處,謝謝。
https://blog.csdn.net/amir_zt/article/details/82942582