Day 3

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 有时候会很有用

  • 一定要亲眼看看自己的代码是怎么跑起来的

 

★★★★★---------------★★★★★★

  1. 变量只是一个标签

  2. 代码很复杂,尝试可视化

https://pythontutor.com

(彩蛋 跑代码,代码可视化平台)

本文作者:berber288

本文链接:https://www.cnblogs.com/berber288/p/17852382.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   berber288  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.