目录
一、常量和表达式
1 + 2 - 3 在编程语言中称为 表达式 , 其运算结果 称为 表达式的返回值
其中 1 , 2 , 3 这种称为 字面值常量 , + - * / 这种称为 运算符 或者 操作符 .
(**表示求次方,如a**2表示a的平方,a**3表示a的3次方,a**b表示a的b次方)
print(1 + 2 - 3)
print(1 * 2 / 3)
print(1 + 2 * 3)
注意: 熟悉 C / Java 的同学可能认为, 2 / 3 结果为 0 (小数部分被截断). 但是在 Python 中得到的结果则是一个小数. 更符合日常使用的直觉
二、变量和类型
2.1 认识变量
变量就是把一个数值使用一个变量名来表示,这个变量名我们就通常叫做变量。
例如求四个分数的平均值:给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的平均值。
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
print(avg)
注意:avg在这个表达式中就是一个变量
2.2 定义变量
a = 10
创建变量的语句非常简单 , 其中a 为变量名 . 当我们创建很多个变量的时候 , 就可以用名字来进行区分 .= 为赋值运算符 , 表示把 = 右侧的数据放到 = 左侧的空间中 .
定义变量的名字必须遵守规则:
- 变量名由数字字母下划线构成.
- 数字不能开头.
- 变量名不能和 "关键字" 重复.
- 变量名大小写敏感. num 和 Num 是两个不同的变量名.
2.3 变量类型
在Python中,变量类型主要有整数 int、浮点数(小数)float、字符串 str、布尔类型
1、整数 int
a = 10
print(type(a))
# print和type都是Python里面的内置函数,print为打印函数,type为查看变量类型
2、浮点数(小数)float
a = 10.25
print(type(a))
注意点:Python 的小数只有 float 一种类型, 没有 double 类型。但是实际上 Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数
3、字符串 str
使用 ' ' 或者 " " 引起来的 称为 字符串, 可以用来表示文本。
a = "你好啊!"
print(type(a))
#可以使用 len 函数来获取字符串的长度,只能用于字符串
a = 'hello'
print(len(a))
注意 : 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别 . 'hello' 和 "hello" 是 完全等价的.1、可以使用 + 针对两个字符串进行拼接 .2、Python中字符串拼接只能字符串与字符串拼接,不能字符串与整数、浮点数、布尔类型进行拼接,否则会报错
![](https://img-blog.csdnimg.cn/direct/528c1ec1b98a447d91bf1acb15f259ce.png)
![](https://img-blog.csdnimg.cn/direct/435f43d346164b448cb2204b970fddef.png)
异常注意点:
![](https://img-blog.csdnimg.cn/direct/9b8e338a58f34848b55ca6dfc8b6cfc4.png)
4、布尔类型
布尔类型是一个特殊的类型 , 取值只有两种 , True ( 真) 和 False ( 假)。
注意点:Java、C++中与Python的布尔类型不同。Java、C++的布尔类型是true、false,Python的布尔类型是True、Flase (Python 的首字母需要大写)
a = True
print(type(a))
2.4 类型转换
在Python里面,如果想要把一个整数或者浮点数转换为字符串,则使用str(), 字符串转换为整数,则使用int(), 字符串转换为浮点数,则使用float()
a = 1234
print(type(a)) # 整数
a = str(a) # 整数转换为字符串
print(type(a)) # 字符串
b = 123.36
print(type(b))
b = str(b) # 浮点数转换为字符串
print(type(b))
c = "123"
c = int(c)
print(type(c))
三、注释
3.1 单行注释
使用 # 开头的行都是注释 .
3.2 文档注释(或者多行注释)
- 可以包含多行内容,
- 一般放在 文件/函数/类 的开头.
- """ 或者 ''' 均可 (等价)
# 这是单行注释
"""
多行注释
"""
'''
多行注释
'''
四、输入输出
4.1 通过控制台输入
python 使用 input 函数 , 从控制台读取用户的输入, 此时 input 输入的数据默认 为 str类型 。( 牢记 )
如果需要将输入的数据转化为int类型或者float类型,就可以使用 类型转换方法 进行转换, 使用int()或者float()
![](https://img-blog.csdnimg.cn/direct/3643da359f31438dbaddb36c31fea8f3.png)
4.2 通过控制台输出
Python 使用 print 函数 输出到控制台。
若我们想要输出一个字符串加变量的形式输出到控制台上,此时就可以使用 f'num = {num}' 形式。
![](https://img-blog.csdnimg.cn/direct/8f7632724caa45faa7e80e7b03503d9a.png)
![](https://img-blog.csdnimg.cn/direct/b9d6383d30d44fbbad4747d88735df45.png)
![](https://img-blog.csdnimg.cn/direct/51d79209f516466a94260bb89d8f4ae9.png)
五、运算符
5.1 算术运算符
像 + (加)、 - (减) 、 * (乘) 、 / (除) 、 % (取模)、 ** (求乘方)、 // (整除) 这种进行算术运算的运算符 , 称为 算术运算符。
注意点1: / 中不能用 0 作为除数,否则会 抛出异常
print(10 / 0)
注意点2: 整数 / 整数 结果可能是小数. 而不会截断 (与Java和C++有区别,注意区分)
注意点3: ** 是求乘方,不光能算整数次方, 还能算小数次方
注意点4: // 是整除, 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五入)
5.2 关系运算符
像 <、<=、 >、 >=、 ==、 != 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.
- <= 是 "小于等于"
- >= 是 "大于等于"
- == 是 "等于"
- != 是 "不等于"
(1) 如果关系符合 , 则表达式返回 True. 如果关系不符合 , 则表达式返回 False
a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)
(2) 关系运算符不光针对整数 / 浮点数进行比较 , 还能针对字符串进行比较。
字符串比较大小规则是 "字典序",Java里面的字典序比较是使用compareTo()方法
a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)
(3) 对于浮点数来说 , 不要使用 == 判定相等, 因为 浮点数相加有小数精度问题需要考虑
print(0.1 + 0.2 == 0.3) 结果是False
注意 : 浮点数在计算机中的表示并不是精确的 ! 在计算过程中 , 就容易出现非常小的误差 .
print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)
5.3 逻辑运算符
在 Python中 and 、or、 not 这一系列的运算符称为 逻辑运算符 . 在 Java和C++中逻辑运算符为 && 、|| 、! ,我们需要注意区别。
- and 并且. 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)
- or 或者. 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)
- not 逻辑取反. 操作数本身为 True, 则返回 False. 本身为 False, 则返回 True
- 对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.
- 对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.
5.4 赋值运算符
(1) = 的使用
= 表示赋值 . 这个我们已经用过很多次了, 注意和 == 区分。 = 表示把数值进行赋值,==表示判断数值是否相等
链式赋值
a = b = c = 10
多元赋值
a,b,c = 10,20,30
交换两个变量:
#方式一
a = 10
b = 20
tmp = a
a = b
b = tmp
print(a,b)
# 方式二
a = 10
b = 20
a,b = b,a
print(a,b)
(2) 复合赋值运算符
Python 还有一些 复合赋值运算符, 例如 += 、 -= 、 *= 、 /= 、 %=
其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理。
注意 : 像 C++ / Java 中 , 存在 ++ 、 -- 这样的自增 / 自减运算符。 Python 中则不支持这种运算, 如果需要使用 , 则 直接使用 += 1 或者 -= 1(牢记)