学无先后,达者为师

网站首页 编程语言 正文

python中的函数和变量的用法

作者:喂喂6 更新时间: 2022-08-19 编程语言

一、函数

1.位置参数

   格式:

def 函数名(参数1,参数2):
     代码块
函数名(值1,值2)

  代码案例:

def f(a,b):
     print("a:",a)
     print("b:",b)
f(2,3)

2.关键字参数

 格式:

def 函数名(参数1,参数2):
    代码块
函数名(参数1=值1,参数2,=值2)

代码案例:

def aa(c,d):
    print("c:",c)
    print("d:",d)
aa(c=2,d=3)

注意:参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面。

def aa(w,c,d):
    print("c:",c)
    print("d:",d)
    print("w:",w)
aa(2,c=2,d=3)

3、缺省参数

定义:在形参中默认有值参数,称之为缺省参数。

代码案例:调用函数时,缺省参数的值没有传入

def pp(name,age=20):
    print("name:",name)
    print("age:",age)
pp(name="rose")

代码案例:调用函数时,缺省参数的值传入

def pp(name,age=10):
    print("name:",name)
    print("age:",age)
pp(name="jack",age=18)

4、不定长参数

定义:有时候需要一个函数能处理比当初声明时更多的参数,这些参数叫作不定参数,声明时不会命名

注意:加*的变量args会放在所有未命名的变量参数,args为元组

而加**的变量kwargs会存放在命名参数,即形如key=value的参数,kwargs为字典

格式:

def p(*agrs,**kwargs):
     print("args:",args)
     print("kargs:",kwargs)
p(参数)

代码案例:

不定长参数* args:

def p(*args):
    print("args:",args)
p(100,200)

不定长参数** args:

def pp(**kwargs):
    print("kwargs:",kwargs)
pp(a=3,b=4)

5、参数位置顺序

注意:如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有 **kwargs的话,**kwargs必须是最后的

格式:

def fun(位置参数,*args,缺省参数,**kwargs): 
    代码块 
fun(参数值)

代码案例:

def s(a,*args,b=2,**kwargs):
    print("a:",a)
    print("args:",args)
    print("b:",b)
    print("**kwargs",kwargs)
s(1,4,6,b=7,m=2,n=5)

6.函数返回值

格式:

def sum(): 
    代码块 
    return 值 
sum()

代码案例:

def sum(a,b):
    return a+b
result=sum(1,2)    #保存函数的返回值
print(result)

7.多个return

注意:一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处

代码案例:

def cr(n):
    print("---1---")
    if n==100:
        print("---2---")
        # 函数中下面的代码不会执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数
        return n+1
        print("return执行之后不会继续执行")
        print("231223")
    else:
        print("---3---")
        return n+2
    print("---4---")
result1 = cr(100)
print(result1) # 打印101
result2 = cr(200)
print(result2) # 打印202

8.返回多个数据

总结:return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据

代码案例:

def dd(a,b):
    sh=a//b      #取模
    ch=a%b       #取余
    return sh,ch        #默认元组
result=dd(5,2)
print(result)

9.函数类型

9.1 无参数,无返回值的函数

此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数
def rr():
    print("-------")
    print('点点点')
    print('')
    print('1')
    print('2')
    print('3')
    print('-------')

9.2 无参数,有返回值的函数

此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数

def rr():
    return 2

9.3 参数,无返回值的函数

此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数

9.4 参数,有返回值的函数

此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数

# 计算1~num的累积和
def cc(num):
    result = 0
    i=1
    while i<=num:
        result=result+i
        i+=1
    return result
print(cc(4))

10.函数嵌套

一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用

代码案例:

def test():
    print("testa start")
    print("testb testb 执行")
    print("testb end")
def testa():
    print("testa start")
    test()
    print("testa end")

11.匿名函数

定义:lambda函数也叫匿名函数,即函数没有具体的名称

注意:lambda函数可以赋值给变量,默认是返回的,所以不用再加return关键字

注释:例如g = lambda x:x+1,可以看成如下函数,冒号前是参数,可以有多个,用逗号隔开,冒号右边的 返回值

代码案例:

g = lambda x :x+1 
print(g(1))
def g(x):
    return x + 1
print(g(1))

二、变量

1.局部变量

定义:局部变量,就是在函数内部定义的变量

约束:其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的

代码案例:

def test1():
    a=2
    print("我是局部变量啊a:",a)
    a=20
    print("修改之后的局部变量a:",a)
def test2():
    a=30
    print("我是test02函数中的局部变量a",a)
test1()
test2()

2.全局变量

定义:在函数外边定义的变量叫做全局变量

约束:全局变量能够在所有的函数中进行访问

代码案例:

a=100
def test1():    # 虽然没有定义变量a但是依然可以获取其数据
    print(a)
def test2():     # 虽然没有定义变量a但是依然可以获取其数据
    print(a)
# 调用函数
test1()
test2()

原文链接:https://blog.csdn.net/weixin_65219914/article/details/126409913

栏目分类
最近更新