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)
posted @ 2019-11-15 02:00  心脏鼓点  阅读(805)  评论(0编辑  收藏  举报