python基础语法
注释——#标注的文本
数字
整数,不区分long和int
进制0xa,0o10,0b10
Bool,2个值Ture,False
浮点数
1.2,3.1415,1.46e9等价于1.46*109
复数,1+2j字符串
使用’’ “”单双引号引用字符的序列
‘’ “” ‘’’ ’’’ 单双三引号,可以跨行,可以在其中自由的使用单双引号
在字符串前面加上r或者R前缀,表示该字符串不做特殊处理转义序列
\ \
\ t
\ r
\ n
\ '
\ ""
前缀r,把里面所有字符当普通字符对待缩进
未使用C语言等花括号,而采用缩进方式表示层次关系
约定使用四个空格缩进续行
在行尾使用\
如果使用各种括号**,认为括号是一个整体,内部跨行不用\标识符
一个名字,用来指代一个值
只能字母数字下划线
只能以字母下划线开头
不能是python的关键字,例如def,dass就不能作为标识符
python 是大小写敏感的
约定:
不允许使用中文
不允许使用歧义单词,如class_
在python中不要随意使用下划线开头的标识符常量
一旦赋值就不能改变值得标识符
python中无法定义常量字面常量
一个单独的量,例如12,abc 2345654.03e-9变量
赋值后可以改变值的标识符
python的语言类型
python是动态语言,强类型语言静态编译语言: 事先声明变量类型类型不能改变 编译时检查动态编译语言: 不用事先声明类型,随时可以赋值为其他类型 编程时不知道是什么类型,很难推断强类型语言: 不同类型之间操作,必须先强制类型转换成同一类型,print('a'+1)弱类型语言 不同类型间可以操作,自动隐式转换,JavaScript中console.log(1+'a')
运算符Operator
算术运算符
/ % ** 加 减 乘 除 取余 平方
自然除/结果是浮点数,整除为//。位运算符
& | ~ ^ << >> 与 或 非 向左位移 向右位移 (转换为二进制之后)
常用方式:乘除2的倍数,32//4相当于 32>>2比较运算符
= = ! = > < >= <=
返回一个bool值
1<'1' 1=='1'逻辑运算符
与或非 and or not
短路运算符
and 如果第一个字为False,后面就没有必要计算了,这个逻辑表达式一定是False
or 如果第一个表达式是 Ture,后面就没有必要计算了,这个逻辑表达式一定是True赋值运算符
a= min(3,5)把3和5中最小的赋值给a
+= -= *= %= 等
x=y=z=10成员运算符
in not in身份运算符
is is not原码,反码,补码,负数表示法
原码
5=>0b101 1=>0b1 -1=> -0b1 bin(-1)
反码
正数将原码按位取反负数符号位不变,其余按位取反
补码
正数的补码是其本身;负数符号位不变,其余按位取反后+1
负数表示法
数字电路的CPU中的运算器实现了加法器,但是没有减法器,减法是转换成加法
负数在计算机中使用补码存储,-1的补码是1111 1111
5-1 => 5+(-1)直觉上是0b101-0b1,其实计算机中是0b101+0b11111111,溢出位舍弃。
~12为什么是-13?
10^9等于? 10^-9等于? 为什么