变量与函数(聪明办法学python)
变量与函数
变量
\(\textcolor{Orange}{代指一段数据,使用 = 赋值(标签,门牌号)}\)
-
新的值会覆盖旧的值
-
新值类型不一定要与旧值类型相同
y=10 print(y) #输出:10 y=True print(y) #输出:True -
a=10 时,a指向10所在的标签;
b=a 时,b也指向10所在标签。
-
变量命名规则
- 必须以字母、下划线开头
- 可由字母,下划线,数字组成
- 大小写敏感
- 避免使用保留字命名
-
更新变量
运算符
-
多变量赋值
a = b = c = 2 a, b, c = 1, 2, 6 #如果为a,b,c=1,2,5,7 会报错,需要进行元组的解包
变量与作用域
\(\textcolor{Orange}{每个变量都有自己的作用范围,超出范围后,变量不可见}\)
\(\textcolor{Orange}{函数内的变量具有局部作用域,它只存在于函数内部,与其他函数中的同名变量无关}\)
def f(x):
prnit("x:",x)
y = 5
print("y:",y)
return x+y
print(f(4))
'''
输出:
x:4
y:5
9
'''
print(x)
#会报错,因为x属于局部变量,在全局未被定义
\(\textcolor{Orange}{globle 用于声明一个内部变量为全局变量,这样就可以在外部修改变量的值}\)
g=100
def f():
globle g;
...
语句与表达式
-
表达式
本身时值或计算结果是值
4 "hello world" 7+2 True or False (2<3) and (9>0)print() 只能输出表达式
-
语句
不是值,不能打印,但它能执行一些操作(函数很多情况是由语句组成)
def f(x): return 5*x x = 5 + 4 if 10>5: y = 5 + 3
函数
\(\textcolor{Orange}{一个名字,代表一串代码序列(流程)}\)
-
定义函数
由两部分构成:header 和 body
-
header 用于定义函数的接口,即名称和参数
-
当函数被调用时,参数将会作为变量被提供给函数的 body
-
可以提供多个参数(逗号,分号隔开),也可以不提供参数
\(\textcolor{Red}{函数可以有任意多的参数,也可以一个没有}\)
def g(): return 42 print(g()+1) #返回43 -
header 以冒号结尾,后跟body
def double(x): print("我在一个名叫“double”的函数里") return 2*x -
-
body 包含所需执行的语句
-
语句要缩进,不在缩进则函数部分结束
-
return语句
一般会使用 return 语句,让函数返回其结果,
-
一但 return,函数立即结束
-
但不是必须的(),没有时,函数会返回None
def f(x): x+42 print(f(5)) # 输出: None -
返回结果可以不止一个(用逗号隔开),\(\textcolor{Red}{多返回值:}\)
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 -
print() 和 return
print 是打印出结果
return 是获得结构,回应,但不会打印出结果
def cubde(x): print(x**3) print(cubed(3)) ''' 输出: 27 None ''' print(2*cubed(4)) ''' 输出: 64 TypeError: ...(报错) '''
-
-
-
-
函数的调用
- 使用函数名调用
- 函数名后紧跟一个括号
- 括号中为我们设定的参数值,一个不多,一个不少
- 函数返回设定的 return 值
print(double(2)) #会输出4,根据上方定义的函数
内置函数
\(\textcolor{Orange}{python自带函数}\)
-
类型转换
函数 描述 int(x ) 将x转换为一个整数 float(x) 将x转换到一个浮点数 complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。 complex(real ,imag) 创建一个复数(real为实数部分,imag为虚数部分) str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个列表 set(s) 转换为可变集合 dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。 frozenset(s) 转换为不可变集合 chr(x) 将一个整数转换为一个字符 ord(x) 将一个字符转换为它的整数值 hex(x) 将一个整数转换为一个十六进制字符串 oct(x) 将一个整数转换为一个八进制字符串 -
一些基本的数学函数
函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。 exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 fabs(x) 以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0 floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4 log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0 max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。 min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。 modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 pow(x, y) x**y 运算后的值。 round(x n) 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。 sqrt(x) 返回数字x的平方根。
函数组合
\(\textcolor{Orange}{对于嵌套函数而言,先运行内层}\)
代码复杂尝试可视化
helper functions
编写函数是用来解决问题的,可以编写函数来储存那些经常被用到的操作

浙公网安备 33010602011771号