python数据类型

合集下载

python标准数据结构类型

python标准数据结构类型

python标准数据结构类型python常⽤的数据类型包含6种:1、Number(数字)2、String(字符串)3、List(列表)4、Tuple(元组)5、Set(集合)6、Dictionary(字典)数字、字符串、元组为不可变数据列表、字典、集合为可变数据⼀、Number(数字)包括int,float,bool(python3),complex(负数)⼏种类型⼆、String(字符串)字符串是⼀种特殊的元组三、List(列表)list是有序的对象集合,索引值以0为开始值,-1为从末尾的开始位置。

主要操作功能如下:#通过下标访问列表的值list1 = ["chk","ldlk",1,2,"sdfkj"]for i in range(len(list1)):print("%s" % list1[i])#切⽚print(list1[1:-1])#追加list1.append("jjjjjjj")print("追加",list1)#指定位置插⼊list1.insert(1,"1111111")print("指定位置插⼊",list1)#移除list1.remove(2)print(list1)#输出最后⼀个值print(list1.pop())#连接,将list转化为字符串list1 = ["chk","ldlk","lkvl","lkdjsflk","sdfkj"]sr = " ".join(list1)print(type(sr))#查找索引下标#1、这种只能查到相同元素的第⼀个元素对应的索引下标print(list1.index("sdfkj"))#2、利⽤enumerate函数与普通for循环对⽐。

python的标准数据类型

python的标准数据类型

python的标准数据类型
python的标准数据类型有以下几种:
1. 布尔型:布尔型是一种只有两个值True/ False的数据类型,可
用于逻辑判断。

3. 字符串类型:字符串类型,是由0或者多个字符组成的有序序列,可分为字节字符串(bytes)和文本字符串(str)。

4. 列表类型:列表类型,是python中最常用的数据类型,可以包含
任何类型的元素,元素可以是数字、字符串、元组、字典等,也可以是另
一个列表。

5. 元组类型:元组类型,是python中另一种序列类型,元组和列表
相同,都由序列中的元素组成,不同的是,元组中的元素不能修改,元组
可以当做字典中的键使用。

6. 字典类型:字典类型,是python中常用的映射类型,类似于关系
型数据库中的表,由一系列键值对组成,其中的键必须是唯一的,而键对
应的值可以是任何数据类型。

7. 集合类型:集合类型,是python中另一种可变容器,由唯一的元
素组成,可以用来存储不重复的元素,可以用来去重等操作。

8. 文件类型:文件类型,是python中用来操作文件的类型,可以用
来读取文件中的数据,写入数据到文件中等操作。

python基础之python的六大标准数据类型

python基础之python的六大标准数据类型

python基础之python的六⼤标准数据类型⼀:Number 数字类型(int float bool complex)1.整数:(正整数 0 负整数)#(1)⼆进制⽤0b表⽰intvar = 0b1010print(intvar)print(type(intvar)) #获取intvar类型print(id(intvar)) #获取到16进制#type 可以获取到变量的类型#id 可以获取该变量所指向的那个值的地址a = 5#⼋进制⽤0o表⽰intvar = 0o127print(intvar)print(type(intvar))print(id(intvar))#⼗六进制是⽤0x来表⽰intvar = 0xffprint(intvar) #转成2进制的数print(type(intvar))print(id(intvar))intvar = 0print(intvar,type(intvar))intar = 0print(intvar,type(intvar))2.float浮点型(⼩数类型)#表⽰⽅法⼀floatvar = 3.14print(floatvar,type(floatvar),id(floatvar))#表⽰⽅法⼆(科学计数法)floatvar = 5.88e-2print(floatvar,type(floatvar),id(floatvar))floatvar = 4.11e3print(floatvar)3.bool 布尔类型(只有True 或False两种状态)boolvar = Trueprint(boolvar,type(boolvar),id(boolvar))boolvar = Falseprint(boolvar,type(boolvar),id(boolvar))plex 复数类型复数:实数 + 虚数j : 如果有⼀个数,它的平⽅等于-1,那么这个数就是j科学家认为有,属于⾼精度的类型#表⽰⽅法⼀complexvar = 4+3jprint(complexvar,type(complexvar),id(complexvar))#表⽰⽅法⼆#complex(实数部分,虚数部分)complexvar = complex(8,-3)print(complexvar,type(complexvar),id(complexvar))⼆:String字符串类型定义:⽤引号引起来的就是字符串转义字符:(1)将有意思的字符变得⽆意义(2)将⽆意义的字符变得有意义语法: \ + 某字符\n \r\n : 代表换⾏\t : 代表⼀个缩进⽔平制表符\r :将后⾯的字符串拉到当前⾏⾸\#(1)单引号引起来的字符串strvar = '今天天⽓很好'print(strvar,type(strvar),id(strvar))#(2)双引号引起了字符串starvar = "⼩楼昨夜⼜东风"print(starvar,type(starvar),id(starvar))starvar1 = "⼩楼'咋啦'" #外⾯是双引号,⾥⾯需要单引号,与注释的嵌套注意点相同print(starvar1,type(starvar1),id(starvar1))#换⾏⽤法starvar2 = "故国不堪回⾸\n明⽉中"print(starvar2,type(starvar2),id(starvar2))#\⽤法starvar3 = "故国不堪回\"⾸\"明⽉中"print(starvar3)#(3)三引号引起来的字符串strvar = """本来⽆⼀'物',何处惹"尘"埃。

Python基础-数据类型总结归纳.

Python基础-数据类型总结归纳.

Python基础-数据类型总结归纳.1.1、python3 数据类型:类型含义⽰例int整型1float浮点型 1.0bool布尔值True或Falsecomplex复数a+bjstring字符串‘abc123’list列表[a,b,c]tuple元组(a,b,c)set集合{a,b,c}dictionary字典{a:b,c:d}1.2、备注说明类型说明complex复数的虚数部分不能省略string(字符串)字符串不能包括有 ‘\’ ,否则输出的不是原来的字符串list(列表)和tuple(元组)list可以修改元素,tuple不能,但是tuple可以包括list等多种数据类型,占⽤资源多于listset(集合)没有排列的顺序(没有索引,不能通过索引取值)及不会有重复的元素dictionary(字典)⼀个键对应多个值(值可以是列表、字典、集合等),⼀个值也可对应多个键。

但是不能有相同的键、列表作为值可以重复、字典和集合作为值不能重复。

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

可变数据类型:value值改变,id值不变;不可变数据类型:value值改变,id值也随之改变。

(元组不可修改,所以元组是不可变类型)变量以及类型<1>变量的定义在程序中,有时我们需要对2个数据进⾏求和,那么该怎样做呢?⼤家类⽐⼀下现实⽣活中,⽐如去超市买东西,往往咱们需要⼀个菜篮⼦,⽤来进⾏存储物品,等到所有的物品都购买完成后,在收银台进⾏结账即可如果在程序中,需要把2个数据,或者多个数据进⾏求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可在Python中,存储⼀个数据,需要⼀个叫做变量的东西,如下⽰例:1. num1 = 100 #num1就是⼀个变量,就是⼀个模具2. num2 = 87 #num2也是⼀个变量3. result = num1 + num2 #把num1和num2这两个"模具"中的数据进⾏累加,然后放到 result变量中说明:所谓变量,可以理解为模具(内存空间),如果需要存储多个数据,最简单的⽅式是有多个变量,当然了也可以使⽤⼀个列表程序就是⽤来处理数据的,⽽变量就是⽤来存储数据的变量定义的规则:变量名只能是字母、数字或下划线的任意组合变量名的第⼀个字符不能是数字以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']想⼀想:我们应该让变量占⽤多⼤的空间,保存什么样的数据?<2>变量的类型Python采⽤动态类型系统。

Python基本数据类型

Python基本数据类型

Python基本数据类型⼀.python基本数据类型1. int ==> 整数. 主要⽤来进⾏数学运算2. str ==> 字符串, 可以保存少量数据并进⾏相应的操作3. bool==>判断真假, True, False4. list==> 存储⼤量数据.⽤[ ]表⽰5. tuple=> 元组, 不可以发⽣改变⽤( )表⽰6. dict==> 字典, 保存键值对, ⼀样可以保存⼤量数据7. set==> 集合, 保存⼤量数据. 不可以重复. 其实就是不保存value的dict⼆. 整数(int)在python3中所有的整数都是int类型. 但在python2中如果数据量⽐较⼤. 会使⽤long类型. 在python3中不存在long类型整数可以进⾏的操作:bit_length(). 计算整数在内存中占⽤的⼆进制码的长度三. 布尔值(bool)取值只有True, False. bool值没有操作.转换问题:str => int int(str)int => str str(int)int => bool bool(int). 0是False ⾮0是Truebool=>int int(bool) True是1, False是0str => bool bool(str) 空字符串是False, 不空是Truebool => str str(bool) 把bool值转换成相应的"值"四. 字符串(str)把字符连成串. 在python中⽤', ", ''', """引起来的内容被称为字符串.4.1 切⽚和索引1. 索引. 索引就是下标. 切记, 下标从0开始# 0123456 7 8s1 = "python最⽜B"print(s1[0]) # 获取第0个print(s1[1])print(s1[2])print(s1[3])print(s1[4])print(s1[5])print(s1[6])print(s1[7])print(s1[8])# print(s1[9]) # 没有9, 越界了. 会报错print(s1[-1]) # -1 表⽰倒数.print(s1[-2]) # 倒数第⼆个2. 切⽚, 我们可以使⽤下标来截取部分字符串的内容语法: str[start: end]规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括ends2 = "python最⽜B"print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pytprint(s2[6:8]) # 结果最⽜print(s2[6:9]) # 最⼤是8. 但根据顾头不顾腚, 想要取到8必须给9print(s2[6:10]) # 如果右边已经过了最⼤值. 相当于获取到最后print(s2[4:]) # 如果想获取到最后. 那么最后⼀个值可以不给.print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5print(s2[-5:-1]) # ⽜b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后⼀个呢?print(s2[-5:]) # 什么都不写就是最后了print(s2[:-1]) # 这个是取到倒数第⼀个print(s2[:]) # 原样输出跳着截取# 跳着取, 步长print(s2[1:5:2]) # 从第⼀个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=> ytho => yhprint(s2[:5:2]) # 从头开始到第五个. 每两个取⼀个print(s2[4::2]) # 从4开始取到最后. 每两个取⼀个print(s2[-5::2]) # 从-5取到最后.每两个取⼀个print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的.print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值了print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取⼀个, 结果oy步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1切⽚语法:str[start:end:step]start: 起始位置end: 结束位置step:步长4.2 字符串的相关操作⽅法切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的1. ⼤⼩写转来转去s1.capitalize()print(s1) # 输出发现并没有任何的变化. 因为这⾥的字符串本⾝是不会发⽣改变的. 需要我们重新获取ret1 = s1.capitalize()print(ret1)# ⼤⼩写的转换ret = s1.lower() # 全部转换成⼩写print(ret)ret = s1.upper() # 全部转换成⼤写print(ret)# 应⽤, 校验⽤户输⼊的验证码是否合法verify_code = "abDe"user_verify_code = input("请输⼊验证码:")if verify_code.upper() == user_verify_code.upper():print("验证成功")else:print("验证失败")ret = s1.swapcase() # ⼤⼩写互相转换print(ret)# 不常⽤ret = s1.casefold() # 转换成⼩写, 和lower的区别: lower()对某些字符⽀持不够好. casefold()对所有字母都有效.⽐如东欧的⼀些字母print(ret)s2 = "БBß" # 俄美德print(s2)print(s2.lower())print(s2.casefold())# 每个被特殊字符隔开的字母⾸字母⼤写s3 = "alex eggon,taibai*yinwang_⿇花藤"ret = s3.title() # Alex Eggon,Taibai*Yinwang_⿇花藤print(ret)# 中⽂也算是特殊字符s4 = "alex⽼男孩wusir" # Alex⽼男孩Wusirprint(s4.title())2. 切来切去# 居中s5 = "周杰伦"ret = s5.center(10, "*") # 拉长成10, 把原字符串放中间.其余位置补*print(ret)# 更改tab的长度s6 = "alex wusir\teggon"print(s6)print(s6.expandtabs()) # 可以改变\t的长度, 默认长度更改为8# 去空格s7 = " alex wusir haha "ret = s7.strip() # 去掉左右两端的空格print(ret)ret = s7.lstrip() # 去掉左边空格print(ret)ret = s7.rstrip() # 去掉右边空格print(ret)# 应⽤, 模拟⽤户登录. 忽略⽤户输⼊的空格username = input("请输⼊⽤户名:").strip()password = input("请输⼊密码: ").strip()if username == 'alex' and password == '123':print("登录成功")else:print("登录失败")s7 = "abcdefgabc"print(s7.strip("abc")) # defg 也可以指定去掉的元素,# 字符串替换s8 = "sylar_alex_taibai_wusir_eggon"ret = s8.replace('alex', '⾦⾓⼤王') # 把alex替换成⾦⾓⼤王print(s8) # sylar_alex_taibai_wusir_eggon 切记, 字符串是不可变对象. 所有操作都是产⽣新字符串返回print(ret) # sylar_⾦⾓⼤王_taibai_wusir_eggonret = s8.replace('i', 'SB', 2) # 把i替换成SB, 替换2个print(ret) # sylar_alex_taSBbaSB_wusir_eggon# 字符串切割s9 = "alex,wusir,sylar,taibai,eggon"lst = s9.split(",") # 字符串切割, 根据,进⾏切割print(lst)s10 = """诗⼈学者感叹号渣渣"""print(s10.split("\n")) # ⽤\n切割# 坑s11 = "银王哈哈银王呵呵银王吼吼银王"lst = s11.split("银王") # ['', '哈哈', '呵呵', '吼吼', ''] 如果切割符在左右两端. 那么⼀定会出现空字符串.深坑请留意print(lst)3. 格式化输出# 格式化输出s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法print(s12)s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化print(s12)s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置print(s12)s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字print(s12)4. 查找s13 = "我叫sylar, 我喜欢python, java, c等编程语⾔."ret1 = s13.startswith("sylar") # 判断是否以sylar开头print(ret1)ret2 = s13.startswith("我叫sylar") # 判断是否以我叫sylar开头print(ret2)ret3 = s13.endswith("语⾔") # 是否以'语⾔'结尾print(ret3)ret4 = s13.endswith("语⾔.") # 是否以'语⾔.'结尾print(ret4)ret7 = s13.count("a") # 查找"a"出现的次数print(ret7)ret5 = s13.find("sylar") # 查找'sylar'出现的位置print(ret5)ret6 = s13.find("tory") # 查找'tory'的位置, 如果没有返回-1print(ret6)ret7 = s13.find("a", 8, 22) # 切⽚找print(ret7)ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错print(ret8)5. 条件判断# 条件判断s14 = "123.16"s15 = "abc"s16 = "_abc!@"# 是否由字母和数字组成print(s14.isalnum())print(s15.isalnum())print(s16.isalnum())# 是否由字母组成print(s14.isalpha())print(s15.isalpha())print(s16.isalpha())# 是否由数字组成, 不包括⼩数点print(s14.isdigit())print(s14.isdecimal())print(s14.isnumeric()) # 这个⽐较⽜B. 中⽂都识别.print(s15.isdigit())print(s16.isdigit())# 练习. ⽤算法判断某⼀个字符串是否是⼩数s17 = "-123.12"s17 = s17.replace("-", "") # 替换掉负号if s17.isdigit():print("是整数")else: if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."): print("是⼩数") else: print("不是⼩数")6. 计算字符串的长度s18 = "我是你的眼, 我也是a"ret = len(s18) # 计算字符串的长度print(ret)注意: len()是python的内置函数. 所以访问⽅式也不⼀样. 你就记着len()和print()⼀样就⾏了7. 迭代我们可以使⽤for循环来便利(获取)字符串中的每⼀个字符语法:for 变量 in 可迭代对象:pass可迭代对象: 可以⼀个⼀个往外取值的对象s19 = "⼤家好, 我是VUE, 前端的⼩朋友们. 你们好么?"# ⽤while循环index = 0while index < len(s19):print(s19[index]) # 利⽤索引切⽚来完成字符的查找index = index + 1# for循环, 把s19中的每⼀个字符拿出来赋值给前⾯的cfor c in s19:print(c)'''in有两种⽤法:1. 在for中. 是把每⼀个元素获取到赋值给前⾯的变量.2. 不在for中. 判断xxx是否出现在str中.'''print('VUE' in s19)# 练习, 计算在字符串"I am sylar, I'm 14 years old, I have 2 dogs!" s20 = "I am sylar, I'm 14 years old, I have 2 dogs!"count = 0for c in s20:if c.isdigit():count = count + 1print(count)。

python的数据结构类型

python的数据结构类型

python的数据结构类型
Python是一种高级编程语言,它支持多种数据结构类型,包括以下几种:
1. 列表(List):列表是Python中最常用的数据结构之一。

它可以存储任意类型的元素,并且可以进行添加、删除、修改和查询等操作。

列表使用方括号“[]”表示,元素之间使用逗号“,”分隔。

2. 元组(Tuple):元组与列表类似,也可以存储任意类型的元素。

但是,元组一旦创建就不能进行修改。

元组使用圆括号“()”表示,元素之间使用逗号“,”分隔。

3. 字典(Dictionary):字典是Python中另一个常用的数据结构类型。

它由键值对组成,每个键值对之间使用冒号“:”分隔,多个键值对之间使用逗号“,”分隔。

字典可以进行添加、删除、修改和查询等操作。

4. 集合(Set):集合是Python中一种无序不重复的数据结构类型。

它可以进行交集、并集、差集等操作。

5. 字符串(String):字符串是由若干个字符组成的序列,在Python
中也被视为一种数据结构类型。

字符串可以进行拼接、切片等操作。

除了以上几种常见的数据结构类型外,Python还支持其他一些特殊的数据结构类型,如堆栈(Stack)、队列(Queue)等。

使用这些数据结构类型可以更加方便地进行数据处理和算法实现。

总之,Python提供了丰富的数据结构类型,程序员可以根据不同的需求选择合适的数据结构类型来实现各种功能。

第03讲 Python基本数据类型、运算符及表达式

第03讲 Python基本数据类型、运算符及表达式
>>>x=y=5 >>>x 5
(2)多变量并行赋值 变量1,变量2,…,变量n=表达式1,表达式2, …,表达式n 变量个数要与表达式的个数一致,其过程为:首先计算表达式右边n
✓ 从左到右索引默认0开始的,最大范围是字符串长度少1 ✓ 从右到左索引默认-1开始的,最大范围是字符串开头
字符串操作示例: >>>
-----------------------------------------------------
Python列表
列表可以完成大多数集合类的数据结构实现。它支持字符,数字, 字符串甚至可以包含列表(即嵌套)。
str(x) 将x转换为字符串
chr(x) 将一个整数转换为一个字符,整数为字符的ASCII编码
ord(x) 将一个字符转换为它的ASCII编码的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
eval(x) 将字符串str当做有效表达式求值,并返回计算结果
算术运算符
运算符 +
-
* / // % **
含义 加法
减法
乘法 除法 取整除 取模 幂运算
优先级 这些运算符的优先级相 同,但比下面的运算符 优先级低
这些运算符的优先级相 同,但比上面的运算符 优先级高
结合性 左结合
Python中除法有两种:/和//,在Python3.x分别表示除法和整除运算。 >>> 3/5
>>> a = 5 >>> b = 8 >>> a = b 执行a=5和b=8之后a指向的是5,b指向的是8,当执行a = b的时候,b 把自己指向的地址(也就是8的内存地址)赋给了a,那么最后的结果就 是a和b同时指向了8。 3. 多变量赋值 (1)链式赋值

python基础知识--高考信息技术一轮二轮复习数据结构基础知识(浙教版2019)

python基础知识--高考信息技术一轮二轮复习数据结构基础知识(浙教版2019)

Python 程序设计语言基础知识一、Python 的基本数据类型二、(1)算术运算符:**、*、/、//、%、+、-。

(2)关系运算符:<、<=、>、>=、==、!=、in 。

“==”表示判断,“=”表示赋值。

(3)逻辑运算符:not 、and 、or 。

(5)x +=1:将变量x 的值加1,与“x =x +1”等价,类似还有“-=”、“*=”、“/=”、“%=” (6)取某三位数n 各个位的方法:个位:n % 10 十位: n // 10 % 10 或n %100 // 10 百位: n //100 三、字符串字符串是用单引号(')、双引号(″)或三引号(''')括起来的一个字符序列,起始和末尾的引号必须要一致。

1.字符串的特点(1)字符串是不可变对象。

即一旦创建了一个字符串,那么这个字符串的内容是不可改变的。

(2)通过索引来访问字符串中的字符。

索引表示字符在字符串的位置,第一个元素的索引号是0,第二个元素的索引号是1,以此类推。

2.字符串的切片操作通过字符串的切片操作可以获得字符串的一个子串。

格式为:字符串名[start :end :step]step 默认为1,表示返回下标从start 到end -1的字符构成的一个子串。

四、列表列表是由0个或多个元素组成的序列,其中的元素可以是数字、字符串等混合类型的数据,甚至是其他的列表。

1.列表的特点(1)列表用[]表示,元素间用逗号分隔,不同类型的元素可以存储在同一列表中。

(2)列表的大小是可变的,可以根据需要增加或缩小。

(3)列表是可变对象。

一个列表被创建后,可以直接修改列表中的元素值。

2.列表的访问列表中的元素是通过索引来定位的,第一个元素的索引号是0。

列表中的元素可以通过索引进行访问。

3.列表的切片操作列表的切片形式为list[i :j :k],i 为起始位置索引(包含),默认为0,j 为终止位置索引(不含),默认至序列尾;k 为切片间隔,默认为1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python 数据类型:
一数字:
1 基本的整数,浮点数的操作。

2 同时还支持进制,位操作和复数常量。

不过我们一般编程的话,用到比较少。

二字符串:
1 单引号'
2 双引号'""
单引号和双引号都是一样的,只是说在2着在嵌套的时候比较好。

比如sql 语句:
sql = "select * from info where title='%s' % title
3 三引号''' ''' :三引号的话,主要是文章换行的时候用比较好。

可以作为文章批量替换字符的方法。

4 unicode u':由于python 内部是unicode的编码,是中间编码。

∙unicode->其它编码
例如:a为unicode编码要转为gb2312。

a.encode('gb2312')
∙其它编码->unicode
例如:a为gb2312编码,要转为unicode. unicode(a, 'gb2312')或a.decode('gb2312')
∙编码1 -> 编码2
可以先转为unicode再转为编码2
如gb2312转big5
unicode(a, 'gb2312').encode('big5')
∙判断字符串的编码
∙如果一个字符串已经是unicode了,再执行unicode转换有时会出错(并不都出错)
可以写一个通用的转成unicode函数:
def u(s, encoding):
if isinstance(s, unicode):
return s
else:
return unicode(s, encoding)
5 转义字符\s
支持的操作:
1 索引和切片。

索引:
比如a = "info"
Print a[1]
Print a[1:]
2 字符串格式化,基于字典和关键字替换,这个用处比较大。

一般在格式化字符串的时候用到。

三列表
1 列表是有序的集合,类似别的语言的数组的概念。

支持的操作:
1 迭代。

2 插入,排序,翻转代码。

3 分片赋值。

四字典
字典的定义。

字典的常用操作:比如添加,修改,删除。

五元组
1 元组的定义,有序的集合
2 为什么要用元组,用户配置文件的地方。

比如你希望文件的一些配置信息不希望被外面的代码修改的话,这个时候就可以用上元组了,比如django的setting.py就大量用到了元组,这样保证了只能在当前页面修改配置,而不是通过外面来修改变量,达到安全的目的。

六文件
文件的读写,迭代功能。

七集合
1 集合的添加,修改,删除功能。

2 集合的交集,并集和差集。

3 集合的应用,比如我现在需要获取一个URL列表的不重复的功能。

八数据类型的差别
共同点:
1、它们都是py的核心类型,是py语言自身的一部分。

2、边界检查都不允许越界索引
3、索引方法都使用[]
s = 'spam'
print s[0]
s = ['s', 'p', 'a', 'm']
print s[0]
s = {'name':'bob', 'age':'12'}
print s['name']
s = ('s', 'p', 'a', 'm')
print s[0]
4大部分都支持迭代的协议
不同点:
1、有序性
字符串、列表、元组是序列,元组可以理解成不可变的列表
字典是映射
序列才有有序性,字典没有可靠的左右顺序
2、可变性
字符串、元组(还有数字)具有不可变性,即赋值后对应存储空间的内容不可变,除非这个对象被销毁。

列表、字典具有可变性
3、序列操作
序列(字符串、列表、元祖)支持,映射(字典)不支持
注意:序列操作生成的类型不变。

4、嵌套
除了字符串,列表、元组、字典可以相互多层次嵌套
总结:python数据类型最重要的就是理解好可变性和不可变性,相信理解好了可以减少很多错误和少走一些弯路!
想要了解更多python知识。

可以上老王python网站:。

相关文档
最新文档