1. 数据类型
a.整型(int)
—八进制表示 0o/0O+数字
—十六进制表示 0x/0X+数字
—二进制表示 0b/0B+数字
b.浮点型(float)
浮点数之间的运算存在不确定尾数的情况,是由于计算机中进制转换的问题。
可以采用round(x,d)函数处理:对x四舍五入,d是小数截取位数。
科学计数法:a e b=a*10^b
a=2.3
a = 10.23e3 #------>10230
0.1+0.2==0.3 #------>False
round(0.1+0.2,1)==0.3 #//------>True
c.布尔型(boolean)
整型的一个子类,值只有True和False
d.复数型(complex)
z.real用于获取实部
z.imag用于获取虚部
s=2+3j
print (s)
#------>(2+3j)
组合数据类型
e.集合类型
- 集合元素之间无序,每个元素唯一,不存在相同元素
- 集合元素不可更改,不能是可变数据类型
(不可变数据类型:整型、浮点型、复数、元组……)
(可变数据类型:列表、集合或字典) - 集合用大括号{}表示,元素间用逗号分割
- 建立集合类型用{}或set()
- 建立空集合类型,必须用set()//可变集合
- frozenset()//返回一个冻结的集合,冻结后集合不能再添加或删除任何元素,也可理解为不可变集合。
集合间操作
操作符及应用 | 描述 |
---|---|
S<=T或S<T | 返回True/False,判断S和T的子集关系 |
S>=T或S>T | 返回True/False,判断S和T的包含关系 |
集合处理方法
操作函数或方法 | 描述 |
---|---|
s.clear() | 移除s中所有元素 |
s.pop() | 随即返回一个s的一个元素,更新s,若s为空产生Key Error异常 |
f.序列类型
- 序列是一维元素向量,元素类型可以不同
- 元素间由序号引导,通过下标访问序列的特定元素
序列处理函数及方法
(1)字符串(str)
由0个或多个字符组成的有序字符系列,由一对单引号或一对双引号表示,可以对其中的字符进行索引。
-表示方法
-由一对单引号或一对双引号表示,仅表示单行字符串
"hello world"
'hello world'
-由一对三单引号或三双引号表示,可表示多行字符串
'''hello
world'''
"""hello
world"""
-字符串序号
-字符串索引和切片
-索引:返回字符串中单个字符——<字符串>[M]
-切片:返回字符串中一段字符串——<字符串>[M:N]或<字符串>[M:N:K]
M:开始位置(包含)
N:结束位置(不包含)
K:步长
-转义字符
如:
\"双引号
\b回退
\n换行
\r回车
-字符串操作符
-字符串处理函数
补充:Unicode编码
-字符串处理方法
补充1:关于str.strip(chars)方法
- s.lstrip(chars) 删除 s 字符串中开头处,位于 chars 删除序列的字符
- s.rstrip(chars) 删除 s 字符串中结尾处,位于 chars 删除序列的字符
补充2:关于str.split()方法
- split方法(函数)有两个参数,sep 和 maxsplit,分别代表分隔符和最多分几份
- 返回一个字符串列表,使用 sep 作为分隔符号,最多分隔成 maxsplit 份
- 如果未指定 sep,或者它的值为 None,则任何空白的字符串都是分隔符,空的字符串也会从结果中删除
补充3:字符串查找 str.find(),如果找到了,就返回其偏移值,如果没找到,就返回-1.
s='abcdefgh'
print(s.find('efg'))
---->4
print(s.find('xy'))
---->-1
-字符串格式化
format()方法+槽机制
.format格式的优势:
- 无需理会数据类型的问题
- 单个参数可以多次输出,参数顺序可以不同
- {}中可以填写后面元组中的下标,也可以填写后面的字段名
(2)元组(tuple)
- 一旦被创建,就不能被修改
- 使用小括号()或tuple()创建,元素间用逗号分隔
- 可以使用或不使用小括号
- 通用序列的操作方法,无单独操作方法
- 当元组中只有一个元素是,一定要注意加","
tup=(100)
type(tup)
----->int
tup=(100,)
type(tup)
------>tuple
元组的内置函数:
(3)列表(list)
- 创建后可以随意被修改
- 使用方括号[]或list()创建,元素间用逗号分隔
- 列表中各元素类型可以不同,无长度限制
列表的操作函数和方法
补充:ls.extend() 在列表尾部一次性加入多个元素。
切片操作来添加元素或者反转列表
g.字典
- 键值对:键是数据索引的扩展
- 字典是键值对的集合,键值对之间无序
- 采用大括号{}和dict()创建,键值对用冒号:表示
{<键1>:<值1>,<键2>:<值2>,…,<键n>:<值n>} - <>={<键1>:<值1>,…,<键n>:<值n>}
- <值>=<字典变量>[<键>]
- <字典变量>[<键>]=<值>
[]用来向字典变量中索引或增加元素
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d["中国"]
------>'北京'
生成空的字典 de={}
字典的操作函数和方法
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
"中国"in d
------>True
d.keys()
------>dict_keys(['中国','美国','法国'])
d.values()
------>(['北京','华盛顿','巴黎'])
#并非列表类型,是字典的key类型
字典类型的处理操作的方法
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d.get("中国","伊斯兰堡")
------>'北京'
d.get("巴基斯坦","伊斯兰堡")
------>'伊斯兰堡'
d.popitem()
------>('美国','华盛顿')
补充1:所有key值初始化为一个值
补充2:通过zip()函数用列表动态生成字典
补充3:for-in语句对字典的遍历
补充4:字典的更新(合并)
2. 变量
命名规则:
-首字符不能是数字
-大小写敏感
-标识符不能是关键字
-其余可以是字母、下划线、数字、汉字
3.运算符
a.算术运算符
不同类型间可以进行混合运算,生成结果为“最宽”的类型,依次是:
整数 ——浮点数——复数
b.赋值运算符
c.关系运算符
d.逻辑运算符
e.成员运算符
in
not in
d.身份运算符
is
is not
e.运算优先级
4.数值运算函数
5.输入输出
a.输入
- input(“提示语”),提示语默认为空,在用input输入是,默认输入内容类型为string,即字符串类型。对于用户输入的换行,是不会读入的,input()是以换行作为结束标志的
- eval()函数
将字符串string对象转化为有效的表达式参与求值运算返回结果,将字符串转成相应的数值类型或对象(如 int、float、list、tuple、dict和 string 之间的转换)
b.输出
print()
格式化输出:
- %用法
st='abc'
i=123
print('%s,%d'%(st,i))
------>abc,123
字符串输出
%s
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取两位字符串
%10.2s——占位符10位,截取两位字符串
- format用法