Task 3 变量与函数
变量
-
变量是一个名字,他所指的是一段数据
-
使用 = 来对这段区域进行复制
x = 5
print(x)
print(x*2)
-
新的值会覆盖旧的值
-
新的值的数据类型不必与旧的值的数据类型相同
y = 10
print(y - 2)
y = True
print(y)
运行结果:
变量命名规则:
-
必须以字母或者下划线(_)开头
-
明明可有字母、数字、下划线组成
-
大小写敏感
-
尽量避免使用保留字命名
更新变量
x = 7
x += 2
print(x)
运行结果:9
换成其他运算符也是如此
x = 10
x //= 5
print(x)
运行结果:0
多变量赋值
a = b = c = 2
print(f"a = {a},b = {b},c = {c}")
a, b, c = 1, 2, 6
print(f"a = {a},b = {b},c = {c}")
变量作用域
-
每个变量都有属于自己的作用范围
-
超出作用范围后,变量不可见
函数内的变量有 局部作用域,它只存在于函数内部,与其他函数中同名的变量无关
当在函数外部定义变量时,变量具有全局作用域,在任何地方都可以使用
但是我们应该尽量避免使用全局作用域,但是在一些非常少的场合会用到它
函数
-
函数是一个名字,代表一串代码序列(流程,过程)
-
函数有俩个部分组成
header
和body
*header
用于定义函数接口(流程、过程) *body
包含函数所需要执行的操作
header
header
用于定义函数的名称和参数
-
当函数被调用时,参数将会作为变量被提供给函数的
body
部分 -
可以提供多个参数(用逗号
,
分隔),也可以不提供参数(0 个) -
header
以冒号(:
)结尾,代表后面会跟着body
部分
函数header
的写法:
def 函数名(形式参数):
#body
body
body包含函数执行的语句
-
语句需要缩进
-
当语句不在缩进,函数部分结束
-
一般会使用
return
语句让函数返回一个结果,但是不是必须的
类似于用一个=
来对多个变量赋值,函数的返回结果也可以不止一个(用,分隔)
def double(x):
print("我在一个 `double`的语句中")
return 2 * x
-
我们使用函数名来调用函数
-
函数名后紧跟一对括号
-
括号中是我们设定的参数值,一个不多,一个不少(这很重要)
-
函数会返回设定的 return 的返回值
print(double(2)) #会打印出4
函数也可以有任意多个参数,也可以一个都没有
def f(x, y, z):
return x+y+z
print(f(1,2,3)) #会打印出6
def g():
return 42
print(g()) #会打印出42
可是如果参数数目没有匹配的话程序就会崩溃
多返回值
def f():
return 9,3,4
a, b, c = f()
print(f"a 的值为{a},b的值为{b},c的值为{c}")
语句与表达式
对于表达式
-
它的本身是值
-
他的计算结果也是值
对于语句
-
他不是值
-
他不能打印
-
但他能执行一些操作
python中只能print
值或者表达式,如果你能用print()
输出它,那它就是表达式
类型转换
隐式类型转换
上边就是一个隐式的转换
但是如果想用print计算一个int型的加上一个字符串的话,隐式转换就不再适用了
显示类型转换
int() 强制转换为整型:
float() 强制转换为浮点型:
str() 强制转换为字符串类型:
注意事项:在强制类型转换这部分中,只能以上述形式写出来,不能用print
打印,例如:x = str('s1')
这种写法是错误的
一些基本的数学函数
#这些函数存储的math库中
print(abs(5)) #绝对值为5
print(min(2,3)) #最小值为2
print(max(2,3)) #最大值为3
print(pow(2,10)) #代表的是次方运算,即2的10次方
print(rpund(2.345,2))#类似于四舍五入,并不是完全的四舍五入,去最近的整数,二进制精度丢失
每个变量都有作用范围,超出范围以后就不能再作用了
返回语句
一旦返回,函数会立即结束
没有返回语句时,函数会返回空值
像在第一个函数中就是没有返回语句,那么就会返回None
在第二个函数中,返回的是一个布尔类型的,因此会返回True
return与print的区别
像在第一个函数里边,不仅会输出想要求的内容,而且还会返回一个空值,有点奇怪
正确的应该是第一个函数中写到的
编写函数是用来解决问题的,我们也可以封装一些函数用来存储一些常用的操作
这种函数叫做Helper Functions
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
[递归 & 分治 - OI Wiki (oi-wiki.org)]
标签:语句,body,return,变量,Python,print,函数 From: https://www.cnblogs.com/Zhang-xy-2006/p/17853654.html