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等参数。

相关文章
相关标签/搜索