目录

  • 变量
  • 字符串
  • 字符串的基本操作
  • 数字和运算符
  • 算术运算符
  • 整数
  • 浮点数
  • 复数
  • 布尔
  • 二进制
  • 比较运算
  • 赋值运算
  • 数据类型转换
  • 条件分支与循环
  • `if`条件分支
  • `while`循环
  • `for`循环
  • 循环控制语句
  • 复杂条件及处理


变量

在Python语言中,变量在指定的同时,必须强制赋初值,否则编译器会报错。

  1. 多个变量赋值—Python允许同时为多个变量赋值:one=two=three=10one,two,three=10,20,30onetwothree三个变量在内存中指向同一个地址,获得同一个值10
  2. 变量值类型—Python语言变量值在赋值后才被隐性确定a=0a就是整数类型;b=OKb就是字符串类型;c=Truec就是布尔类型。
  3. Python语言的基本类型包括:字符串(String)、数字(Numeric)、列表(List)、元组(Tuple)、字典(Dictionary)五大类。

字符串

字符串由任意字节的字符组成,用单引号('')、双引号("")或三引号('''''')。三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

中文全角一个字符占两个字节

字符串的基本操作

  1. 字符串值读取:
    a. 存储方式与C++类似,可利用下标进行访问;
    b. 也可利用切片进行访问name[0:6]读取变量name的下标从06的子串。列表、元组都可以进行切片(Slice,[左下标:右下标])操作,右下标的值需要比确定的下标的值多1,即可看作是左闭右开区间
    c. 带省略号的下标切片:[:右下标][左下标:][:] d. 带步长的切片读取:[左下标:右下标:步长] e. 负数的下标读取:用负数下标从右到左读取对应的字符串
    f. 超出字符串的范围会报错
  2. 字符串值合并
    对于不同的字符串可以使用+号进行合并操作
  3. 字符串值修改
    对字符串的修改师通过读取子字符串合并的方式实现,不能直接对字符串做如下修改:name[6]='C'
name='three cool cats!'
new_name=name[:11]+'dogs'
print(new_name)
  1. 字符串值删除
    整个字符串的删除可以采用del(name)的方式
  2. 其他操作
    a. 获取字符串长度len(name):Python2.X把一个汉字看成两个长度,Python3.6.3版本看成一个长度
    b. r/R原始字符串控制符:将字符串中的转义字符忽略
    c. 重复输出字符串:print('cat'*2) d. 格式字符串(%):print('tom's name is %d'%(age))%d转换为10进制

数字和运算符

Python语言的数字与数学分为整数(Integer)、浮点数(Float)、复数(Complex)和布尔(Boolean)。

算术运算符

符号

意义

+


-


*


/


%

取余

//

取整

整数

Python语言里整数的长度不受限制,仅受可用(虚拟)内存的限制,因此可以实现无穷大/小的实现。

浮点数

由于计算机内存中存储浮点数的位数有限,所以超过指定长度后,末尾将采取近似值处理。

复数

由实部和虚部组成,1+2j,通过.real.imag实现实部和虚部的检索。

布尔

Python中布尔值用TrueFalse表示,用于逻辑判断,也是一种特殊的整数类型,True可以用1替换,False可以用0替换。
布尔逻辑运算符包括:andornot

二进制

0b为二进制,0o为八进制,0x为十六进制

运算符

名称

&

按位与

|

按位或

^

按位异或

~

按位取反

>>

右移

<<

左移

比较运算

比较运算符可以支持对字符串、整数、列表、元组、字典等进行比较。
Python3.6.3允许整数和字符串进行比较。

赋值运算

Python支持增量赋值,可以简化内存操作(由三个数字地址空间变成了两个地址空间),所以这种赋值方式也经常被使用。

数据类型转换

  1. 转化为整数的函数:int(x)x为数字或字符串型的数字,不支持复数
  2. 转化为浮点数的函数:float(x)x为数字或字符串型的数字,不支持复数
  3. 转化为复数的函数:complex(x,y)xy为整数、浮点数、布尔数;当只有x参数时,y=0,可以是字符串型整数、浮点数、布尔数。
  4. 转化为字符串的函数:str(x)
  5. 转化为二进制的函数:bin(x),x为非负整数
  6. 转化为八进制的函数:oct(x)x为非负整数
  7. 转化为十六进制的函数:hex(x)x为非负整数
  8. 把十进制数转化为ASCII字符:chr(x)x为十进制数
  9. 把ASCII字符转化为十进制数:ord(x)x为ASCII码字符

条件分支与循环

if条件分支

  1. 格式一:单分支判断
if True:
    print('ok')
  1. 格式二:双分支判断
if 5>6:
    print('5>6')
else:
    print('5<6')
  1. 格式三:多条件分支判断
if 5>6:
    print('5>6')
elif 5==5:
    print('5=5')
else:
    print('5<6')

while循环

while True:
	print('true')

for循环

  1. 自定义集合for循环
for item in items:
	print(item)
  1. 内建分为函数range实现for循环
for i in range(9):
	print(i)			#1 2 3 4 5 6 7 8 9
for i in rangr(1,5,2):
	print(i)			#1 3

循环控制语句

  1. break:可通过break语句立刻种猪并跳出循环
  2. continue:继续循环,忽略continue语句后的代码执行

复杂条件及处理

  1. 成员运算符(in/not in):对于具有集合概念的对象,可通过成员运算符进行快速判断。
  2. 身份运算符(is/is not):代码在内存中运行时会生成很多实体,通过身份运算符判断两个标识符是否引用自同一个地址。
  3. 运算符优先级