#定义函数,和调用
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 + b
print(result)
add(1,3)
def login(username,password):
uname = 'root'
passwd = 'root'
for i in range(3):
if username == uname and password == passwd:
print('登录成功')
break
else:
print('登录失败')
username = input('请输入用户名:')
password = input('请输入密码:')
else:
print('账户登录锁定')
#调用
# login(username,password)
#找出列表的最大值
def max(iterable):
max = iterable[0]
for i in iterable:
if i > max:
max = i
print('max=',max)
list1 = [1,2,3,4,5]
max(list1)
#########################################################
#可变参数,可变参数一定要放到后面
def add(name,*args):
sum = 0
if len(args) > 0:
for i in args:
sum += i
print(f'{name}累加和是:',sum)
else:
print('没有参数计算')
add('tom',1,2,3)
##################################################################
#可变参数+ 关键字参数(类似给个默认值)
# 关键字参数:key=value
def add(a,b=10):
resule = a + b
print(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+b
return result
x= add(1,2)
print(x)