欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-17 09:06:16
注:本笔记对应江灏老师在B站的教学视频https://www.bilibili.com/video/BV1zE411V79p 一、函数处理 函数可以避免我们重复复制粘贴,可以增加代码的艺术性。 (一)调用函数,得先定义。 (二)函数定义的两种方式:有参和无参 def square(x): #有参数 ......

注:本笔记对应江灏老师在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()等,自己需要的时候查。