函数的调用
name=input()#输入参数并赋值name
print(name)#d打印name
格式:返回值=函数名(参数)
def get_sum(n):#形式参数
'''
计算累加和
:param n:
:return: sum
'''
sum=0
for i in range(1,n+1):
sum+=i
print(sum)
return sum
a=get_sum(100)#100是实际参数
print(a)
计算累加和,调用函数,并将返回为sum
定义函数用def关键字(define定义),代码运行时会记录参数的定义,在函数被调用时才会将参数带入
所以函数要先定义在调用(内置函数除外);
函数返回结果return的值默认为None,当函数执行到return时会停止执行后续代码
参数的位置:调用函数时参数的个数必须相同,位置也必须相同!
位置传参:
def happybirthday(name,age):
print("祝",name,'生日快乐!',sep="")
print(str(age),"岁")
happybirthday('ppx',18)
参数传参:直接用参数传输实际参数,改变位置
def happybirthday(name,age):
print("祝",name,'生日快乐!',sep="")
print(str(age),"岁")
happybirthday(age=18,name="ppx")
默认值参数:
def happybirthday(name="皮皮虾",age=100):
print("祝",name,'生日快乐!',sep="")
print(str(age),"岁")
happybirthday()#直接调用,参数为默认参数
happybirthday("雪雪",18)#输入实际参数
可变参数:
def print_(*a):
print(type(a))
for i in a:
print(i)
print_(12,6)
函数带入两个参数,分别一次执行两个参数的代码
参数的返回值:
def l(n,m):#求两个数的最小公倍数和最小公因数并返回
if n>m:
max=n
min=m
else:
max=m
min=n
for i in range(max,max*min+1):
if i%m==0 and i%n==0:
s=i
break
for x in range(0,min):
if n%(min-x)==0 and m%(min-x)==0:
y=min-x
break
return s,y
a=l(12,8)
print(type(a))
print(a)
返回值值为两个,并以元组方式输出
局部变量和全局变量:
s=100#全句变量,在整个代码中都可以被调用
def sum(a,b):
global y#利用global函数将局部变量转换为全局变量
y=666#global声明和赋值必须分开
x=a+b+s#x为局部变量,在函数中调用并没有定义,局部变量优先级高
print(x)
sum(100,100)
print(y)
匿名函数lambda:
def sum(a,b=100):
s=a+b
return s
print(sum(188,188))#采用函数方法求两数之和
print('____________________')
y=lambda a,b:a+b#采用匿名函数,a,b是参数冒号后面是表达式
print(y(100,100))
递归函数
def f(n):
if n!=1:
return n*f(n-1)
else:
return 1
print(f(6))
常用的内置函数
bool():获取指定目标的布尔值
str():将对象修改为字符串类型
int():将指定对象转化为整型
float():转换为浮点型
list():转换为列表类型
tuple():转换为元组类型
set():转换为集合类型
常见的数学函数
迭代器操作
main和name
print(__name__)#__name__是解释器自动分配的变量为__main__
#如果是其他模块引入该文件分配的是文件的名字
def love():#建立c.py文件,并设置函数
print("cone fom love")
print("ppx")#可以被其他模块调用
if __name__=='__main__':
print("ppx!!!")#只能在本模块中使用,不能被其他模块调用
# print(y(100,100))
#递归调用
import c
c.love()#引入love模块,并使用love方法
print(__name__)