python函數基礎 與文件操做

函數的定義

函數是經過賦值傳遞的,參數經過賦值傳遞給函數。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語句[表達式]退出函數,選擇性地向調用方返回一個表達式。不帶參數值的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
View Code

python文件操做

1

file.close()

關閉文件。關閉後文件不能再進行讀寫操做

2

file.flush()

刷新文件內部緩衝,直接把內部緩衝區的數據馬上寫入文件, 而不是被動的等待輸出緩衝區寫入。

3

file.fileno()

返回一個整型的文件描述符(file descriptor FD 整型), 能夠用在如os模塊的read方法等一些底層操做上。

4

file.isatty()

若是文件鏈接到一個終端設備返回 True,不然返回 False。

5

file.next()

返回文件下一行。

6

file.read([size])

從文件讀取指定的字節數,若是未給定或爲負則讀取全部。

7

file.readline([size])

讀取整行,包括 "\n" 字符。

8

file.readlines([sizehint])

讀取全部行並返回列表,若給定sizeint>0,返回總和大約爲sizeint字節的行, 實際讀取值可能比sizhint較大, 由於須要填充緩衝區。

9

file.seek(offset[, whence])

設置文件當前位置

10

file.tell()

返回文件當前位置

11

file.truncate([size])

截取文件,截取的字節經過size指定,默認爲當前文件位置。

12

file.write(str)

將字符串寫入文件,沒有返回值。

13

file.writelines(sequence)

向文件寫入一個序列字符串列表,若是須要換行則要本身加入每行的換行符。

pass語句

Python pass是空語句,是爲了保持程序結構的完整性。

# 輸出 Python 的每一個字母
for letter in 'Python':
   if letter == 'h':
      pass
      print('這是 pass 塊')
   print '當前字母 :', letter
print("Good bye!")

python json

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等參數。

相關文章
相關標籤/搜索