python中的函数使用方法
1.内置函数:
内置函数分类 类型转换函数:int (), float (), str (), list (), set () 等。 数学相关函数:abs (), round (), pow (), divmod () 等。 字符串处理函数:len (), split (), replace () 等。 文件和输入输出函数:open (), read (), write (), input (), print () 等。 -------------------------------------- 对象操作函数:dir (), getattr (), setattr (), hasattr (), delattr () 等。 序列操作函数:len (), max (), min (), sum (), append (), pop () 等。 其他常用函数:globals (), locals (), eval (), exec (), type (), id (), isinstance () 等。
#小案例:
number=-5
print(abs(number)) #求绝对值函数
#四舍五入函数
number1=3.14159
print(round(number1)) #四舍五入
#四舍五入函数
number1=3.14159
print(round(number1,2)) #四舍五入保留小数点后两位
---------------------
a=15.1
b=3
print(a/b)
输出结果:5.10000000000000005
a=15.1
b=3
print(round(a/b,3))
输出结果:5.1
#幂次方
print(pow(10,3))
#输出结果10的三次方1000
#同时获取获取商和余数
print(divmod(11,3))
#字符串分割#我希望通过逗号作为分隔符,把姓名提取出来,并且放在列表中。
text="张三,李四,王五,赵六"
a=text.split(",")
print(a)
#字符串替换
text="张三,李四,王五,赵六"
a=text.replace("王五","王麻子")
print(a)
按住ctrl不放,鼠标移动对应函数上面就可以点击,查看内置函数源码。2.自定义函数
定义一个没有参数的函数,并调用。
def 函数名():
def my_function():
print("Hello from a function")
my_function()
定义一个有参数的函数,并调用。
def my_function(a,b): return a * b print(my_function(3,4))
在函数中调用函数
# 定义函数
def function1():
print("函数function1被执行了!")
print("---执行完毕!")
def function2():
print("在function2中调用function1:")
function1()
function2()求和
def qiuhe(a,b):
c=a+b
print("相加的结果为",c)
qiuhe(4,5)求平均值错误案例:函数外部无法获取函数内部定义的数值
def qiuhe(4,5):
c=a+b
print("相加的结果为",c)
print(c/2)求平均值正确案例:利用返回值return获取函数内部的结果。
def qiuhe(a,b):
c=a+b
print("相加的结果为",c)
return c
r=qiuhe(4,5)
print(r/2)3、参数和返回值
参数:可以向函数传递数据,并且可以在函数内部使用这些数据进行计算、操作或其他处理。 返回值:是函数执行完毕后返回给调用者的结果。返回值可以是任何类型的数据。通过返回值,函数可以将结果传递给调用者,供其继续使用或进行后续处理。
参数和返回值
def getSum(a,b): #形参
result=a+b
print("相加结果为:",result)
return result #返回值getSum(4,5) #实参 #实参的个数必须和形参一致 #返回值 r=getSum(4,5) print(getSum(6,7))
#返回多个值 以元组形式返回
def function1():
print("function1被执行了")
a=2
b=3
c=4
return a,b,c
result=function1()
print(result)#单独使用return-终止整个方法
def function2(a):
print("function2被执行了")
if a>10:
print("大于10")
return
else:
print("小于10")
print("函数执行完毕!")
function2(8)4、函数的4种传参方式
def juicer(f):
print("榨汁机开始工作")
juice=f+"汁"
return juice
j=juicer("香蕉")
print("榨出一杯:",j)#1、按照顺序传参,就是打印炸出香蕉汁然后在打印葡萄汁。
def juicer(f1,f2):
print("榨汁机开始工作")
juice=f1+f2+"汁"
return juice
j=juicer("香蕉","葡萄")
print("榨出一杯:",j)def funciton1(nameA,nameB):
print(nameA,"欠",nameB,"100000元")
funciton1("张三","李四")#2、通过变量名传参,就算李四和张三的参数位置颠倒,依然可以按顺序正确传参, def funciton1(nameA,nameB): print(nameA,"欠",nameB,"100000元") funciton1(nameB="李四",nameA="张三")
#3、通过默认值传参,需要把默认参数的放在参数最后面。
def function2(nameB, nameA="张三"):
print(nameA, "欠", nameB, "1000元!")
function2("王五")
#输出结果:张三 欠 李四 1000元!
两个参数,如果你都定义了,就用你的参数,输入一个就用磨人参数。
def function2(nameB, nameA="张三"):
print(nameA, "欠", nameB, "1000元!")
function2(nameB="王五", nameA="大宝")
#输出结果:大宝 欠 王五 1000元,#通过可变长度参数传参-接收任意个数参数,参数名前面加上一个星号,就可以传入无数个参数。
def function3(*names):
print("张三的债主们:")
print(names)
function3("大宝", "二宝", "李四", "王五")
#输出结果:张三的债主们: ('大宝', '二宝', '李四', '王五')5、变量起作用的范围(区域)
局部变量:在函数(或类)内部定义的变量,只能在函数(或类)内部访问。 全局变量:在函数(或类)外部定义的变量,可以在函数(或类)内部和外部访问。 嵌套作用域:一个函数内部定义了另一个函数,那么内部函数可以访问外部函数的变量。【子可以访问父层】 内置作用域:Python 中有一些内置的函数和变量,它们可以在任何地方被访问。 例如,print () 函数和 len () 函数就属于内置作用域。 【内置函数,全部区域都可以用。】
(1、)局部变量: def function1(): a = "深圳" #局部变量 print(a) #打印会出错,因为a只在定义的函数内有效。
(2、)全局变量 局部变量: a = "深圳" #全局变量 def function1(): print(a) #全局变量,在任何位置都可以有效,函数内部也能用。 print(a) -------------------------------- a = "深圳" def function2(): a = "上海" # 相当于创建同名的局部变量 print(a) function2() print(a) #输出结果:深圳,上海。 --------------------- a = "深圳" def function2(): global a #这句话含义是声明a是全局变量。 a = "上海" print(a) function2() print(a) #输出结果:上海:上海
(3、)嵌套作用域
def function3():
a = "上海"
print("function3被执行了!")
def function4():
print("function3中的function4被执行了!")
print(a)
function4()
function3()输出结果:
6、匿名函数
匿名函数也称为 Lambda 函数,使用 lambda 关键字定义。它是一种特殊的函数,可以在不定义函数名称的情况下,直接创建一个简单的函数对象。 语法: lambda 参数列表:表达式 匿名函数不需要return返回数据,返回值就是表达式执行的结果。 使用情况:lambda 函数通常用于编写一些简短的、临时的函数,这些函数可以作为参数传递给其他函数或方法。
lambda x: x**2 #含义接收一个函数X,将函数X乘2在返回出来。 -------------------------------------------- fount1=lambda x: x**2 #把lambda赋值给fount1 bd=fount1(5) print(bd) ---------------------------- function2 = lambda a, b: a + b result1 = function2(a=6, b=3) print(result1)
匿名函数优点就是很方便
函数作为参数传入
listA = [1, 2, 3, 4, 5] newListA = filter(lambda x:x%2==0, listA) # 筛选列表数据,把所有的偶数筛选出来,【偶数满足除2为0】, #x:要满足x%2等于零为真的时候。筛选列表a print(newListA) #是一个对象,无法看到具体值,需要转成列表在打印。 print(list(newListA) ) #输出结果2,4
7、函数的装饰器
装饰器允许在不修改原始函数代码的情况下,通过添加额外的功能来扩展函数的行为。 装饰器的返回值也是一个函数对象。 通过注解可以将装饰器中的功能附加到某个具体业务的函数中。
# 定义装饰器
def decorate(func): # 接收函数作为参数
def wrapper():
print("开始调用函数...")
func()
print("函数调用结束...")
return wrapper
@decorate # 注解:给函数附加一些其他功能
def sayHello():
print("你好,世界!")
sayHello()输出结果:
# 定义装饰器
def decorate2(func): # 接收函数作为参数
def wrapper():
a=input("请输入密码")
if a=="12345":
print("用户验证成功")
func()#执行目标函数
else:
print("用户验证失败")
return wrapper
@decorate2 # 注解:给函数附加一些其他功能
def zhuanzhang():
print("转帐中...")
zhuanzhang()
不懂看教程:https://www.51zxw.net/Show.aspx?cid=1310&id=149455函数练习题:/blog/64.html