最近在学习Python相关的知识,学习了很久,知识真的是很长时间不用就会忘记,重新学习看网上的文档很混乱,还是自己总结比较好,需要用的时候找起来也方便。python是一门解释性语言,动态语言,强类型语言,这些又是什么意思呢,查看网上的解释和自己的理解,分享一下。
文章主要涉及Python以下内容:
- 转义序列
- 算数运算符
- 位运算符
- 比较运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
语言分类
编译语言:编辑器把代码程序编译成一个文件才能执行的语言,(例如.exe)
解释语言:一边解释,一边执行
两者的区别:
白话解释:编译语言就像炒菜,非要把菜炒好了才能吃
解释语言就像吃火锅,可以一边煮一边吃
静态和动态语言
静态语言:使用前必须声明变量类型,类型不能再改变,编译的时候会检查
动态语言:不用事先声明变量,随时可以赋值为其他类型
强弱类型语言
强类型语言:不同类型之间操作,必须先“强制类型转换”为同一类型,如python print('a'+1)
弱类型语言:不同类型之间可以操作,自动隐士转换,如javaScript中console(1+'a')
python基础语法:
转义序列
转义符主要有:\\ \t \r \n \' \"
\用法:
>>> print('c:\user\test')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
>>> print('c:\\user\\test')
c:\user\test
>>>
算数运算符
算数运算符主要有6种:+ - * / % **
自然数除/的结果是浮点数,整除//
例子:
>>> 2 * 3 乘
6
>>> 6 / 3 除
2.0
>>> 6//3 整除
2
>>> 10 % 3 取模
1
>>> 2 ** 2 幂运算
4
位运算符
位运算符主要有6种:
&:按位与运算,参与的运算的2个值,如果相应位都是1,则该位的结果为1,否则为0
|:按位或运算,只要对应的2个二进制有一个为1时,则结果为1
^:按位异或运算,当2个对应的二进位想异时,结果为1
~:按位取反运算,对数据的每个二进制位取反,即1变成0,0变成1
<<:左移位运算,运算的各二进位全部左移若干位,高位丢弃,低位补0
>>:右移位运算,运算的各二进位全部右移若干位,高位丢弃,低位补0
例子:
>>> a=60
>>> b=13
>>> a & b
12
>>> a | b
61
>>> ~a
-61
>>> a ^ b
49
>>> a << 2 向左边移动2位
240
>>> a >> 2 向右边移动2位
15
>>>
解答“&运算”为什么结果是12:
60在二进制表示:0011 1100
13再二进制表示:0000 1101
按&位运算符号的定义,结果为:0000 1100
比较运算符
比较运算符主要有6种:
==:比较对象是否相等
!=:,比较两个对象是否不相等
>:返回a是否大于b
<:返回a是否小于b
>=:返回a是否大于等于b
<=:返回a是否小于等于b
所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
>>> a=60
>>> b=13
>>> a == b
False
>>> a != b
True
>>> a > b
True
>>> a < b
False
>>> a >= b
True
>>> a <= b
False
>>>
逻辑运算符
逻辑运算符主要有3种:
and 如果 a 为 False,a and b 返回 False,否则它返回 b 的计算值。
or 如果 a 为 True,它返回 a 的值,否则它返回 b 的计算值。
not 如果 a 为 True,返回 False 。如果 a 为 False,它返回 True。
>>> a and b a为True所以返回b的值
13
>>> a or b a为True所以返回a的值
60
>>> not a a为True所以返回False
False
成员运算符
成员运算符主要有2种:
in:如果在指定的序列找打了值返回True,否则为False
not in:如果没有在指定的序列找打值返回True,否则返回True
>>> lst =(1,3,6,8,4)
>>> 2 in lst
False
>>> 3 in lst
True
>>> 9 not in lst
True
>>> 8 not in lst
False
>>>
身份运算符
身份运算符主要有2种:
is:判断2个标识符是不是引用自一个对象
is not:判断2个标识符是不是引用自不同对象
>>> a = 20
>>> b = 20
>>> id(a)
140710943307184
>>> id(b)
140710943307184
>>>
>>> a is b
True
>>> id(a) is id(b)
False
>>> a is not b
False
>>> id(a) is not id(b)
True
>>>