Python数据类型
数据类型
- number(int,float,bool,complex)
- string
- tuple 元组
- list 列表
- set 集合
- dict 字典
number
a = 1 #int
a= 1.2 #float
#bool
a = True #True=1,False=0
print(int(a),type(a))
x=43
ch='A' #A=64,b=98
y=1
print(x>y and ch<'b' and y)
#结果:1
#实数和虚数
a = complex(5.6,8)
a = 1.2 + 3.4j
print(a,type(a))
print(a.real) #获取实数部分
print(a.imag) #获取虚数部分
#1.把一个值赋值给多个变量
a=b=c=1
print(a,b,c)
#2.把多个值赋值给多个变量
a,b,c=1.2,3,True
print(a,b,c)
string
#str(用单引号或者双引号括起来的字符)
s="helloworld"
print(s,type(s))
#字符串的取值和切片,取前不取后
print(s[0],s[1],s[-1],s[-2],s[2:4],s[2:],s[:6],s[3:-3])
#结果:h e d l ll lloworld hellow lowo
#字符串相关方法
s="Hello,World"
print(s.upper()) #大写
print(s.lower()) #小写
print(s.capitalize()) #首字母大写
print(s.split(",")) #通过字符切割字符串
print(s.replace("W","S")) #替换字符串
print(s.count("o")) #计算一个字符出现的次数
#内置函数方法
print(s,type(s),max(s),min(s),len(s),chr(97),ord('a'))
#字符串的运算
ss="www"
sss=123
print(s+ss) #拼接(只能相同数据类型拼接)
print(ss+sss) #报错。数据类型不同
print(s*2) #出现N次
#字符串的格式化
print("hello world%s"%"www") #%s是字符串占位符
print("hello world%10s"%"www") #占10个字符的位置,多出来用空格填充
print("hello world%d"%123) #%d是数字占位符
# import time
print("hello world%s"%time.time())
tuple元组
1、特点:是不能被更改,使用()定义
tup = (82,42,60,32,6,19,42)
tup1 = (100,200)
2、打印、取值、切片
#打印和取值:
print(tup,type(tup),max(tup),min(tup),len(tup))
#切片:
print(tup[0],tup[1],tup[-1],tup[-2],tup[2:4],tup[2:],tup[:4],tup[2,-2])
3、与元组相关的方法
#判断一个元素在元组中出现的次数
tup.count(42)
#判断一个元素在元组中第一次出现的下标
tup.index(42)
4、元组的运算
print(tup+tup1)
print(tup*2)
list列表
1、特点:有序的,使用[]定义
lis=[82,42,60,32,6]
lis2=[100,200,32]
2、打印、取值、切片(和str一样)
#打印和取值:
print(lis,type(lis),max(lis),min(lis),len(lis))
#切片:
print(lis[0],lis[1],lis[-1],lis[-2],lis[2:4],lis[2:],lis[:4],lis[2:-3])
3、与list相关的方法
#在list尾部追加一个元素
lis.append(100);print(lis)
#在下标为3的位置插入一个元素
lis.insert(3,200);print(lis)
#根据下标删除
lis.pop(2);print(lis)
#根据值删除
lis.remove(60);print(lis)
#从小到大排列
lis.sort();print(lis)
#反转
lis.reverse;print(lis)
#获得一个元素出现的次数
print(lis.count(42))
#获得一个元素第1次出现的下标
print(lis.index(42))
#清空
lis.clear();print(lis)
#复制
ls=lis.copy;print(ls)
#继承
lis.extend(lis2);print(lis)
#结果:[82, 42, 60, 32, 6, 100, 200, 32]
4、运算
print(lis+lis2)
print(lis2*2)
set集合
1、特点:无序的,不可重复,使用{}定义
se = {82,42,60,32,6,19,42}
se1 = {100,200}
s = set() #创建空的集合
#不能用s={},使用s={}是创建空的字典
2、打印、取值、切片
#打印:
print(se,type(se))
#取值和切片:NO
3、与set相关的方法
#根据值增加
se.add(100);print(se)
#根据值删除
se.remove(63);print(se)
#复制
new_se=se.copy();print(new_se)
#清空
se.clear();print(se)
#修改(继承)
se.update(sel);print(se)
4、运算
- se&se1 交集
- se|se1 并集
- se-se1 减集
- se^se1 异或
dict字典
1、特点和定义
特点:保存的是键值对。键不能重复,值可以重复。使用{}定义。
#定义:
dic = {"a":"路飞","b":"艾斯","c":"萨博"}
注意:列表list不能作为键
2、打印和切片
#打印:
print(dic,type(dic),max(dic),min(dic),len(dic))
#切片:NO
#但是可以通过键来增、删、改、查(取值)
dic["a"]="乔巴"
del dic[10];
dic[5]="卡普"
print(dic[30])
kvps={'1':1,'2':2}
thecopy=kvps
kvps['1']=5
sum=kvps['1']+thecopy['1']
print(sum)
#结果:10
#分析:kvps和thecopy两个变量指向内存中栈的地址
3、与dict相关的方法。
dic={10:"鸣人",5:"佐助","a":"w"}
dic2={"a":"b"}
#获得所有的key
ls=dic.keys();print(ls)
#获得所有的value
ls=dic.values;print(ls)
#通过key获取值
ls=dic.get(10);print(ls)
#清空
dic.clear();print(dic)
#复制
ls=dic.copy();print(ls)
#修改或继承
dic.update(dic2);print(dic)
#通过键删除
ls=[1,2,3]
#把所有的键统一成一个值
w=dic.fromkeys(ls,"www");print(w)
内置函数
type():查看数据类型
print();max();min();len();chr();ord();
int();float();str();tuple();list();set();dict();
数据类型转换
1.自动转换
print(1+True);
2.强制转换
d=(12,4412,51,251,251)
d=list(tuple(set(d)))
print(d)
Python中的输入和输出
1、输入:input("说明")
#任意的输入5个数字,按从大到小排序
inp1=input("请输入第一个数字:")
inp2=input("请输入第二个数字:")
inp3=input("请输入第三个数字:")
inp4=input("请输入第四个数字:")
inp5=input("请输入第五个数字:")
lis=[inp1,inp2,inp3,inp4,inp5]
lis.sort()
lis.reverse()
print(lis)
2、输出:print("内容")
print("hello world%s"%"www")
print("hello world{}".format([1,2,3]))
print("hello{1} world{0}".format("www","sss"))
print("hello{name} world{age}".format(name="zhangsan",age=18))
lis=["apple","balana","orange"]
w="_".join(lis)
print(w)
今天太阳也东升,而后西沉,早晨盛开的花儿也将凋谢;今天的太阳也西沉,而后东升,阳光照射之处遍地花开,但却已非昨日之花。