作业链接:https://hydro.ac/d/datawhale_p2s/homework/661ca1893ffdbb8aa78ef35a
变量
定义:代指一段数据,使用=来对这段区域进行赋值
x = 5
print(x, x*2)#5, 10
x = "str"
print(x)# 输出 str python中新的数据类型不必与旧的数据类型相同不同于c语言 新的值会覆盖旧的值
python中交换值
x1, x2 = 5 , 10
print(x1, x2)#5 10
多个变量赋值
x1, x2 = x2, x1 #元组的解包
print(x1, x2)#10 5
变量命名规则
- 必须以字母或下划线(_)开头
- 命名可由字母、数字和下划线组成
- 大小写敏感
- 尽量避免使用保留字命名
函数:
定义:函数是工厂,输入东西进去产出产品,由两个部分组成:header,body
header:定义函数接口(函数名称 参数)
- 当函数被调用时,参数会作为变量进入到body参与操作
- 使用多个参数时用, 隔开
- header以冒号结尾,后面跟函数体
body:函数所需要执行的操作
- 相对于header来说,要缩进
- return语句,不是必须的
- 可以返回多个结果
例子:
def function(x1, x2): #这部分就是函数的header
x1 = x1 + 10
x2 = x2 + x1
x3 = x1
return x1, x2, x3
x1, x2 = 1 , 1
x1, x2, x3 = function(x1, x2)
print(x1, x2, x3)
全局变量和局部变量:函数内的变量时局部变量仅在函数体作用,在函数体外定义的变量是全局变量在任何地方起作用
函数的嵌套:先计算最内层的函数在往外扩展
return注意事项:
函数一旦返回,函数立即结束!
def isPositive(x):
print("Hello!") # 会运行
return (x > 0)
print("Goodbye!") # 不会运行
print(isPositive(5)) # 输出 “Hello!” 然后返回 True
print和return的区别:
def cubed(x):
return x**3
print(2*cubed(4))
def cubed(x):
print(x**3) # 这里的操作不太合适
print(2*cubed(4)) # 无法计算
128
64
Traceback (most recent call last):
TypeError: unsupported operand type(s) for *: 'int' and 'NoneType' 因为print没有返回任何值
扩展:
python程序执行可视化网站:https://pythontutor.com/render.html#mode=display
计算机体系化学习:https://github.com/izackwu/TeachYourselfCS-CN/blob/master/TeachYourselfCS-CN.md
递归分治的思想:https://oi-wiki.org/basic/divide-and-conquer/