#定义函数,和调用
import random
def generate_random():for i in range(10):ran = random.randint(1,20)print(ran)
print(generate_random) #<function generate_random at 0x000001E8A847C268># 调用函数
generate_random()###############################################################################
#函数传参
'''
def 函数名(参数,参数...)函数体
调用:pass
'''
def generate_random(number): #形参,形式上的参数for i in range(number):ran = random.randint(1,20)print(ran)
generate_random(10) # 实参 ,实际上的参数#加法函数
def add(a,b):result = a + bprint(result)
add(1,3)def login(username,password):uname = 'root'passwd = 'root'for i in range(3):if username == uname and password == passwd:print('登录成功')breakelse:print('登录失败')username = input('请输入用户名:')password = input('请输入密码:')else:print('账户登录锁定')
#调用
# login(username,password)#找出列表的最大值
def max(iterable):max = iterable[0]for i in iterable:if i > max:max = iprint('max=',max)
list1 = [1,2,3,4,5]
max(list1)
#########################################################
#可变参数,可变参数一定要放到后面
def add(name,*args):sum = 0if len(args) > 0:for i in args:sum += iprint(f'{name}累加和是:',sum)else:print('没有参数计算')
add('tom',1,2,3)
##################################################################
#可变参数+ 关键字参数(类似给个默认值)
# 关键字参数:key=value
def add(a,b=10):resule = a + bprint(resule)
add(1) # 1+10=11# 关键字参数,fun(a=1,b=2),实参的个数可以没有,也可多个,**必须是关键字参数
def func1(a,**kwargs):print(a,kwargs)
func1(1,c=1,b=2) # 1 {'c': 1, 'b': 2}#函数调用时,实参个数可以没有,也可以多个, *不能是关键字参数
def func2(name,*args):if len(args):for i in args:print(f'{name}学了{i}课程')else:print('没有学到课程')result = ['html','py','java']
# *result 拆掉列表,装成元组类型
func2('tom',*result)
# tom学了html课程
# tom学了py课程
# tom学了java课程def func3(*args,**wkargs):print(args,wkargs)
list1 = [1,3]
dict1 = {'1':'a','2':'b'}
func3(*list1,**dict1)
# (1, 3) {'1': 'a', '2': 'b'}##############################################
#返回值
#将函数的运算结果返回出来
#print 仅仅限制在终端,辅助查看,但是外部无法使用
# return 可以是多个参数,如果是多个参数则底层会将其放到一个元组中
def add (a,b):result = a+breturn result
x= add(1,2)
print(x)