一 字符串特性
- 字符串属于不可变序列
- 格式化字符串,推荐使用format方法
- 对于短字符,python支持驻留机制
- 支持replace(),maketrans()和translate()方法以及正则表达式进行内容替换
- split(),rsplit()分割字符串,join()进行连接
- eval()操作
- string字符串常量
- re:regular expression 正则表达式
- 可以使用re模块的方法进行字符串处理,或将模式编译为正则表达式对象,再调用对象
- 正则表达式的子模式是作为一个整体来对待的,使用子模式扩展语法实现更复杂字符串处理。
2 字符串
- 转义字符
- 格式化
- 内建函数(后延)
转义字符
- 用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键
- 借助反斜杠字符"",一旦字符串中出现反斜杠,则反斜杠后面一个或几个字符表示已经不是原来的意思了,进行了转义
- 在字符串中,一旦出现反斜杠就要加倍小心,可能由转义字符出现
- 不同系统对换行操作有不同的表示
- windows: \n
- Linux: \r\n
字符串的格式化
- 把字符串按照一定格式打印或者填充
- 格式化由两种方法
- 利用百分号(%)
- 利用format函数
利用百分号格式化
- 在字符串中,利用%表示一个特殊的含义,表示对字符进行格式化
- %d: 此处应该放入一个整数
- %s: 表示此处应该放入一个字符串
name = 'zhangsan'
age = 25
price = 4500.225
print('my name is %s'%(name))
print('i am %d'%(age)+' years old')
print('my price is %f'%(price))
#保留指定位数小数(四舍五入)
print('my price is %.2f'%(price))
结果为
my name is zhangsan
i am 25 years old
my price is 4500.225000
my price is 4500.23
format函数格式化字符串
- 直接用format函数进行格式化
- 推荐使用这种方法
- 在使用上,以{}和:代替%号,后面用format带参数完成
对于变量较多的情况,加入加’+‘或者’%'相对比较麻烦,这种情况下可以使用format函数
name = 'zhangsan'
age = 25
price = 4500.225
info = 'my name is {my_name},i am {my_age} years old,my price is {my_price}'\
.format(my_name=name,my_age=age,my_price=price)
print(info)
结果为:
my name is zhangsan,i am 25 years old,my price is 4500.225
3 None
- 表示什么都没有
- 如果函数没有返回值,可以返回 None
- 用来占位置
- 用来接触变量绑定
4 在字符串中加入变量有三种方法:
1、+ 连字符
name = 'zhangsan'
print('my name is '+name)
#结果为 my name is zhangsan
2、% 字符
3、format()函数
5 其他
二 表达式
- 由一个或者几个数字或者变量和运算符组合成的一行代码
- 通常会返回一个结果
运算符
- 由一个以上的值经过变化得到新值的过程就叫运算
- 用于运算的符号叫运算符
- 运算符分类:
- 算数运算符
- 比较或者关系运算符
- 赋值运算符
- 逻辑运算符
- 位运算
- 成员运算
- 身份运算符
算数运算符
- 进行算数运算的符号
- python没有自增自减运算符
比较运算符
- 对两个变量或者值进行比较的运算符
- 比较的结果是布尔值,即True/False
逻辑运算符
-
对布尔值进行计算的符号
-
and 逻辑与
-
or 逻辑或
-
not 逻辑非
-
python中逻辑运算没有异或运算
-
运算规则:
- and看做乘法, or看做加法,
- True看做1, False看做0
- 则逻辑运算就能转换成整数数学运算
- 最后结果如果是0则为False, 否则为True
-
逻辑运算的短路问题
- 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
成员运算符号
-
用来检测某一个变量是否是另一个变量的成员
-
in
-
not in
身份运算
- is: 用来检测两个变量是否是同一个变量
- 语法就是 var1 is var2
- is not: 两个变量不是同一个变量
运算符的优先级问题
-
永远记住,括号具有最高优先级
-
优先级表格
** 指数 (最高优先级) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法减法 >> << 右移,左移运算符 & 位 'AND' ^ | 位运算符 <= < > >= 比较运算符 <> == != 等于运算符 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 not or and 逻辑运算符
三 程序结构
- 顺序
- 分支
- 循环