人工智能学习笔记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() #调用
(三)参数传递
-
括号里面的叫形参,调用时传递进去的是实参
-
注意:如果传入的第一个参数是用关键词传入的,那么后面的每个参数都需要是关键字传入,否则会出现语法错误。
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内置函数
上一篇: 古代的太监生活有多滋润?看完都惊呆了!
下一篇: iOS 超级签名之描述文件的实现过程
推荐阅读
-
javascript基础学习之*变量与作用域链
-
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
-
人工智能学习笔记005-变量与函数作用域
-
C++ 学习笔记 (六) 继承- 子类与父类有同名函数,变量
-
前端综合学习笔记---变量类型、原型链、作用域和闭包
-
javascript基础学习之*变量与作用域链
-
python学习笔记:第10天 函数进阶和作用域
-
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
-
GoLang 学习笔记(七)-- 声明变量风格,二级指针,隐式作用域
-
前端学习笔记三:JavaScript(2)变量的分类和作用域+利用浏览器调试模式测试+HTML事件+表示特殊字符(+运算符+各种循环和条件语句【略】)