变量与函数Variables and Functions
Task04:变量与函数Variables and Functions
变量Variables
变量是一段数据,用"="对某个变量名赋值
- 新的值会覆盖掉旧的值
- 新值的数据类型不必与旧值相同
x=5
print(x)
x="data"
print(x)
data
变量命名规则:
- 必须以字母或下划线(
_
)开头 - 命名可由字母、数字和下划线组成
- 大小写敏感
- 尽量避免使用保留字命名
99problems = 0 # 会崩溃!因为变量名以数字开头
保留字
['False',
'None',
'True',
'__peg_parser__',
'and',
'as',
'assert',
'async',
'await',
'break',
'class',
'continue',
'def',
'del',
'elif',
'else',
'except',
'finally',
'for',
'from',
'global',
'if',
'import',
'in',
'is',
'lambda',
'nonlocal',
'not',
'or',
'pass',
'raise',
'return',
'try',
'while',
'with',
'yield']
多变量赋值
a = b = c = 2
print(f"a={a}, b={b}, c={c}")
a=2, b=2, c=2
a, b, c = 1, 2, 6
print(f"a={a}, b={b}, c={c}")
a=1, b=2, c=6
函数 Functions
-
函数是一个名字,代表一串代码序列(流程、过程)
-
函数由两个部分组成:
header和body(头部和函数体)
header
用于定义函数接口(函数 名称 与 参数)body
包含函数所需要执行的操作
header
header
用于定义函数的名称和参数
- 当函数被调用时,参数将会作为变量被提供给函数的
body
部分 - 可以提供多个参数(用逗号
,
分隔),也可以不提供参数(0 个) header
以冒号(:
)结尾,代表后面会跟着body
部分
函数的 header
的写法:
def functionName(parameters):
pass # 函数的 body 部分,这里使用 pass 代替
body
body
包含函数执行的语句(statement
)
- 语句需要缩进(由 Code Style Guide 决定)
- 当语句不再缩进,函数部分结束
- 一般会使用
return
语句,来让函数返回其结果,但不是必须的
eg//
1,有一个参数
def double(x):
print("我在一个名叫 “double” 函数里!")
return 2 * x
rint(double(2)) # 会输出 4
我在一个名叫 “double” 函数里!
4
2,有多个参数
# 三个参数
def f(x, y, z):
return x + y + z
print(f(1, 3, 2)
6
3,
# 无参数
def g():
return 42
print(g()) # 返回 42
42
print(g(2)) # 崩溃!
print(f(1, 2)) # 也会崩溃
多返回值
def Multi_Return_Values():
return 9, 2, 8
a, b, c = Multi_Return_Values()
print(f"a={a}, b={b}, c={c}")
a=9, b=2, c=8
语句与表达式 Statements and Expressions
对于表达式
- 它本身是值
- 它的计算结果是值
表达式的一些例子
In [33]:
4
4
"Hello World"
'Hello World'
7 + 2
9
True or False
True
(2 < 3) and (9 > 0)
True
Python 只能 print 值和表达式,如果你能用 print()
输出它,那它就是表达式
print((2 < 3) and (9 > 0))
True
对于语句
- 它不是值
- 它不能打印
- 但它能执行一些操作
语句的一些例子
def f(x):
return 5*x
x = 5 + 4
if 10 > 5:
y = 5 + 3
内置函数 Builtin Functions
就是 Python 自己带的函数啦🤗
类型转换
print(bool(0)) # 转换为布尔类型(True or False)
False
print(float(42)) # 转换为浮点数
42.0
print(int(2.8)) # 转换为一个整数(舍弃小数点)
2
一些基本数学函数
但是它们不在 math
库中
print(abs(-5)) # 绝对值
5
print(max(2,3)) # 返回最大值
3
print(min(2,3)) # 返回最小值
2
print(pow(2,10)) # 次方运算,等价于 2**10
1024
print(round(2.354, 2)) # 取最近的一个整数(并不完全是四舍五入,二进制精度丢失)
2.35
返回语句 Return Statements
def isPositive(x):
return (x > 0)
print(isPositive(5)) # True
True
print(isPositive(-5)) # False
False
print(isPositive(0)) # False
False
一旦返回,函数立即结束!
当函数没有返回语句的时候,函数会返回None
def f(x):
x + 42
print(f(5)) # None
None
对于print和return
def cubed(x):
print(x**3) # 这里的操作不太合适
cubed(2) # 但是似乎看起来也正常运行了
8
print(cubed(3)) # 应该也能有效(但是返回 None,太怪了)
27
None
print(2*cubed(4)) # Error
!
64
正确写法:
def cubed(x):
return (x**3) # 这样做更好
cubed(2) #似乎输出被忽略了,为什么?
8
print(cubed(3)) # 有效了!
27
print(2*cubed(4)) # 也是有效的!
128
Helper Functions
编写函数是用来解决问题的
我们还可以编写函数来存储那些经常被用到的一系列操作
这种函数就叫做 Helper Function
def onesDigit(n):
return n%10
def largerOnesDigit(x, y):
return max(onesDigit(x), onesDigit(y))
print(largerOnesDigit(134, 672)) # 4
print(largerOnesDigit(132, 674)) # 依然是 4
4
4
posted on 2023-11-23 17:22 Shun了个shun 阅读(24) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示