Day 3
Chapter 3 变量与函数 variables and functions
结尾有宝藏,嘿嘿
变量 variables
A variable is a named value that references or stores a piece of data
-
变量是一个名字,它所指代的是一段数据
-
使用 = 来对这段数据的区域进行赋值
-
新的值会覆盖掉旧的值
-
新值的数据类型不必与旧值相同
python 里面变量当标签
变量命名规则:
-
必须以字母或者下划线(_)开头
-
命名可由字母,数字和下划线组成
-
大小写敏感
-
尽量避免使用保留字命名
更新变量
自增
多变量赋值
1 a = b = c = 2
2 print (f"a = {a}, b = {b}, c = {c}")
a = 2 b = 2 c = 2
1 a , b , c = 1 , 2 , 6 #了解元组的解包
2 print (f"a = {a}, b = {b}, c = {c}")
函数 functions
A function is a procedure (a sequence of statements) stored under a name that can be used repeatedly by calling the name.
-
函数是一个名字,代表一串代码序列 (流程,过程)
-
函数由两个部分组成:header 和 body
header 用于定义函数接口 ( 函数 名称 与 参数 )
body 包含函数所需要执行的操作
header 用于定义函数的名称和参数
-
当函数被调用时,参数将会作为变量被提供给函数的 body 部分
-
可以提供多个参数 (用逗号,分隔),也可以不提供参数 (0个)
-
header 以冒号(:)结尾,代表后面会跟着 body 部分
函数的 header 的写法:
1 def functionName(parameters): #f(x , y), define定义
2 pass #函数的 body 部分,这里用 pass 代替
Body
body 包含函数执行的语句 (statement)
-
语句需要缩进 (由Code Style Guide 决定)
-
当语句不再缩进,函数部分结束
-
一般会使用 return 语句,来让函数返回其结果,但不是必须的
类似于用一个 = 来对多个变量赋值,函数的返回结果也可以不止一个(用逗号,分隔)
-
我们使用函数名来调用函数
-
函数名后紧跟一对括号
-
括号中是我们设定的参数的值,一个不多,一个不少(很重要)
-
函数会返回设定的 return 语句的值
调用示例函数 double() 会返回一个值 (2 * x)
1 def double(x):
2 print(" 我在一个名叫 "double" 的函数里! ")
3 return 2 * x
1 print (double(2)) #会输出 4
函数可以有任意多个参数,也可以一个都没有
1 # 三个参数
2 def f ( x , y , z )
3 return x + y + z
4
5 print (f(1 , 2 , 3 )) #返回 6,而且最后输出的是6
1 # 无参数
2 def g():
3 return 42
4
5 print (g() + 1) #返回42 输出的是43
多返回值
1 def Multi_Return_Values():
2 return 9, 2 ,8
1 a , b , c = Multi_Return_Values() # a , b , c = 9 , 2 , 8
2 print (f"a = {a}, b = {b} , c = {c}") #输出的是a = 9, b = 2, c = 8
★★ 对于表达式 ★★
-
它本身是值
-
它的计算结果是值
An expression is a data value or an opration that evaluates to a value.
对于语句
-
它不是值
-
它不能打印
-
但它能执行一些操作
Statements, by contrast, do not evaluate to a value , and we can not print them . Usually they perform some action, though.
一些基本的数学函数
但是它们不在 math 库中
1 print(abs(-5)) #绝对值
1 print(max(2,3)) #返回最大值
1 print(min(2,3)) #返回最小值
1 print(pow(2,10)) #次方运算,等价于 2**10
1 print(round(2.354,2)) #取最近的一个整数(并不完全是四舍五入,二进制精度丢失)
变量作用域 variable scope
-
每个变量都有属于自己的作用范围
-
超出作用范围后,变量不可见
函数内的变量具有局部作用域,它只存在于函数内部,与其他函数中的同名变量无关
在函数外部定义变量时,变量具有全局作用域,在任何地方都可以使用
我们应该尽量避免使用全局变量,但是在非常少的一些场合会需要用到它
返回语句 return statements
1 def isPositive(x):
2 return (x > 0)
1 print(isPositive(5)) # True
1 print(isPositive(-5)) # False
1 print(isPositive(0)) # False
一旦返回,函数立即结束!!!!!!
没有返回语句的时候,函数会返回 None
print() 和 return 是初学者比较容易出现的错误
return 之后的值还会调用,print 的值单纯输出
函数组合 function composition
对于嵌套的函数而言,应该最先运行最内层的函数
HELPER FUNCTIONS
编写函数是用来解决问题的
我们还可以编写函数来存储那些经常被用到的一系列操作
这种函数就叫做 HELPER FUNCTION
Don't be the person who "never quite understood" something like recursion.
----- Teach Yourself Computer Science
总结
-
变量只是个标签,物理设备上有啥才是重点
-
函数定义: def , header , body , 缩进 , return
-
函数是有作用域的,类似双层玻璃,里面可以看见外面,外面不能看见里面
-
Helper Function 有时候会很有用
-
一定要亲眼看看自己的代码是怎么跑起来的
★★★★★---------------★★★★★★
-
变量只是一个标签
-
代码很复杂,尝试可视化
本文作者:berber288
本文链接:https://www.cnblogs.com/berber288/p/17852382.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示