
第二章_Python语言基本语法元素
字符串(序列类型)
字符串也称字符序列
使用单引号或双引号均可
分类
单行字符串
单行字符串可以嵌套使用单引号和双引号,但是不能嵌套使用单引号或双引号
-
字符串索引
字符串某个字符的检索为索引,即字符位置
语法
字符串或字符串变量[序号]
获取a字串的字串索引为start至stop-1的元素,start、stop和step为整数,step控制切片移动步幅
- 切片结果单引号显示
- 注意:交互式Python环境中仍然无单引号
- print()省略单引号
例子
-
语法
模板字符串.format(逗号分隔的参数)
‘{}曰:学而时习之,不亦{}’.format(‘孔子’,’说乎’)
‘{1}曰:学而时习之,不亦{0}’.format(‘说乎’,’孔子’)
format 方法的格式控制
语法格式
-
六格式控制标记(要按顺序输入参数)
填充
- 用于填充的单个字符空格为默认填充符
- ‘{0:*^25}’.format(‘等级考试’)
- 25个宽度内等级考试居中,其余空位由*填充
- ‘{0:*^25}’.format(‘等级考试’)
- 用于填充的单个字符空格为默认填充符
- 对齐
- 左对齐(默认)
- <
- 右对齐
- >
- 居中对齐
- ^
- ‘{0:^25}’.format(‘等级考试’)
- ^
- 左对齐(默认)
- 宽度
- 槽位设定输出宽度
- 注意:宽度<实际宽度,显示实际宽度
- 槽位设定输出宽度
- ,
- 数字的千位分隔符,适用于整数和浮点数
- .精度
- 对于浮点数
- 显示小数部分的精度
- ‘{0:->24.3f}’.format(123.456789)
- 参数0的值123.456789在24的宽度右对齐显示其余空格由-填充,至于小数点保留精度3位,其余舍弃
- ‘{0:->24.3f}’.format(123.456789)
- 显示小数部分的精度
- 对于字符串
- 显示字符串的最大输出长度
- ‘{0:.3}’.format(等级考试)
- 参数0的值-等级考试只输出3位——等级考
- ‘{0:.3}’.format(等级考试)
- 显示字符串的最大输出长度
- 对于浮点数
类型
x+y
- 连接两个字符串x与y
- xn或nx
- 复制n次字符串x
x in s
len(x)
- 返回字符串x的长度,(以Unicode字符为计数单位,中英文字符及标点符号等都是1个长度单位)
- str(x)
- 返回任意类型x所对应的字符串形式
- chr(x)
- 返回Unicode编码x对应的单字符
- ord(x)
- 返回单字符x表示的Unicode编码
- bin(x)
- 返回整数x对应的二进制数
- hex(x)
- 返回整数x对应的十六进制数的小写形式字符串
oct(x)
str.lower()
- 返回字符串str的副本,全部字符小写
- str.upper()
- 返回字符串str的副本,全部字符大写
- str.split(sep=None)
- 返回一个列表,由str根据sep被分割的部分构成,省略sep默认以空格分隔
- sep为分隔符
- 返回一个列表,由str根据sep被分割的部分构成,省略sep默认以空格分隔
- str.count(sub)
- 返回sub子串出现的次数
- str.replace(old,new)
- 返回字符串str的副本,所有old子串替换为new
- str.center(width,fillchar)
- 字符串居中函数,fillchar参数可选
- width宽度
- fillchar填充字符
- 字符串居中函数,fillchar参数可选
- str.strip(chars)
- 用于移除字符串头尾指定的字符(默认为空格或换行符)或chars中列出的字符序列。
str.join(item)
(‘3’,’2’)<)(‘a’,’b’)
凯撒密码实例
-
两种类型转换
隐式类型转换
10/3
int(x)
- 转换成整数,x可是浮点数或字符串
- 注意字符串是浮点数会报错
- 可先float()转换再int()
- float(x)
- 转换成浮点数,x可是整数或浮点数
str(x)
(指定索引)
- 列表名[索引号]
- 列表名[1][2]
- 二维索引
- (查看某个元素在列表中的个数,不存在则0)
- list.count(元素)
(找到这个元素的索引,返回第一个,不存在则报错)
查看列表元素个数
- len(列表名)
返回列表元素最大值
-
(将两个列表连起来形成新列表)
-
(插入元素,单个元素,指定位置)
-
列表删除元素
(删除列表指定位置元素,默认为最后一个元素,并将删除的元素显示)
列表名.pop()
- 不输入参数默认删除列表最后一个元素,删除后显示删除的元素
-
(删除一个索引片段,也可彻底删除整个列表)
del 列表名[索引号]
- 删除单个元素
- del 列表名[start:stop]
- 删除列表片段
del 列表名
-
列表修改元素
(直接赋值)
-
列表互相复制
等号直接赋值
list1 = list2
copy()
deepcopy()
列表名.reverse()
列表名[::-1]
列表名.sort()
列表名.sort(key = 可迭代对象,reverse = True)
sorted(list)
-
数据类型
数值类型
三种
整数类型(int)
- 4种表示方式
- 二进制(Binary)
- 引号符号
- 0b或0B
- 通过十进制数除2求的余数为二进制
- 引号符号
- 八进制(Octonary)
- 引号符号
- 0o或0O
- 引号符号
- 十进制(Decimal)
- 无引号符号
- 十六进制(Hexadecimal)
- 引号符号
- 0x或0X
- 引号符号
- 二进制(Binary)
- 无取值范围限制
- 计算机以二进制格式存储数值,进制之间的运算结果默认以十进制方式显示
- 4种表示方式
- 浮点数类型(float)
- 小数点形式
- 科学计数法
- 十进制
- 使用e或E作为幂的符号,以10为基数
- 取值收到计算机系统限制
- “不确定尾数”问题
- round()函数可五舍六入去掉
复数类型(complex)
两种序号体系
通过[N:M]格式获取的字符串子串
-
其他注意:
-
输入、格式化输出
输入、输出、格式化
input()函数
变量 = input(‘提示性文字’)
-
eval()函数
用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容
常配合input赋值给一个变量,方便数字的输出(数值类型),因为input输出的都是字符串类型,通过eval可去掉引号,输入数字则为数值类型
print()函数
print(待输出字符串或变量)
- print()输出的字符串,统一表示为单引号
- 可输出多个不同类型变量,用逗号分隔,结果里分隔显示为空格
- +号可连接起来,不空格分隔
- 格式化输出
- print(‘整数{}和整数{}的差是:{}’,format(a,b,a-b))
print()输出结果默认换行,不希望换行可以通过end
print(‘广州华商学院的英文是%s’%华商学院)
print(‘广州华商学院的英文是{0}’.format(华商学院))
f格式化
-
常见转义符
\
-
\
-
\’
-
\”
-
\a
-
\b
-
\e
-
\000
-
\n
-
\v
-
\t
-
\r
-
\f
-
\oyy
-
\xyy
-
填充和对齐
print(‘1.{:^14}’.format(‘陈某某’))
-
print(‘2.{:>14}’.format(‘陈某某’))
print(‘1.{:<14}’.format(‘陈某某’))
-
print(‘1.{:*<14}’.format(‘陈某某’))
-
print(‘1.{:&>14}’.format(‘陈某某’))
-
数值运算
运算符
x = y
-
x + y
-
x - y
-
-x
-
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 == y
- 判断x是否等于y,是返回真否则返回假
- x != y
- 判断x是否不等于y,是返回真否则返回假
- x is y
- 判断x的地址(id)是否等于y,是返回真否则返回假
x is not y
在Python中,任何非零的数值,非空的数据类型的布尔值为True。0、0.0、空类型、空的组织数据类型的布尔值都为False
- True/False
判断布尔值
-
整数之间运算,结果与操作符相关,/除法运算结果:
-
整数与浮点数与复数运算结果:
-
增强赋值操作符
由数值运算符与赋值运算符相连组成
a += 3
-
Python内置数值运算函数
abs(x)
-
pow(x, y)
返回x的y次方
x ** y
-
round(数值,保留位数)
-
max(x1,x2,…,xn)
-
min(x1,x2,…,xn)
-
int(x)
-
float(x)
-
complex(re, im)
-
c.conjugate()
-
程序的格式框架
即段落格式,是Python语法的一部分,可提高代码的可读性和可维护性
缩进
缩进的意义
Python语言通过严格的”缩进”来表示程序逻辑
-
缩进的报错
-
注释
是什么
-
如何使用
单行注释
多行注释
-
如何使用
-
注意事项
-
语法元素的名称
Python语言的基本单位是“单词”,少部分单词由Python语言规定的称为保留字。大部分单词由用户定义,称为标识符,用于标识变量、函数、类、模块和其他对象的名称
命名规则
①长度不受限制,字符必须为字母、数字、下划线_或中文
②变量名第一个字符必须为字母或下划线
③Python区分大小写
④禁止使用Python关键字命名
函数命名小写字母
类命名驼峰命名
变量
概念
-
赋值
赋值语句并不会复制指向的值,而只是标记和重新标记既有值。因此,无论变量指向的对象有多大,多复杂,赋值语句的效率都非常高。
- 多变量赋值
- x,y,z = 1,’China’,”中国”
- 注意:x=2,y=3是错误语法,多变量赋值通过x,y=2,3
- 连续赋值
- x=y=z+1
- 先算z+1赋给y再把y赋给x
- x=y=z=1
- 1赋给z再z赋给y,y赋给x
- x=y=z+1
变量交换值
-
变量存储地址查看
-
保留字
也称为keyword关键字。由语言内部定义并保留使用。Python3.X中35个保留字
大小写敏感
-
标识符
用于标识变量、函数、类、模块和其他对象的名称
