一、数据类型
1. 数字类型
python有三种数字类型:
- 整数类型
- 浮点数类型
- 复数类型,如
z = a + bj
,可以用z.real获取实数部分,用z.image获取叙述部分
数据类型之间的关系
- 三种类型之间存在一种“逐渐”扩展关系:
整数----->浮点数----->复数
- 不同数字类型之间可以进行混合运算,运算结果为最宽类型
数字类型之间的转化
- int(), float(), complex(),如
complex(4.5) = 4.5 + 0j
数字类型的判断
2.字符串类型
- Python语言转义字符
\
- 字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”
- Python同时允许使用负数从字符串右边末尾向左边进行反向索引,最右侧索引值是-1
- 可以通过两个索引值确定一个位置范围,返回这个范围的子串
格式: <string>[<start>:<end>]
- start和end都是整数型数值,这个子序列从索引start开始直到索引end结束,但不包括end位置.
- 字符串之间可以通过+或*进行连接
- 加法操作(+)将两个字符串连接成为一个新的字符串
- 乘法操作(*)生成一个由其本身字符串重复连接而成的字符串
- 大多数数据类型都可以通过str()函数转换为字符串
3.字符串的操作
- |重复
string[ ] | 索引
string[ : ] |剪切
len(string) |长度
string.upper() | 字符串中字母大写
string.lower() |字符串中字母小写
string.strip() |去两边空格及去指定字符
string.split() |按指定字符分割字符串为数组
string.join() |连接两个字符串序列
string.find() |搜索指定字符串
string.replace()| 字符串替换
for var in string |字符串迭代
4. 元组类型
元组概念
- 元组是包含多个元素的类型,元素之间用逗号分割。
- t1 = 123,456, “hello”
- 元组包含一个元素时:t3=123,
- 元组外侧可以使用括号,也可以不使用
- 与字符串类型类似,可以通过索引区间来访问元组中部分元素。
- 与字符串一样,元组之间可以使用+号和*号进行运算。
元组特点
- 元组中元素可以是不同类型;
- 元组中各元素存在先后关系,可以通过索引访问元组中元素。
- 元组定义后不能更改,也不能删除。
5.列表类型
列表概念
列表操作
列表操作符 |
操作符含义 |
< list1 > + < list2> |
连接两个列表 |
< list > * < 整数类型 > |
对列表进行整数次重复 |
< list > [< 整数类型 >] |
索引列表中的元素 |
len( < seq > ) |
列表中元素个数 |
< list >[ < 整数类型 > : < 整数类型 >] |
取列表的一个子序列 |
for < var > in < list > : |
对列表进行循环列举 |
< expr > in < list > |
成员检查,判断是否在列表中 |
列表相关方法
方法 |
方法含义 |
< list > . append ( x ) |
将元素x增加到列表的最后 |
< list > . sort ( ) |
将列表元素排序 |
< list > . reverse ( ) |
将序列元素反转 |
< list > . index ( ) |
返回第一次出现元素x的索引值 |
< list > . insert ( i, x ) |
在位置i处插入新元素x |
< list > . count ( x ) |
返回元素x在列表中的数量 |
< list > . remove ( x ) |
删除列表中第一次出现的元素x |
< list > . pop ( i ) |
取出列表中位置i的元素,并删除它 |
- 对于字符串,可以通过split()函数,将字符串拆分成一个列表,默认以空格分割
二. 异常处理
- Python使用try...except...来进行异常处理
- 当Python解释器遇到一个try语句,它会尝试执行try语句体body内的语句
- 如果没有错误,控制转到try-except后面的语句
- 如果发生错误,Python解释器会寻找一个符合该错误的异常语句,然后执行处理代码
三.布尔表达式
布尔操作符
- 布尔操作符: and,or和 not
- Python中布尔操作符的优先级,从高分到低分依次是not、and最低是or。
- 对于数字(整型和浮点型)的零值被认为是false
- 空字符串会被当做false
四. 文件
1.文件基础
常用编码
- Unicode
- 跨语言、跨平台进行文本转换和处理
- 对每种语言中字符设定统一且唯一的二进制编码
- 每个字符两个字节长
- 5536 个字符的编码空间
- “严”:Unicode的十六进制数为4E25
- UTF-8
- 可变长度的Unicode的实现方式,英文字符一般一个字节,中文字符一般三个字节
- “严”:十六进制数为E4B8A5
- GBK编码
文件数据
2.文件基本处理
打来文件
- open()
<variable> = open (<name>, <mode>)
<name>磁盘文件名
<mode>打开模式
- 打开模式
控制符 |
含义 |
r |
只读。如果文件不存在,则输出错误 |
w |
为只写(如果文件不存在,则自动创建文件) |
a |
表示附加到文件末尾 |
rb |
只读二进制文件。如果文件不存在,则输出错误 |
wb |
只写二进制文件,如果文件不存在,则自动创建文件。 |
ab |
附加到二进制文件末尾 |
r+ |
读写 |
文件读取
- read() 返回值为包含整个文件内容的一个字符串
- readline() 返回值为文件下一行内容的字符串。
- readlines() 返回值为整个文件内容的列表,每项是以换行符为结尾的一行字符串。
写入文件
- 从计算机内存向文件写入数据
- write():把含有本文数据或二进制数据块的字符串写入文件中。
- writelines():针对列表操作,接受一个字符串列表作为参数,将它们写入文件。
遍历文件模版
file = open (someFile, "r")
for line in file.readlines():
#处理一行文件内容
file.close()
file = open (someFile, "r")
for line in file:
#处理一行文件内容
file.close()
五.字典
1.字典的基础
简单字典实例
>>>passwd = {"China":"BigCountry","Korean":"SmallCountry","France":"MediumCountry"}
>>>print passwd{'Korean': 'SmallCountry', 'China': 'BigCountry', 'France': 'MediumCountry'}
字典类型与序列类型的不同
- 存取和访问方式不同
- 键的类型不同
- 序列类型只能用数字类型的键
- 字典类型可以用其他对象类型作键
- 排列方式不同
- 序列类型保持了元素的相对关系
- 而字典中的数据是无序排列的。
- 映射方式不同
- 序列类型通过地址映射到值
- 字典类型通过键直接映射到值
2.字典的操作
- 为字典添加一项,如
dictionaryName[key] = value
- 访问字典中的值,如
dictionaryName[key]
- 删除字典中一项,如
del dictionaryName[key]
- 字典遍历,如
for key in students:
print (key + “:”+ str(stuendents[key]))
字典遍历
- 遍历字典的键key
for key in dictionaryName.keys(): print.(key)
- 遍历字典的值value
for value in dictionaryName.values(): print.(value)
- 遍历字典的项
for item in dicitonaryName.items(): print.(item)
- 遍历字典的key-value
for item,value in adict.items(): print(item, value)
是否在一个键中
字典的标准操作符
- -,<,>,<=,>=,==,!=,and, or, not
字典方法
方法 |
含义 |
keys():tuple |
返回一个包含字典所有Key的列表 |
values():tuple |
返回一个包含字典所有value的列表 |
Items():tuple |
返回一一个包含所有键值的列表 |
clear():None |
删除字典中的所有项目 |
get(key):value |
返回字典中key对应的值 |
pop(key):val |
删除并返回字典中key对应的值 |
update(字典) |
将字典中的键值添加到字典中 |