Python学习_01_变量、运算符与数据类型
1. 注释
- 单行注释
# 注释
- 多行注释
''' 注释 '''
或""" 注释 """
2. 运算符
- 算术运算符
操作符 | 名称 | 示例 |
---|
+ | 加 | 1 + 1 |
- | 减 | 2 - 1 |
* | 乘 | 3 * 4 |
/ | 除 | 3 / 4 |
// | 整除(地板除) | 3 // 4 |
% | 取余 | 3 % 4 |
** | 幂 | 2 ** 3 |
- 运算符
操作符 | 名称 | 示例 |
---|
> | 大于 | 2 > 1 |
>= | 大于等于 | 2 >= 4 |
< | 小于 | 1 < 2 |
<= | 小于等于 | 5 <= 2 |
== | 等于 | 3 == 4 |
!= | 不等于 | 3 != 5 |
- 逻辑运算符
操作符 | 名称 | 示例 |
---|
and | 与 | (3 > 2) and (3 < 5) |
or | 或 | (1 > 3) or (9 < 2) |
not | 非 | not (2 > 1) |
- 位运算符
操作符 | 名称 | 示例 |
---|
~ | 按位取反 | ~4 |
& | 按位与 | 4 & 5 |
| | 按位或 | 4 | 5 |
^ | 按位异或 | 4 ^ 5 |
<< | 左移 | 4 << 2 |
>> | 右移 | 4 >> 2 |
- 三元运算符
操作符 | 名称 | 示例 |
---|
if else | 三元运算 | a = 3 if 6 > 5 else 1 |
- 其他运算符
操作符 | 名称 | 示例 |
---|
in | 存在 | 'A' in ['A', 'B', 'C'] |
not in | 不存在 | 'h' not in ['A', 'B', 'C'] |
is | 是 | "hello" is "hello" |
is not | 不是 | "hello" is not "hello" |
- 注意:
- 运算优先级:
- 算术运算>移位运算>位运算>逻辑运算
- 一元运算>二元运算
- 从实际工程出发,个人认为无需过度关注运算优先级,在工程中对优先级辨识度比较低的运算符通常可以加括号来无脑处理
- is和==的区别
- is, is not 对比的是两个变量的内存地址
- ==, != 对比的是两个变量的值
- 当比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的; 当对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
3. 变量
- 变量名可以包括字母、数字、下划线、且不能以数字开头。
- 变量名是大小写敏感。
- 变量无需声明类型且类型在使用过程中可变(一定条件下),首次引用变量前需初始化。
4. 基本数据类型
- Python 是面向对象(object)的语言,数据也是对象,也有相应的属性 (attributes) 和方法(methods)。
- 可以用
dir(object)
来看对象的属性和方法。如果你忘记了对象有哪些属性方法并想通过这种方式来查看显然是不合适的也是不方便的。通常来说IDE环境会有代码补全功能,如Pycharm等。在变量后按下.
系统会自动列出该对象的属性方法以供选择。 - 通过
type(object)
可以查看变量所属对象,且不考虑继承关系。 - 通过
isinstance(object, classinfo)
判断一个变量是否是一个已知的对象的实例,且考虑继承关系。 - 对于
bool
类型,当X
是整型 0
、浮点型 0.0
,容器变量NULL
时,bool(X)
为 False
,其余都是 True
。
- 整型
类型 | 名称 | 示例 |
---|
int | 整型 <class 'int'> | -876, 10 |
- 浮点型
类型 | 名称 | 示例 |
---|
float | 浮点型<class 'float'> | 3.149, 11.11 |
- 布尔型
类型 | 名称 | 示例 |
---|
bool | 布尔型<class 'bool'> | True, False |
5. 基本输出函数
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按
str()
方式进行转换为字符串输出; - 关键字参数
sep
是实现分隔符,比如多个参数输出时想要输出中间的分隔字符; - 关键字参数
end
是输出结束时的字符,默认是换行符\n
,即没有参数时,每次输出后都会换行。; - 关键字参数
file
是定义流输出的文件,可以是标准的系统输出sys.stdout
,也可以重定义为别的文件; - 关键字参数
flush
是立即把内容输出到流文件,不作缓存。
参考文献:
- https://www.runoob.com/python3/python3-tutorial.html
- https://github.com/datawhalechina/team-learning-program