赞
踩
#语法
def 函数名([形参1,形参2,形参3,.....]):
代码块
注意:
函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)
print是函数对象 print()是调用函数
def fun():
print('这是我的第一个函数')
fun() #调用函数
3.1 形参和实参
def fun():
a = 1
b = 2
print(a+b)
fun()
def fun_1(a,b): #a,b称为形参 也叫形式上的参数
print(a+b)
fun_1(1,2) #实参 实际参数 调用的时候传递实际参数,传递的实参数量和形参数量要保持一致
fun_1(120,250)
3.2 函数的传递方式
def fun(a,b,c=2): #c=2为形参c设定默认值
print(a,b,c)
fun(1,3) #结果为a=1,b=3,c=2
fun(1,3,4) #结果为a=1,b=3,c=4,用户传递了参数则默认值不会生效
def fun(a,b,c):
print(a,b,c)
fun(1,2,3) #1对应a,2对应b,3对应c
def fun(a,b,c):
print(a,b,c)
fun(a=1,b=2,c=3)
def fun(a,b,c): print(a,b,c) fun(1,b=2,c=3) fun(a=1,b=2,3) #会报错,位置参数写到关键字参数前面写成fun(3,a=1,b=2) def fun_1(a): a=10 print(a) b=1 fun_1(b) '相当于把b=1当作实参传递给形参a,及a=b=1,但是a=10将a=1覆盖了,所有打印出来的a=10' def fun_2(a): a[0]=10 print(a) b=[1,2,3] fun_2(b) print(b) 'a为多少,b为多少,均为[10,2,3]'
传参的类型
def fun(a):
print(a)
def fun_1():
pss
b=1 #整数
b=[1,2,3] #列表
b=True #布尔
b='ab' #字符串
b={'name':"lyj"} #字典
b=(1,2,3) #元组
b={1,2,3} #集合
b=fun_1 #函数
fun(b)
#不定长参数的名字并非不可变的,只是有时候会用args去命名
def fun(*args):
print(args)
fun(1,2,3,4,5,6,7)
def fun_1(a,*args):
print(a,args)
fun_1(1,2,3,4,5,6,7,8)
def fun_2(a,*args,b):
print(a,args,b)
fun_2(1,2,3,4,5,6,7,8,9) #会报错,这样定义程序会分不清那几个是传递给*args,哪个传递给b
def fun(a,*args):
print(a,args)
fun(1,234)
def fn(**kwargs):
print(kwargs)
fn(a=1, b=2, c=3)
• 传递实参时,也可以在序列类型的参数前添加星号,这样它会自动的将序列中元素依次作为参数传递
• 要求序列中的元素的个数必须和形参的个数一致
def fun(a,b,c):
print(a)
print(b)
print(c)
tuple_1=(1,2,3)
dict_1={'a':1,'b':2,'c':3}
#fun(tuple_1[0],tuple_1[1],tuple_1[2])
#参数拆包
fun(*tuple_1)
fun(**dict_1)
# 1. 打印名片程序:输入姓名,电话号码,性别,最后打印出来名片
'''• 控制姓名长度为6-20
• 电话号码长度11
• 性别只能允许输入男或女
• 每一样信息不允许为空'''
def fun(a,b,c):
print("姓名:{}".format(a))
print(f"性别:{b}")
print("tel:%s"%c)
fun(a="lyj",b="F",c='1334567894') # F 女性 M 男性
# 2. 使用函数求前20个斐波那契数列斐波那契数列:1,1,2,3,5,8,13,21...即: 起始两项均为1,此后的项分别为前两项之和 def fun_1(): # 获取用户输入数据 t = int(input("输入项数:")) # 第一和第二项 a,b,c = 0,1,2 # 判断输入的值是否合法 if t <= 0: print("请输入一个正整数。") elif t == 1: print("斐波那契数列:") print(a) else: print("斐波那契数列:") print(a, ",", b, end=" , ") while c < t: d = a + b print(d, end=" , ") # 更新值 a,b = b,d c += 1 fun_1()
# 3. 编写一段代码,定义一个函数求1-100之间所有整数的和,并调用该函数打印出结果
def fun_2(t):
a = 0
for i in range(0,t):
a += i
print(a)
fun_2(101)
本文为学习笔记,转载请标明出处,本文仅供交流学习,请勿用于非法途径,希望本文对大家有帮助。
仅是个人意见,如有不足之处或者侵权,请留言
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。