def say(): #函数名 print('hello')#函数体 #函数不调用是不会被执行的 # say() #调用函数 #函数的参数 def calc(a,b): #形参, 形式参数 #位置参数,必填参数 res = a * b print('%s * %s = %s'%(a,b,res)) # calc(7,8) #实参,实际参数 def op_file(file_name,conent=None): #默认值参数,它是非必填的 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() # res = op_file('a.txt') # print(res) def haha(): #函数里面遇到return函数就立即结束了 for i in range(5): print(i) if i==3: return #只写一个return的话,就返回None # res = haha() # print(res) import string def check(pwd): #长度6-11 #字母和数字吧 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('asd1234') #函数里面如果没有return的话,默认返回None # print(res) # l = [1,6,8,2,4,8,9] # print(l.sort()) # print(l) def is_float(s): s = str(s) if s.count('.')==1:#小数点个数 s_list = s.split('.') left = s_list[0] #小数点左边 right = s_list[1] #小数点右边 if left.isdigit() and right.isdigit(): #正小数 return True elif left.startswith('-') and left.count('-')==1 and \ left.split('-')[1].isdigit() and \ right.isdigit(): #判断合法负小数 return True return False # 1.98 # -2.50 # retrun True # retrun False # 1.98 # 1.98.23 # -1.90 # 需求分析: #1、 小数点个数 .count() # 2、按照小数点进行分割 1.98 [1,98] s.87 98.s1 #3、正小数:小数点左边是整数 右边也是整数 .isdigits() # 负小数:小数点左边是以负号开头,但是只有一个负号,右边也是整数 -9.85 money = 500 def test(consume): # 500 return money - consume def test1(money): return test(money) + money money = test1(money) print(money) 不固定参数
def syz(a,*args): #参数组 print(a) username = args[0] pwd = args[1] age = args[2] # syz('niuhanyang','2423',2323) # syz('1s','sdf') def syz2(time,**kwargs): #关键字参数 print(kwargs) syz2('sdf') syz2(name='nhy',age=38,time='20180912') syz2('2018',name='nhy',age=38,addr='回龙观',home='河南') syz2(time='xx',xx='xxx') #1、必填参数还是非必填的 #2、它有没有限制参数个数 #3、它是把传过来的参数放到哪里
递归
def test1(): num = int(input('please enter a number:')) if num%2==0:#判断输入的数字是不是偶数 return True #如果是偶数的话,程序就退出了,返回true print('不是偶数请重新输入!') return test1()#如果不是偶数的话继续调用自己,输入值 # print(test1())#调用test #少用递归,递归最多递归999,递归的效率不高。 i = 0 def test(): global i i+=1 print(i) test() test()