#python 中函数定义方法
1 def test(x):
2 """这个一个函数的介绍"""
3 x+=1
4 return
5
6 # def :定义函数的关键字
7 # test:函数名
8 # ():内可定义形参
9 # """.....""":文档描述(非必要,但是建议加一个函数的描述信息)
10 # x+=1:指代码快或程序处理逻辑
11 # return:第一返回值
#测试函数示例
1 import time
2 def file1():
3 """打开一个文件写日志"""
4 time_f = '%Y-%M-%D %X'
5 time_c = time.strftime(time_f)
6 with open('user.txt','a+') as f:
7 f.write('
%s --- aaa' %time_c)
8 return 0
9
10 def tes():
11 print("测试打印")
12 file1()
13 return 1,'hello'
14
15 #将return 的值打印出来
16 print(file1())
17 print(tes())
#调用参数
1 #形参:形式参数,不是实际存在,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参。
2 #实参:实际参数,调用函数时传给函数的参数,可以使常量,变量,表达式,函数,传给形参。
3 #区别:形参是虚拟的,不占用内存空间,形参变量只有被调用时才分配内存单元,实参是一个变量,占用内存空间,数据传送单向,实参传给形参,不能形参传给实参。
4
5 def number(x,y,z): #x,y是形参
6 print(x)
7 print(y)
8 print(z,'end
')
9
10 # number(1,2) #1,2是实参,和形参的关系是一一对应的
11 # number(2,1)
12 number(1,z=3,y=5) #关键参数是不能写在位置参数前面.比如错误的示范:number(x=1,2,3)
#函数默认参数
1 #特点:调用函数的时候。默认参数非必须传递 2 #part 1 3 def num(x,y,z=3): 4 print(x) 5 print(y,'end ') 6 7 num(1,3) 8 9 #part 2 10 def nu(x,*args): #*接受N个位置参数为元组的模式,args形参的名字 11 print(x,args) 12 13 nu(*['a',2,3,4]) #结果a (2, 3, 4) 14 nu('a',*[2,3,4]) #结果a (2, 3, 4) 15 16 #part 3 17 18 def n_dic(**kwargs): #**接受N个关键字参数转换成字典,kargs形参的名字 19 print(kwargs) 20 print(kwargs['name']) 21 print(kwargs['age']) 22 23 n_dic(name='gg',age=11) 24 25 #组合 26 27 def all(name,age,*args,**kwargs): 28 print(name) 29 print(age) 30 print(args) 31 print(kwargs)
32 all('gdr',22,*[1,2,3],day='gg',sex='M')
#全局和局部变量
1 name='gdr' #全局变量
2 school='四川师范大学' #全局变量
3 l = ['ggg','fff'] #列表,字典,集合可以通过局部变量修改全局变量
4
5 def change_name(name):
6 #global school #将局部变量变为全局变量(最好不要用)
7 #school = '四川科技大学'
8 l[0]='gdr'
9 print('before change',name,school,l)
10 name = 'djj' #局部变量,函数就是这个name变量的作用域
11 print('after change',name)