show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- -1开方我们得到了虚数
- 虚数和实数构成复数
- 复数可以进行加减乘除运算
- 数字分成三种
- 整型
- 浮点型
- 虚数型
- 都可以进行一元运算unary
-
-
- ~
-
- 算术运算符我们学了不少了
- 用运算符把两个操作数组合起来
- 这个组合叫什么有名字吗?🤔
- 总共有什么样的运算呢?
- 加减乘除乘方指数对数等等
- 总共分两类
- 用运算符的
- 用函数的
- 我们先看看函数
- abs
- pow
- log、log2、log10
- ceil、floor、round
- 运算符有什么呢?
- 加减乘除乘方
- 回顾加法运算过程
- 首先明确运算是加法
- 确认左右有操作数类型
- int、float、Fraction、complex各有各的加法过程
- 真的相加
- 结果放在内存里
- 如果没有赋值给谁就丢了
- 如果左右操作数不一致怎么办?
- 转化格式
- 其他类型转整型用int
- 转float用float
- 转string用str
- 运算符的作用是什么?
- 运算符可以用来建构表达式
- 表达式可以用来计算具体的值
- 具体什么是表达式?
- 有定义吗?
- An expression is a construct made up of variables, operators, and method invocations, which are constructed according to the syntax of the language, that evaluates to a single value.
- 表达式是由变量运算符和函数调用组成的
- 根据具体语言的语法
- 可以得到唯一的值
- 1+1 就是一个加号构成的表达式
- 他返回唯一的值2
- 最后我们把这个值赋给了变量iNum
- iNum = 1 + 1
- 也是一个表达式
- 赋值表达式
- 他先计算等号右边表达式的值
- 然后再赋给左边的变量iNum
- 表达式是由变量和运算符组成的
a = 9
b = 12
c = 3
x = a - b / 3 + c * 2 - 1
y = a - b / (3 + c) * (2 - 1)
z = a - (b / (3 + c) * 2) - 1
print("X = ", x)
print("Y = ", y)
print("Z = ", z)
- 先乘除
- 后加减
- 有括号的要优先
- 乘方优先级最高
- 表达式是由变量、常量和运算符一起组成的
- 会在内存中生成一棵树
- 这棵树是什么表达式生成的呢?
- 表达式的目标是把这些运算符连接的变量按照优先级连接起来
- 最终生成一棵树
- 通过这个树计算出一个唯一的值
- 俗称表达式求值
- 下面有个难题
- 让你求值
- 请对上面的表达式求值
- 我们已经学习了其中的一些
- += 是什么运算符呢?
- 增强赋值运算符
- Augmented Assignment
- x += 1
- 等价于 x = x + 1
- 先计算左边表达式的值
- 然后和右操作数进行运算
- 最后把右操作数的值修改
- 字符串可以用+=么?
- 可以!
- 而且左操作数在左边
- 右操作数在右边
- 总共有什么增强运算符呢?
- +=
- -=
- *=
- /=
- //=
- %=
- **=
- 我们这次研究了运算符和操作数构成的表达式
- 表达式可以非常复杂
- 但是也有自身的优先级关系
- 先乘除后加减
- 有括号的要优先
- 可以有赋值运算符
- 对应赋值表达式
- 还有增强赋值运算符
- 我们现在也没有解决ABC当时很大的问题
- 读写文件
- python能读写文件吗?🤔
- 下次再说👋