天天看点

python记录<1>函数变量作用域参数的类型okok,这次的分享就到此结束啦!加油,代码人!

函数

定义:函数对程序逻辑进行结构化或过程化的一种编程方式,写函数的目的是为了代码的重用。

1.自定义函数:自定义函数通过def关键字定义。

def函数名(参数):
  语句块(函数体)
           

2.形参和实参

<1>形参:定义函数时,在函数名后面括号内的参数叫形参。

<2>实参:调用函数时可以通过参数给函数传值,通过参数赋值的过程叫传参。而调用函数时这个参数就叫实参。

def fun99(x):                                   #设置一个形参
    for i in range(1,x+1):                      #实参的值可以传递到函数体内
        for j in range(1,i+1):
             print(j,'*',i,'=',i*j,'\t',end='')
        print('\n')
print("It''s Main")
fun99(3)                                         #数字3即是实参的值
fun99()                                          #调用函数未传参
           

3.返回值

返回值是函数的一部分,即使不设置,以然也会有返回值。(注:由于这个没有设置返回值,所以输出结果看到的是None。) 

x=fun99(3)            #等号后调用了函数,此时就已经想屏幕打印结果了,函数的返回值赋值给了x
print(x)              #打印函数的返回值
           

变量作用域

1.局部变量

局部变量是在函数内定义的变量,这种变量只能在函数内部使用。局部变量的作用域只在它被定义的巨块中。

如下例:

x = 10
def func(i):
    print("x=",i)
    x = 100
    y = 50
    print("local x =",x)
    print("local y =",y)

func(x)
print("x=",x)
print("y=",y)
           

2.全局变量

定义:如果想要函数内的变量作用于函数之外,这种变量的作用域就必须是全局的。能够作用于函数内外的变量,叫作全局变量。(函数以外定义的变量。)

全局变量可以通过global语句定义,改造一下上面的程序,把x和y定义成全局变量:

x=10
def func(i):
    global x,y
    print("x = ",i)
    x = 100
    y = 50
    print("local x =",x)
    print("local y =",y)

func(x)
print("x = ",x)
print("y = ",y)
           

运行结果如下:

x = 10
local x = 100
local y = 50
x = 100
y = 50
           

参数的类型

1.位置参数

定义:实参的赋值时按照形参定义的顺序传递。

def func(x,y,z):
    print(x,y,z)

func(1,2,3)                    #TypeError 在函数执行时,定义的形参没有实参,就会报错
           

2.命名传参

定义:执行函数时,形参名=值(实参)方式赋值。

注:<1>使用命名可以不按照形参定义的顺序赋值。

       <2>查看函数帮助信息help(函数名):

print(help(func1))
           

3.默认值参数

定义:定义函数时,给形参设置默认值。

def func2(x=1,y=2,z=3):
    print(x,y,z)

func2(y=2222)                #使用默认值参数时,可以不用给拥有默认值的形参赋值
           

4.可变长度参数:在参数名前加 *

形参会将接受到的所有参数放置在一个元组中。

求最大值:

def func3(*args):
    m = args[0]
    for i in args[1:]:
            if m < i:
                    m = i
    return m

print(func3(1,2,23,3,3,4))
           

5.可变长命名参数 : **形参

使用字典类型接收所有的参数{"形参":实参}

def func4(**kwargs):
        print(kwargs)

func4(name="root",password="123456")

input()
           

okok,这次的分享就到此结束啦!加油,代码人!