python中的函数使用方法

时间:2025-09-15 01:34:16  阅读量:  分类:标签:

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()

image.png

定义一个有参数的函数,并调用。

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()

输出结果:image.png

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()

输出结果:image.png

# 定义装饰器
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