day02回顾:
运算符:
比较运算符:
> < >= <= == !=
布尔运算符
not and or
bool(x) 为假值的情况:
None, False, 0, 0.0, 0j '' [] ()
一元运算符:
+ (正号) -(负号)
if 语句(分支语句)
if a > b or c > d:
...
elif e < f:
...
else:
...
- 条件表达式:
表达式1 if 真值表达式 else 表达式2
函数:
-
函数调用:
- 函数名 (调用传参列表)
- int(x=0)/int(‘字符串’, base=10)
- float(x=0)
- complex(real=0.0, image=0.0)
- bool(x)
- abs(x)
- round(x, 位数)
- round(123.456789, 2)
- pow(x, y, z=None)
- 函数名 (调用传参列表)
-
输入输出函数:
- input(‘提示字符串’)
- print(value, …, sep=’ ‘, end=’\n’)
-
help(字符串/函数名/类名…) 帮助函数
语句:
-
显式换行 \
-
隐式换行: () [] {}
-
pass 语句
day03 笔记:
字符串 str
-
作用:
- 用来记录文本(文字)信息
-
字符串的表示方法:
-
在非注释中,凡是用引号括起来的部分都是字符串
- ’ 单引号
- " 双引号
- ‘’’ 三单引号
- “”" 三双引号
-
空字符串的字面值表示方法:
- ‘’
- “”
- ‘’’’’’
- “”""""
- 注: 空字符串的布尔值为False
-
非空字符串的字面值表示方法:
‘hello’
“hello”
‘’‘hello’’’
“”“hello”"" -
单引号和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符- 示例:
print(“I’m teacher”)
print(‘my name is “weimingze”’)
- 示例:
-
三引号字符串
用’’'或"""括起来的内容为三引号字符串
- 作用:
三引号字符串中的换行会自动转换为换行符’\n’
三引号内可以包含单引号和双引号 - 示例:
print(‘welcome to beijing.\nI like python!\n I am Studing…’)
#用三引号写为:
print(’’'welcome to beijing.
I like python!
I am Studing""")
-
-
式字符串字面值拼接
示例:
s = “I’m " ‘“giant”’ '这是三双引”""’ “这是三单引’’’”
print(s) -
用转义序列代表特殊字符
字符串字面值中用字符反斜杠() 后跟一些字符代表特一个字符
转义格式 含义\’ 代表一个单引号 \ " 代表一个双引号 \n 一个反斜杠 \r 返回光标至行首字符 \t 水平制表符 \v 垂直制表符 \b 倒退字符(backspace) \f 换页 \0 空字符(字符值为零) \0oo oo为两位八进制表示的字符 \xXX XX为两位十六进制表示的字符 \uXXXX XXXX为四位十六进制表示的Unicode 16字符 \UXXXXXXXX Unicode32 的十六进制表示的字符 -
ascii 编码
$ man ascii # 查看所有英文字符的编码 -
常用的ASCII编码:
字符 十进制 十六进制
‘0’ 48 0x30
‘A’ 65 0x41
‘a’ 97 0x61 -
求字符串长度的函数:
len(s) 返回字符串的字符的个数 -
练习:
求以下字符串有几个字符
‘1234abcd’
‘5’4"’ # 4
‘"A\x34\056’ # 4
‘\r\n\t\z’ # 5 -
raw 字符串(原始字符串)
-
字符串的运算
运算符:
+ += * *=
+ 加号用于拼接字符串
+= 用于原字符串与右侧字符串拼接后替换原变量
示例:
s = “abcd” + “123” # s = ‘abcd123’
s += “ABCD” # s =‘abcd123ABCD’
* 运算符生成重复的字符串
x = “ABCD” * 3 # x = ‘ABCDABCDABCD’
注: 字符串只能和整数相乘
x = “123”
x *= 2 # x= ‘123123’ -
练习:
写一个程序,打印一个高度为4行的矩形方框
如:
请输入矩形宽度: 10
打印:
####################
-
字符串的比较运算:
-
运算符:
< <= > >= == !=- 规则:
依次按编码值进行比较,一旦不同,比较将结束
当编码值与长度完全相同时两个字符串相等
示例:
‘A’ < ‘B’ # True
‘ABC’ > ‘ABB’ # True
‘ABC’ < ‘ACB’ # True
‘ABC’ > ‘abc’ # False
‘AB’ < ‘ABC’ # True
‘ABC’ != ‘CBA’ # True
‘AD’ > ‘ABCD’ # True
- 规则:
-
in / not in 运算符
- 作用:
in 用于序列,字典,集合中,用于判断某个值是否存在于容器中,如果存在返回True,否则返回False
not in 写 in的返回结果相反 - 格式:
对象 in 序列 - 示例:
x = ‘welcome to tarena’
‘to’ in x # True
‘beijing’ in x # False
‘123’ not in x # True
- 作用:
-
-
索引运算 index
python 字符串是不可以改变的字符序列- 语法:
字符串[整数表达式]
说明:- python序列都可以用索引(index) 来访问序列中的对象
- python 序列正向索引是从0开始的,第二个索引为1, …, 最后一个索引为len(s)-1
- python序列的反向索引是从-1 开始的,-1代表最后一个,-2 代表倒数第二个,…, 第一个是-len(s)
- 示例:
s = ‘ABCDE’
print(s[1]) # B
print(s[4]) # E
print(s[-1]) # E
print(s[-5]) # A
print(s[-6]) # IndexError 索引错误
- 语法:
-
练习:
输入一个字符串,打印如下内容:- 打印这个字符串的第1个字符
- 打印这个字符串的最后一个字符
- 如果这个字符串的长度是奇数,打印中间这个字符
注:
求字符串长度的函数是 len(s)
-
字符串切片操作 slice
从字符串序列中取出相应的元素,重新组成一个新的字符串序列- 语法:
字符串[(开始索引b):(结束索引e)(:(步长s))]
注: 小括号() 括起来的部分代表可省略 - 说明:
- 开始索引是切片开始切下的位置,0代表第一个元素…,-1代表最后一个索引(与索引规则相同)
- 结束索引是切片的终止索引(但不包含终止点)
- 步长是切片每次获取完当前元素后移动的方向和偏移量
- 没有步长,相当于步长为1(默认)
- 当步长为正数时,取正向切片,开始索引默认为0,结束索引默认为最后一个元素的下一个位置
- 当步长为负数时,取反向切片,默认起始位置是最后一个元素,终止位置是第一个元素的前一个位置
- 示例:
s = “ABCDE”
a = s[1:4] # s = ‘BCD’
a = s[1:] # s = ‘BCDE’
a = s[:4] # s = ‘ABCD’
a = s[:] # s = ‘ABCDE’
a = s[2:2] # s = ‘’ 空字符串
a = s[0:5:2] # s=‘ACE’
a = s[::-1] # s=‘EDCBA’
a = s[::-2] # s=‘ECA’
a = s[3:0:-1] # s=‘DCB’
a = s[3:0:-2] # s=‘DB’
- 语法:
-
练习:
1.写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉后,打印出处理后的字符串- 写一个程序,输入任意一个字符串,判断这个字 符串是否是回文
(回文是指中心对称的文字)
如:
上海自来水来自海上
ABCCBA
12321
- 写一个程序,输入任意一个字符串,判断这个字 符串是否是回文
-
python运算符的优先级:
字符串方法连接 -
python3 中常用的序列函数
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素- 示例:
s = “hello”
print(len(s)) # 5
print(max(s)) # o
print(min(s)) # e
- 示例:
-
字符编码转换函数
ord© 返回一个字符c的Unicode编码值
chr(i) 返回i这个值所对应的字符
示例:
c = ord(‘A’)
print© # 65
ch = chr© # ch=‘A’
print(ch) # A -
练习:
- 写一个程序,输入一个字符串,如果字符串不为空,则把第一个字符的编码值打印出来
- 写一个程序,输入一个整数(0~65535),打印出这个数值所对应的字符
-
整数转字符串函数:
bin(i) 将整数转为二进制字符串
oct(i) 将整数转为八进制字符串
hex(i) 将整数转为十六进制字符串
示例:
a = 13
print(bin(a)) # 0b1101
print(oct(a)) # 0o15
print(hex(a)) # 0xd -
字符串构造函数
str(obj=’’) 将对象转换为字符串
示例:
“123” + 1 # 报错
“123” + str(1) # 1231 -
python3中常用的字符串方法(method)
方法的调用语法:
对象.方法名(方法传参)
示例:
‘abc’.isalpha() # 对的
123.isalpha() # 错的
文档参见:
python_base_docs_html/str.html
练习:
- 输入一个字符串,把输入的字符串中的空格全部去掉(包括字符串中间的空格)
- 打印原字符串及长度
- 打印处理后的字符串及长度
- 写程序,输入三行文字,让这三行文字在一个方框内居中显示
如:
请输入: hello!
请输入: I’m studing python!
请输入: I like python!
打印如下:
+---------------------+
| hello! |
| I'm studing python! |
| I like python! |
+---------------------+
注: 不要输入中文