函数是经过赋值传递的,参数经过赋值传递给函数。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等参数。