人工智能学习笔记005-变量与函数作用域,


注:本笔记对应江灏老师在B站的教学视频https://www.bilibili.com/video/BV1zE411V79p

一、函数处理

函数可以避免我们重复复制粘贴,可以增加代码的艺术性。

(一)调用函数,得先定义。

(二)函数定义的两种方式:有参和无参

def square(x):  #有参数 x为形参
    s=x**2
    return x
​
s = square(2)   #调用  2为实参
print(s)
​
def func():     #无参
    print("hello world")
    
func()           #调用

  

(三)参数传递

  1. 括号里面的叫形参,调用时传递进去的是实参
  2. 注意:如果传入的第一个参数是用关键词传入的,那么后面的每个参数都需要是关键字传入,否则会出现语法错误。
def func(x,y,z):
    s = x + y + z
    return s
​
print(func(1,2,3))  #位置传入
print(func(x=1,z=3,y=2)) #关键词传入
print(func(1,y=2,z=3))   #正确 print(func(x=1,2,y=3))是错误的

  

3.可变长参数
def func(x,y,*args):   #默认把y后面的数字打包成元组,要是是**则打包成字典
    s = 1+2*x+y*y
    for i in args:
        s=s+i
    return s
​
print(func(1,2,3,4,5,6,7))  #默认把2后面的数字打包成元组,

  

4.函数的返回

return后面即为函数运行后返回的值。

(四)函数的嵌套

def max(x,y):
    if x>y:
        return x
    else:
        return y
​
def max4(a,b,c,d):
    res1 = max(a,b)
    res2 = max(res1,c)
    res3 = max(res2,c)
    return res3
​
print(max4(4,5,6,2))

  

(五)函数递归

直接调用函数本身

def del1(group):
    del group[-1]
    if len(group)>0:
        del1(group)
    else:
        print("已经成功清除,检验。现在长度为",len(group))
​
list1=[1,2,3,4,4,5,5]
del1(list1)

  

二、变量作用域

全局变量

定义在函数外的变量,可以在整个程序范围内被访问

局部变量

定义在函数内的变量,只可以在其被声明的函数内部访问

total = 0
​
def sum(a,b):
    #在函数内引用全局变量
    #global total即可
    total = a + b
    print("函数内是局部变量: ",total)
    return total
​
sum(10,20)
print("函数外是全局变量",total)

  

三、python内置函数

len(),abs()等,自己需要的时候查。

相关内容

    暂无相关文章

评论关闭