python数据类型以及方法
1.变量
1.1 变量类型:
变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符
1.2变量赋值
Python中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
a=1
x=0.11
y="string"
print(a,x,y)
可用=连续赋值多个变量
a=b=c=1
print(a,b,c)
多个对象创建多个变量
a,b,c=1,3.4,"jack" print(a,b,c)
思考程序:
#AUTHER:LANIST name1="jack" name2=name1 print(name1,name2) name2="rose" print(name1,name2)
jack jack
jack rose
1.3定义变量规则
变量名只能是字母,数字或下划线的组合且第一个字符不能是数字
关键字不能声明为变量名:详细见上篇https://www.cnblogs.com/lanist/p/12592776.html
2.字符串操作
#AUTHER:LANIST a="{name} hsbao {ages}" print(a.count("a")) #字符串中a的数量 print(a.center(20,"+"))#++hsbao+++开辟20个空间 print(a.capitalize())#首字母大写 print(a.encode(encoding="utf-8"))#将字符串编码 print(a.expandtabs(tabsize=2))#在\t的位置转换为空格,越大的空的越大 print(a.endswith("c"))#判断字符串以什么结尾 true/false
print(a.format(name="jack",ages="18"))#格式化输出
dict={"name":"lanist","ages":"16"}
print(a.format_map(dict))#字典方式格式化输出
判断字符串
b="linux" print(b.find("n"))#获取n的下标 print(b.isdigit())#判断是否为数字 print(b.index("x"))#获取索引 print(b.isupper())#是否大写 print(b.istitle())#判断首字母是否大写 Linux Is vvv print("aaa".isidentifier())#判断是否合法标识符 print("123".isdigit())#判断是否为数字 print("zmh".isalpha())#判断是否为字母 print("wq123q".isalnum()) #判断字符串是否为数字字母组合 print("A".isdecimal())#判断是否为10进制 print("qwe".islower())#判断是否为小写字母 print("QWE".isupper())#判断是否为大写字母 print("124".isprintable())#判断字符串是否可打印 print("123".isalnum())#判断是否为数字 print(" ".isspace())#判断是否为空格 print("11".isnumeric())#检测字符串是否为数字组成例:汉字,罗马数字,全角,半角 a1="abc" a2="123" print("a1".join(a2))#? print("abc".ljust(10,"="))#左对齐10个位置,不够=补全
#Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
#Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). print(" safbdfs ".rstrip()) print(" safbdfs ".lstrip()) print(" safbdfs ".strip())
#做映射一一对应 q=str.maketrans("abc","123") print("bca".translate(q)) print("asd".upper())#小写转化为大写 print("sa".zfill(10))#不够10的用0填充在左边 print("zx".replace("x","X"))#替换 print("adwasv".rsplit("a"))#以a分隔 print("www.baidu".startswith("www"))#判断是否以www开头 print("i am a girl".splitlines())#转换为列表 print("abc".swapcase())#大小写转换
3.字符编码
3.1python中
python2需要加
#-*-coding:utf-8 -*-
python3自带字符编码
3.2字符编码介绍
ASCII,主要用于显示现在英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256-1,所以呢,ASCII码最多只能表示255个字
4.数据类型
4.1整型
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1
a=1 b=2 print(a,b) print(type(a)) #删除对对象a的引用,所以会出现错误 del a,b del a print(a,b)
4.2浮点型
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:
- 十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
- 科学计数形式:例如 5.12e2(即 5.12×10^2)、5.12E2(也是 5.12 ×10^2)。
必须指出的是,只有浮点型数值才可以使用科学计数形式表示。例如 51200 是一个整型值,但 512E2 则是浮点型值。
#AUTHER:LANIST a=1.3 b=2.5e3 print(a,b) print(type(a)) print(type(b))
4.3布尔
真或假 1或0
#AUTHER:LANIST a=12 if a: print("good") else: print("bad") 结果为 good #如果字符串为空,则结果为bad
4.4字符串
字符串就是一系列数字,在python中,用引号引起来的都是字符串,其中的引号可以是单引号,也可以是双引号
符串或串(String)是由数字、字母、下划线组成的一串字符。
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。取头不取尾
#AUTHER:LANIST a="123456789" b=15.244e2 #15.244*100 print(a[0:2])#字符串切片,“取头不取尾” 打印下表为0和1的 print(a[:-1])#12345678 print(a[-3:-1])#78 print(a[2:7:3])#::3为步长 36 print(b*2)
print(a + "test")#字符串拼接
使用方法修改字符串大小写
#AUTHER:LANIST name="i am a girl" print(name.title()) I Am A Girl
集合类型的数据类型有 列表、元组及字典。
4.5列表
列表用 []标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
取头不取尾
#AUTHER:LANIST list = ['runoob',777,3.14,'anliu',70.2] tinylist = [123,'john'] print(list) print(list[0]) print(list[1:3]) print(list[2:]) print(tinylist * 2)#重复打印tinylist两次 print(list + tinylist)
1.查看
list = ['runoob',777,3.14,'anliu',70.2] print(list) print(list[1]) print(list[:2]) print(list[2:])
good_list=[("锅巴",4),
("本子",10),
("液晶电视",4999),
("热水壶",105),
("电脑",5666)
]
结果
['runoob', 777, 3.14, 'anliu', 70.2]
777
['runoob', 777]
[3.14, 'anliu', 70.2]
2.操作
list = ['runoob',777,3.14,'anliu',777] #查看索引 print(list.index(777)) #统计元素总数 print(list.count(777)) #翻转排序 list.reverse() print(list)
#AUTHER:LANIST list = ["jack","rose","tom","jerry"] list1=["abc","123"] #遍历整个列表 for i in list: print(i) #把list1合并到list上 list.extend(list1) print(list) print(list1) jack rose tom jerry ['jack', 'rose', 'tom', 'jerry', 'abc', '123'] ['abc', '123']
3.增
#AUTHER:LANIST list = ["jack","rose","tom","jerry"] #在列表末尾添加 list.append("apple") print(list) #在指定位置插入元素 list.insert(0,"qqq") print(list) ['jack', 'rose', 'tom', 'jerry', 'apple'] ['qqq', 'jack', 'rose', 'tom', 'jerry', 'apple']
4.删
如果你要存列表中删除一个元素,切不在以任何方式使用它,就用del语句;如果你要在删除元素之后还能继续使用它,就用pod()方法。
#AUTHER:LANIST list = ["jack","rose","tom","jerry"] del list[1] print(list) #默认删除最后一个元素 list.pop() print(list) #指定值删除元素 list.remove("tom") print(list)
5.改
#AUTHER:LANIST list = ["jack","rose","tom","jerry"] list[1]="hello" print(list)
4.6元组
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
#AUTHER:LANIST tuple = ('runoob', 786, 2.23, 'john', 70.2) tinytuple = (123, 'john') print(tuple) # 输出完整元组 print(tuple[0]) # 输出元组的第一个元素 print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素 print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素 print(tinytuple * 2) # 输出元组两次 print(tuple + tinytuple) # 打印组合的元组
4.7字典
列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
查
#AUTHER:LANIST dict={"name":"jack","ages":"18","address":"us"} #取出键为name的值 print(dict["name"]) print(dict) # 输出所有键 print(dict.keys()) # 输出所有值 print(dict.values())
添加,修改
#AUTHER:LANIST dict={"name":"jack","ages":"18","address":"us"} #访问字典值,该方法在键值不存在时报错 print(dict["name"]) #该方法在之不存在的时候,返回null print(dict.get("ages")) #判断键值是否存在于字典 print("good" in dict) #有则修改 dict["ages"] = "21" print(dict) #无则添加 dict["sex"]="male" print(dict) jack 18 False {'name': 'jack', 'ages': '21', 'address': 'us'} {'name': 'jack', 'ages': '21', 'address': 'us', 'sex': 'male'}
删除
dict={"name":"jack","ages":"18","address":"us"} #删除字典 del dict #删除键和对应的值 dict.pop("ages") print(dict) #随机删除 dict.popitem() print(dict)
嵌套
#Author:Anliu info = { '1001':{'name':"zhangsan",'身高':"195",'体重':"180"}, '1002':{'name':"lisi",'身高':"179",'体重':"250"}, '1002':{'name':"wangwu",'身高':"180",'体重':"130"}} print(info)
4.8集合
集合:集合是一个无序的,不重复的数据集合,可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。