1. 神奇的print函数(以下所有的空格均用"_"表示)
- 默认的分隔符为空格
print("a","b") #a_b
print("a","b",sep="_") #a_b
print("a=","b") #a=_b
- 传统的字符串相加,以”+“作为分隔符
print("a"+"b") #ab
print("a"+","+"b") #a,b
- python特有的print方法
print("a","b",sep=",") #a,b sep为多参数值分隔符
- 同行输出,默认字符串尾有换行符(\n)
print("a",end = "\n")
print("a",end=" ")
print("b") #a_b
print("a",end="") #end为字符串结尾符
print("b") #ab
print("a","b",sep="") #ab
2. 有趣的赋值操作
- 序列解包:
1.1 赋值x,y,z = 1,2,3
1.2 变量置换x,y=y,x - 链式赋值:
x=y=20 - 增量赋值:
x=x+2 <–> x+=2
3. 用缩进方式创建代码块
代码块的始末:
Bascal:begin——end
C、Java、C#、C++等均以大括号{ }作为代码块的分隔符
Python以冒号作为代码块的开始,同一缩进量为同一代码块,默认为4个空格作为一个缩进量
4. 条件和条件语句
- 布尔值和布尔变量
1.1 布尔类型(boolean)的值有两个,分别为True和False
1.2 系统底层认为“True= =1”,”False= =0“,”==“为二元运算符或者叫逻辑运算符
1.3 系统默认的为False的其他数据类型:None,0,"",(),[],{}
1.4 bool()函数:将其他类型转换为布尔类型(注意:不能将系统默认为False的其他数据类型直接与布尔类型True和False进行比较,需要用bool函数将其转化为布尔类型,然后才能比较) - 条件语句(if、else和elif)
if logic expression1: #逻辑表达式1,if代代码块的开始
statement1
statement2
……
statementn
elif logic expression2: #逻辑表达式2
statement1
statement2
……
statementn
else:
statement1
statement2
……
statementn
otherstatement #if代码块结束
- 嵌套代码块
if logic expression1: #外层逻辑表达式1,if代码块的开始
if logic expresson2: #内层逻辑表达式2
……
……
otherstatement #if代码块的结束
- 比较运算符
关系表达式 | 描述 |
---|---|
x==y | x等于y,比较运算符对大小写敏感 |
x<y | x小于y |
x>y | x大于y |
x>=y | x大于等于y |
x<=y | x小于等于y |
x!=y | x不等于y |
x is y | x和y是同一个对象 |
x is not y | x和y不是同一个对象 |
x in y | x是y容器内部的元素 |
x not in y | x不是y容器内部的一个元素 |
字符串之间的比较
1.依次比较两个字符串中的每一个字母
2. 按照字母ASCII顺序比较
3. 如果一个字符串是另一个字符串的前缀,Python认为长的字符串是更大一些
4. ==比较的是两个对象的值是否相等,is比较的是对象的同一性,意思是不仅要比较两个对象的值相等还要比较两个对象所属的地址是否相等
5. 可以将字符串看作字符或者字符串的容器,进而比较子字符或者子字符串是否在母串中
6. 可以把列表看作母串,可以比较任意元素是否在母串中
- 逻辑运算符
全真则真,有假则假
逻辑运算符 | 逻辑1 | 逻辑2 | 结果 |
---|---|---|---|
not | True | False | |
not | False | True | |
not | True | False | |
not | False | True | |
and | True | False | False |
and | True | True | True |
and | False | False | False |
and | False | True | Flase |
or | True | False | True |
or | True | True | True |
or | False | False | False |
or | False | True | True |
- 断言
- 类似于if语句,在不满足条件时,抛出异常,程序中断
- 在程序可能出现异常的地方进行监控
- 在TDD(test-driven development,测试驱动开发)中经常使用断言
- 使用assert语句,后面跟条件表达式
- 如果想显示异常描述信息,则需要在asssert后面加一个逗号,在逗号后面添加异常描述信息
5. 循环
-
while循环
- 一般格式
while 判断条件(condition): 执行语句(statements)…… else: <statements>
- 执行流程图
- 一般格式
-
for循环
-
一般格式
for <variable> in <sequence>: <statements> else: <statements>
-
执行流程图
-
-
跳出循环
- break:彻底结束循环
- continue:终止本次循环,进行下一次循环
- break和continue适用于for循环
- break和continue使用与while循环
- break和continue支持嵌套循环
- 在嵌套循环时,跳出循环时只能挑出当前层循环,不能跳出最外层循环
-
循环中的else语句
- 可用于for和while循环中
- 应用于在循环中没有执行break子句,且能够正常退出的情况
6. 使用exec和eval执行求值字符串
- exec函数:
- 内部参数为字符串类型
- 执行字符串中的具体命令
- 动态执行代码
- eval函数:
- 类似于exec函数,类似Javascript的eval功能
- 计算Python表达式,并返回结果