Python 函数,,函数:(方法、功能)


函数:(方法、功能)作用:1、提高代码的复用性,2、让代码更简洁函数命名方法函数不调用是不会被执行的def calc(a,b): #形参 #位置参数,必填,否则报错 res = a * b print(‘%s * %s = %s‘ %(a,b,res))calc(7,8) #实参def op_file(file_name,conent=None): #默认值参数,默认conent=None,非必填,如果未传,则打印None # print(file_name) # print(conent) f = open(file_name,‘a+‘,encoding=‘utf-8‘) f.seek(0) if conent: f.write(conent) f.flush() else: print(f.read()) f.close()op_file(‘a.txt‘,‘aaa‘)op_file(‘a.txt‘)#局部变量:只在函数里面使用以上代码中,不能将读取的数据取出来。可用return返回出结果。def op_file(file_name,conent=None): #默认值参数,默认conent=None,非必填,如果未传,则打印None # print(file_name) # print(conent) f = open(file_name,‘a+‘,encoding=‘utf-8‘) f.seek(0) if conent: f.write(conent) f.flush() else: all_users = f.read() return all_users #调用完函数之后,返回什么结果 f.close()# op_file(‘a.txt‘,‘aaa‘)res = op_file(‘a.txt‘) #将返回的函数写到res里面print(res)return的作用1、把函数处理的结果返回回来2、结束函数,函数里面遇到return,函数会立即结束。3、如果return 后面不带参数,则返回None,用于结束函数def haha(): for i in range(5): print(i) if i == 3: returnres = haha()print(res)没有写return的时候,默认返回Nonedef check(pwd): #长度6-11 #包含字母和数字 import string if len(pwd) >5 and len(pwd)<12: if set(pwd) & set(string.ascii_letters) and set(pwd ) & set(string.digits): print(‘密码合法‘) else: print(‘密码不合法‘) else: print(‘密码不合法‘)res = check(‘123‘) #没有写return的时候,默认返回Noneprint(res)函数之间是可以互相调用的常量:就是一个不变的值,一般,常量名全是大写字母全局变量:公共的变量,都可以用的变量如果要改全局变量的话,那你要先声明一下(global),修改的是全局变量尽量少用全局变量,因为:1、不安全,所有人都可以改,多个人写代码时可能互相影响。2、全局变量会一直占着内存函数传参方式,也可以指定形参传值,不用根据形参顺序依次传。函数不固定参数def syz(*args): #参数组,不确定参数数量,args只是一个变量名 print(args)syz() #()syz(‘aaa‘,‘bbb‘,‘ccc‘) #(‘aaa‘, ‘bbb‘, ‘ccc‘)syz(‘dd‘) #(‘dd‘,)syz(123) #(123,)1、参数非必填2、参数数量无限制3、把传过来的参数放到元组中也可以传一个形参,一个不固定参数。def syz(a,*args):pass关键字参数def syz2(**kwargs): print(kwargs)syz2() #{}syz2(name = ‘pzp‘,age = 38) #{‘name‘: ‘pzp‘, ‘age‘: 38}syz2(name = ‘pzp‘,age = 38,addr = ‘回龙观‘,home = ‘HZ‘) #{‘name‘: ‘pzp‘, ‘age‘: 38, ‘addr‘: ‘回龙观‘, ‘home‘: ‘HZ‘}syz2(‘nhy‘) #报错1、参数非必填2、参数数量无限制3、把传过来的参数放到字典中,要采用k = v 的格式。def syz2(time,**kwargs): print(kwargs)syz2(‘2018‘) syz2(name = ‘pzp‘,age = 38,time = ‘2018‘) syz2(‘2018‘,name = ‘pzp‘,age = 38,addr = ‘回龙观‘,home = ‘HZ‘)递归调用函数自己调用自己,写代码时少用递归,效率没有循环高,而且最多递归999次,999次之后会报错。def test1(): num = int(input(‘please enter a number:‘)) if num%2 == 0: return True #如果是偶数的话,程序就退出了,返回true print(‘不是偶数请重新输入‘) return test1() #如果不是偶数的话继续调用自己,输入值print(test1()) #调用test1()循环999次报错i = 0def test(): global i i +=1 print(i) test()print(test())test()内置函数python自带的一些函数,直接拿过来用id() #type()print()input()list()set()str()dict()float()print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真print(bin(10).replace(‘0b‘,‘‘))#十进制转二进制,print(bool(‘s‘))#把一个对象转换成布尔类型print(chr(10))#打印数字对应的asciiprint(ord(‘b‘))#打印字符串对应的ascii码print(dir(1))#打印传入对象的可调用方法print(exec(‘def a():pass‘))#执行python代码 ipython Terminalexec(‘def a():print("aaa")‘)a = eval(‘[1,2,3,4]‘) #yeshi yonglai zhix python代码的,只能执行简单的代码,比如运算等’print(a)print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选print(map(lambda x:x>5,[1,2,3,4,5,6]))print(max(111,12))#取最大值print(min(111,12))#取最小值print(abs(-111))#取绝对值print(round(11.11,2))#取几位小数print(sorted([2,31,34,6,1,23,4]))#排序

Python 函数

评论关闭