python基础语法

  最近在学习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
>>>