【python学习-3】python数据类型
1、数字
在python 2.x中,数字类型有4种,int、long、float 和 complex(复数);而python 3 中,只有 int、float 和 complex 3种,python 3 种的int相当于 python 2 中的long。
运算符:
** 乘方运算符 // 整除运算符 % 取余 + 加 - 减 * 乘 / 除 | 位或 ^ 位异或 & 位与 << 左移运算 >> 右移运算
2、字符串
常见转移符
\n 换行符 \t 制表符 \r 回车符 \\ 表示\ \' 表示单引号 \" 表示双引号
字符串操作实例:
#!/usr/bin/python mystr = 'hi,pyth on,please!'; print(mystr); print(mystr.capitalize()); # 首字母大写 print(mystr.count('p')); # 获取字符串中“p”的个数 print(mystr.find('p')); # 查找字符串中“p”的位置 print(mystr.isalpha()); # 检查是否仅包含字母 print(mystr.isdigit()); # 检查字符串是否仅包含数字 print(mystr.islower()); # 检查字符串是否全小写 print(mystr.isupper()); # 检查字符串是否全大写 print(mystr.istitle()); # 检查字符串中单词是否首字母大写 print(mystr+'abc'); # 连接字符串 print(mystr.title()); # 字符串中单词首字母大写 print(mystr.upper()); # 字符串全大写 print(mystr.lower ()); # 字符串全小写 print(mystr*3); # 字符串重复3次 print(mystr.split(',')) # 分割字符串 print(mystr); # 以上操作只是返回新的字符串,但是原字符串始终不变 print(mystr[3]); # 访问字符串中第3个位置的字符 print(mystr[-2]); # 访问字符串中倒数第2个字符 print(mystr[3:10]); # 获取第3——10之间的字母(不包括第10) print( '10' + str(4) ); # 将数字转为字符 print(int('10')+4); # 将字符转为数字 mypath = r'e:\table'; # 以字母R或者r开头的字符串,为原始字符串,字符“\”不再表示转义符号 print(mypath); import os; print( os.listdir(mypath) ); # 列出目录中内容
3、列表
列表是以“[]”包围的数据集合
#!/usr/bin/python list = []; # 定义一个空列表 list.append(1); # 追加成员 list.extend([2,3,5,3,6]); # 添加一个列表 print(list); print(list.index(3)); # 查看3再列表中的位置 list.insert(2,'8'); # 在位置2插入成员 print(list); list.pop(2); # 将位置3的元素删除 print(list); list.remove(3); # 删除列表中的元素3 print(list); list.reverse(); # 列表倒序 print(list); list.sort(); # 列表排序 print(list);
4、元组
元组与列表相似,但是元组是使用圆括号“()”包围的数据集合。
元组内容不能被修改,只能使用分片和索引操作
#!/usr/bin/python list = [2,3,5,1,6]; # 定义一个列表 cuple = ('hello','world','0.0','2b'); # 定义一个元组 print(list); list.insert(2,cuple); # 在位置2插入成员 print(list); print(cuple[1]); print(cuple[1:-1]); # 获取第2个元素到倒数第1个元素之间的部分,但是不包含最后1个元素
5、字典
python中的字典相当于java中的Map,是以大括号“{}”包围的数据集合。
字典是无序的,访问成员通过 key 来访问。
字典与列表一样,是可变的。
#!/usr/bin/python dic = {'ap':'xiaofa','ad':66,9:77}; # 定义一个字典 print(dic); dic2 = dic.copy() # 复制字典 print(dic2); print(id(dic)); # 查看内存中的id print(id(dic2)); # 查看内存中的id print(dic.get('ad')); # 获取特定元素 print( 'ap' in dic ); # 查看 指定 key 是否存在 print(dic.items()); # 查看 (key,value) 组成的 列表 print(dic.keys()); # 查看 key 列表 print(dic.values()); # 查看 value 列表 print(dic.pop('ap')); # 删除元素并返回被删除元素 dic['ad'] = 'adc'; # 更新指定元素的值 print(dic); dic.update({'ad':'adad','rou':'蒙多'}); # 将另一个字典加入,原来字典如果重复的key,则会被覆盖 print(dic); dic.clear(); # 清空字典 print(dic);
6、文件操作
#!/usr/bin/python ''' open()将会返回一个file对象,基本语法: open(filename,mode) 不同模式打开文件的列表: r:以只读的方式打开文件,文件的指针将会放在文件的开头,为默认模式 rb:以二进制格式打开一个文件用于只读,文件指针会在文件的开头 r+:打开一个文件用于读写,文件指针将会在文件的开头 rb+:以二进制格式打开一个文件用于读写,文件指针会放在文件的开头 w:打开一个文件用于写入,如果该文件已存在则将会覆盖文件,如果不存在则创建新文件 wb:以二进制打开一个文件用于写入 w+:打开一个文件用于读写 wb+:以二进制格式打开一个文件用于读写,如果文件存在则覆盖,如果不存在则创建新文件 a:打开一个文件用于追加内容,如果文件已存在,文件指针会放在文件的结尾,如果不存在则创建新文件进行写入 ab:以二进制格式打开一个文件用于追加写入 a+:打开一个文件用于读写,如果该文件已存在,文件指针会放在结尾,文件打开时会是追加模式,该文件不存在则创建新文件 ab+:以二进制格式打开一个文件用于追加 ''' file = open('E:/table/a.txt','w'); file.write('python\n'); # file.writelines(['this is a test\n','88\n']): # 报错 SyntaxError: invalid syntax,why file.write('this is a test\n'); file.close(); file = open('E:/table/a.txt','r'); s = file.read(); print(s); ''' file.seek():改变当前文件指针的位置,file.seek(offset,from_what) seek(x,0):从文件首行首字符开始移动x个字符 seek(x,1):从当前为往后移动x个字符 seek(-x,2):从文件的结尾往前移动x个字符 ''' file.seek(0); # 移动到行首 s = file.readlines(); print(s); file.close();
未来的自己若是充满勇气,一定会感谢今日的孤独。