2018.7.4
day02回顾
+ - * / // % **
> < >= <= == !=
is is not
not, and, or
+ -
表达式
1
1 + 2
-5
100 + 200 < 300 + 400
abs(-100)
x + 100 if x < 5 else x + 200
语句
赋值语句:
a = 100 + 200
del 语句
del a
表达式语句:
print("hello")
if 语句:
if score >= 60:
print("及格")
else:
print("不及格")
哪些函数?
abs(x)
round(数字, 位数)
pow()
int(x)
float(x)
complex(x)
bool(x)
None, False, 0, 0.0, 0j, '', [], (), {}
input('提示语')
print(1, 2, 3, 4, sep='#', end='\n\n')
if 语句
if 真值表达式:
语句1
elif 真值表达式2:
语句2
...
else:
语句3
if-else 条件表达式
左表达式 if 真值表达式 else 右表达式
r = "及格" if score >= 60 else '不及格'
r = '不及格' if score < 60 else '及格'
pass 语句
布尔运算符
not 布尔非
and 布尔与
or 布尔或
day03笔记
字符串 str
作用:
用来记录文本(文字)信息
字符串的表示方式:
在非注释中,凡是用引号括起来的部分都是字符串
' 单引号
" 双引号
''' 三单引号
""" 三双引号
空字符串的字面值表示方法
''
""
''''''
""""""
非空字符串的表示方法:
'hello'
"world"
'''hello'''
"""world"""
单引和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
示例:
print("I'm a teacher!") # I'm a teacher
print('I am "weimingze"') # I am "weimingze"
三引号字符串的作用:
三引号字符串中的换行会自动转换为换行符
三引号内可以包含单引号和双引号
示例:
s = 'welcome to beijing!\nI like python!\nI am Studing!'
print(s)
s2 = '''welcome to beijing!
I like python!
I am Studing!'''
print(s2)
隐式字符串字面值拼接
s = "I'm a teacher!" 'My name is "weimingze"'
思考:
如果一个字符串同时包含如下字符该怎么办?
' " ''' """
用转义序列代表特殊字符
字符串字面值中,用字符反斜杠(\)后跟一些字符代表特殊的一个字符
反斜杠转义字符表:
\' 单引号(')
\" 双引号(")
\\ 一个反斜杠
\n 换行
\r 返回光标至行首
\t 水平制表符
\v 垂直制表符
\f 换页
\b 倒退
\0 空字符,字符值为零
\xXX XX为两位十六进制表示的字符
\uXXXX XXXX为四个十六进制表示的Unicode16字符
\UXXXXXXXX 8个十六进制表示的Unicode32字符
ASCII 编码:
ASCII字符表:
$ man ascii<回车>
常用的ASCII字符编码:
字符 十进制 十六进制
'0' 48 0x30
'A' 65 0x41
'a' 97 0x61
Unicode
统一编码,分为Unicode16 和Unicode32
序列的概念
字符串就是序列
求序列的长度的函数len
len(x) 返回字符串的字符个数
练习:
试求出以下字符串含有多少个字符?
'1234abcd' # 8
'5\'4"' # 4
'\"A\x34\U00006041' # 4
'\b\n\td\r'
'\\nn\\x41'
raw 字符串(原始字符串)
格式:
r'字符串内容'
r"字符串内容"
r'''字符串内容'''
r"""字符串内容"""
作用:
让转义符号 \ 无效
示例:
s = 'C:\newfile\test.py'
print(s)
print(len(s))
s = r'C:\newfile\test.py'
print(s)
print(len(s))
字符串的运算
+ 加号运算符用于拼接字符串
* 运算符用于生成重复的字符串:
示例:
s = "ABC" + "DEF" # s = 'ABCDEF'
s2 = '123' * 3 # s2 = '123123123'
s3 = 2 * 'ABC' # s3 = 'ABCABC'
注: 字符串只能和整数相乘
+= *= 运算符,与其它赋合赋值运算符规则相同
练习:
写一个程序,打印一个高度为4行的矩形方框
要求输入一个整形数字,此整数代表矩形的宽度,输出此矩形
如:
请输入矩形宽度: 10
##########
# #
# #
##########
请输入矩形宽度: 5
#####
# #
# #
#####
in / not in 运算符:
作用:
用于判断某个字符串是否在 相当前字符中出现过。如果出现过返回True,否则返回False
语法:
对象 in 字符串
示例:
s = 'welcome to tarena!'
'to' in s # True
'weimingze' in s # False
'e t' in s # True
字符串的比较运算
运算符:
> >= < <= == !=
规则:
依次按编码值进行比较,直到最短的字符串结束为止
示例:
'A' < 'B' # True
'ABC' > 'ABB' # True
'ABC' > 'ACB' # False
'AB' < 'ABC' # True
'ABC' > '123' # True
'ABC' == 'abc' # False
'ABCD' != 'DCBA' # True
字符串的索引操作
python的字符串是不可以改变的字符序列
索引 index
语法:
字符串[整数表达式]
说明:
python 序列都可以用索引来访问序列中的对象
python 序列的正向索引是多0开始的,第二个索引为1, 最后一个索引为len(s)-1
python 序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第2个,以此类推,第一个是-len(s)
示例:
s = 'ABCDE'
print(s[0]) # A
print(s[1]) # B
print(s[4]) # E
print(s[-1]) # E
print(s[-5]) # A
练习:
输入一个字符串,打印如下内容:
1. 打印这个字符串的第一个字符
2. 打印这个字符串的最后一个字符
3. 如果这个字符串的长度是奇数,打印中间这个字符
注:
求字符串的长度的函数len(s)
切片 slice
作用:
从一个字符串序列中取出相应的元素重新组成一个字符串序列
语法:
字符串序列[(开始索引b):(结束索引e)(:(步长s))]
注:
小括号()括起的部分代表可省略
说明:
1. 开始索引是切片开始切下的位置,0代表第一个元素,1代表第二个元素,-1代表最后一个
2. 结束索引是切片的终止索引(但不包含终止点)
3. 步长是切片每次获取完当前元素后移动的方向和偏移量
1)没有步长,相当于取值完成后向右移动一个索引的位置(默认为1)
2) 当步长为正数时,取正向切片:
步长默认为1,开始索引默认为0,结束索引默认为len(s)
步长代表一下次索引的取值的增长值
3) 当步长为负整数时,取反向切片
默认的起始位置是最后一个元素,终止位置是第一个元素的前一个位置
示例:
s = "ABCDE"
a = s[1:4] # a = 'BCD'
a = s[3:5] # a = 'DE'
a = s[3:] # a = 'DE'
a = s[:3] # a = 'ABC'
a = s[0:3] # a = 'ABC'
a = s[1:1] # a = ''
a = s[4:2] # a = ''
a = s[0:5:2] # a = 'ACE'
a = s[1::2] # a = 'BD'
a = s[::2] # a = 'ACE'
a = s[::-1] # a = 'EDCBA'
a = s[::-2] # a = 'EDCBA'
a = s[4:0:-2] # a = 'EC'
练习:
1. 写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉后,打印出处理后的字符串
2. 输入任意一个字符串,判断这个字符串是否是回文
回文示例:
上海自来水来自海上
ABCCBA
12321
(回文是指中心对称的文字)
文档地址:
http://code.tarena.com.cn/AIDCode/aid1806/Pbase/python_base_docs_html.tar.gz
$ tar -xzvf python_base_docs_html.tar.gz
python3中常用于序列的函数:
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
字符串编码转换函数:
ord(c) 返回一个字符的Unicode值
chr(i) 返回i这个整数值所对应的字符
示例:
s = "hello"
len(s) # 5
max(s) # 'o'
min(s) # 'e'
练习:
1. 写一个程序,输入一段字符串,如果字符串不为空,把第一个字符的编码值打印出来
2. 写一个程序,输入一个整数值(0~65535), 打印出这个数值所对应的字符
整数转字符串函数:
bin(i) 将整数转换为二进制字符串
oct(i) 将整数转换为八进制字符串
hex(i) 将整数转换为十六进制字符串
字符串构造函数:
str(obj='') 将对象转换为字符串
示意:
'123' + 456 # 出错,不合法
str(True) # 'True'
str(None) # 'None'
str(3.14) # '3.14'
常用的字符串方法:
字符串的方法调用语法(method):
对象.方法名(方法传参)
文档参见:
python_base_docs_html/str.html
练习:
1. 输入一个字符串用变量s绑定
1) 判断您输入的字符串有几个空格
2) 将原字符串的左右空白字符去掉, 打印出剩余的字符个数
3)判断您输入的是否是数字
4) 如果是数字,判断这个数字是否大于100
2. 输入三行文字,让这三行文字在一个方框内居中显示
如输入:
hello!
I'm studing python!
I like python
显示如下
+---------------------+
| hello! |
| I'm studing python! |
| I like python |
+---------------------+
注:请不要输入中文