函數是經過賦值傳遞的,參數經過賦值傳遞給函數。def語句將建立一個函數對象並將其賦值給一個變量名,def語句的通常格式以下:html
1 def function_name(arg1,arg2[,...]): 2 statement 3 [return value]
返回值不是必須的,若是沒有return語句,則Python默認返回值None。python
函數名的命名規則:函數名必須如下劃線或字母開頭,能夠包含任意字母、數字或下劃線的組合。不能使用任何的標點符號;函數名是區分大小寫的。函數名不能是保留字。json
函數中的參數接收傳遞的值,參數可分默認參數,如:ide
元組(Tuples)參數:def function(*ARG)函數
字典(dictionary)參數:def function(**ARG)spa
一些函數規則:code
默認值必須在非默認參數以後;在單個函數定義中,只能使用一個tuple參數(*ARG)和一個字典參數(**ARG);tuple參數必須在鏈接參數和默認參數以後;字典參數必須在最後定義。htm
定義一個函數只給了函數一個名稱,指定了函數裏包含的參數,和代碼塊結構。對象
這個函數的基本結構完成之後,你能夠經過另外一個函數調用執行,也能夠直接從Python提示符執行。blog
1 # 定義函數 2 def printme( str ): 3 "打印任何傳入的字符串" 4 print (str) 5 return6 7 # 調用函數 8 printme("我要調用用戶自定義函數!") 9 printme("再次調用同一函數")
return語句[表達式]退出函數,選擇性地向調用方返回一個表達式。不帶參數值的return語句返回None。
1 def sum( arg1, arg2 ): 2 # 返回2個參數的和." 3 total = arg1 + arg2 4 print ("函數1 : ", total) 5 return total 6 7 # 調用sum函數 8 total = sum( 10086, 10010 ) 9 print("函數2 : ", total)
定義在函數內部的變量擁有一個局部做用域,定義在函數外的擁有全局做用域。
局部變量只能在其被聲明的函數內部訪問,而全局變量能夠在整個程序範圍內訪問。調用函數時,全部在函數內聲明的變量名稱都將被加入到做用域中。
1 total = 0; # 這是全局變量 2 # 可寫函數說明 3 def sum( arg1, arg2 ): 4 #返回2個參數的和." 5 total = arg1 + arg2; # total在這裏是局部變量. 6 print("局部變量 : ", total) 7 return total 8 9 #調用sum函數 10 sum( 10086, 10010 ) 11 print("全局變量 : ", total)
上述結果
1 函數內是局部變量 : 30 2 函數外是全局變量 : 0
1 | 關閉文件。關閉後文件不能再進行讀寫操做 |
2 | 刷新文件內部緩衝,直接把內部緩衝區的數據馬上寫入文件, 而不是被動的等待輸出緩衝區寫入。 |
3 | 返回一個整型的文件描述符(file descriptor FD 整型), 能夠用在如os模塊的read方法等一些底層操做上。 |
4 | 若是文件鏈接到一個終端設備返回 True,不然返回 False。 |
5 | 返回文件下一行。 |
6 | 從文件讀取指定的字節數,若是未給定或爲負則讀取全部。 |
7 | 讀取整行,包括 "\n" 字符。 |
8 | 讀取全部行並返回列表,若給定sizeint>0,返回總和大約爲sizeint字節的行, 實際讀取值可能比sizhint較大, 由於須要填充緩衝區。 |
9 | 設置文件當前位置 |
10 | 返回文件當前位置 |
11 | 截取文件,截取的字節經過size指定,默認爲當前文件位置。 |
12 | 將字符串寫入文件,沒有返回值。 |
13 | 向文件寫入一個序列字符串列表,若是須要換行則要本身加入每行的換行符。 |
Python pass是空語句,是爲了保持程序結構的完整性。
# 輸出 Python 的每一個字母 for letter in 'Python': if letter == 'h': pass print('這是 pass 塊') print '當前字母 :', letter print("Good bye!")
json是個數據交換語言,能夠將python裏的其它數據格式轉換成字典形式
舉個栗子:
1 import json 2 3 obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}] 4 encodedjson = json.dumps(obj) 5 print (repr(obj)) 6 print (encodedjson)
1 ##輸出結果: 2 3 [[1, 2, 3], 123, 123.123, 'abc', {'key2': (4, 5, 6), 'key1': (1, 2, 3)}] 4 [[1, 2, 3], 123, 123.123, "abc", {"key2": [4, 5, 6], "key1": [1, 2, 3]}]
json.dumps方法提供了不少好用的參數可供選擇,比較經常使用的有sort_keys(對dict對象進行排序,咱們知道默認dict是無序存放的),separators,indent等參數。