python中加减乘除是什么数据类型_python基础数据类型

一、什么是数据类型

我们人类可以容易的分辨出来数字和字符,但是计算机不行。计算机必须明确告诉他“1”是数字,“字”是字符,否则他是分不清1和字的区别。所以每个编程语言都会对各种数据类型进行区分。

int:整数型,主要用于计算。

bool:判断真假,True、Flase。

str:简单少量的数据存储,并可以进行操作。

tuple,只读,不能更改。(1,wang)

list:列表大量有序数据[1,’dfd’,True,[1,13,2],{‘name’:’wang’}]

dict:字典,存放大量数据,且关联较强的数据{‘name’:’wang’,’age’:12,’name-list’:[‘张三’,’李四’]}

二、基础数据类型

2.1、int整形

int作为常见的数据类型,主要用于运算。常见的加减乘除,这个没啥好说的,我们主要看一下十进制和二进制之间的转换

2.1.1、十进制转换为二进制

十进制整数转换为二进制采用“除2取余,逆序排列”法。

十进制小数转换为二进制采用“乘2取整,顺序排列”法。

2.1.2、二进制转换为十进制

要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。

2.1.3、int操作方法

除了加减乘除,int还有可以计算二进制长度

num = 10

print(num.bit_length())

2.2、布尔值bool

布尔值只有两种:True、False。

# int ---> bool

i=-10

while i<10:

print (i,bool(i))

i+=1

#只有0才是false

# bool ---> int

t = True

print(int(t)) # 1 True --> 1

t = False

print(int(t)) # 0 False --> 0

# int ---> str

i1 = 100

print(str(i1)) # '100'

# str ---> int # 全部由数字组成的字符串才可以转化成数字

s1 = '90'

print(int(s1)) # 90

# str ---> bool

s1 = 'wangld'

s2 = ''

print(bool(s1)) # True 非空即True

print(bool(s2)) # False

# bool ---> str

t1 = True

print(str(True)) # 'True'

2.3、字符串str

2.3.1、字符串的索引与切片

组成字符串的字符从左至右,依次排列,以0开头,依次报数。

i = 'ABCDEFGHJKLMN'

print(i[0],i[2],i[3],i[6],i[8],i[9])

print(i[0:3],i[2:5],i[3:],i[0:-1],i[-1:-5:-1])

2.3.2、字符串的其他操作方式

i = 'ABCAEFGHJKAMN'

ret = i.count("A",1,6) # 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数,beg,end可为空

print(ret)

a4 = "dkfjdkfasf54"

startswith 判断是否以…开头

endswith 判断是否以…结尾

ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚

print(ret4) # 返回的是布尔值

ret5 = a4.startswith("kfj",1,4)

print(ret5)

split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。

ret9 = 'title,Tilte,atre,'.split('t')

print(ret9)

ret91 = 'title,Tilte,atre,'.rsplit('t',1)

print(ret91)

format的三种玩法 格式化输出

res='{} {} {}'.format('egon',18,'male')

res='{1} {0} {1}'.format('egon',18,'male')

res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)

strip

name='barry' print(name.strip(''))

print(name.lstrip('')) print(name.rstrip(''))

replace

name='alex say :i have one tesla,my name is alex'

print(name.replace('alex','SB',1))

is系列

name='taibai123'

print(name.isalnum()) #字符串由字母或数字组成

print(name.isalpha()) #字符串只由字母组成

print(name.isdecimal()) #字符串只由十进制组成

#######下面这些方法在数据类型补充时会讲到,现在不讲

寻找字符串中的元素是否存在

ret6 = a4.find("fjdk",1,6)

print(ret6) # 返回的找到的元素的索引,如果找不到返回-1

ret61 = a4.index("fjdk",4,6)

print(ret61) # 返回的找到的元素的索引,找不到报错。

captalize,swapcase,title

print(name.capitalize()) #首字母大写

print(name.swapcase()) #大小写翻转

msg='taibai say hi'

print(msg.title()) #每个单词的首字母大写

内同居中,总长度,空白处填充

ret2 = a1.center(20,"*")

print(ret2)

2.4、列表

列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用’ , ‘隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

2.4.1、列表的创建

# 创建一个列表有三种方式:

# 方式一:(常用)

l1 = [1, 2, '太白']

# 方式二:(不常用)

l1 = list() # 空列表

# l1 = list(iterable) # 可迭代对象

l1 = list('123')

print(l1) # ['1', '2', '3']

# 方式三:列表推导式(后面的课程会讲到)

l1 = [i for i in range(1,5)]

print(l1) # [1, 2, 3, 4]

2.4.2、列表的查

li = [1, 3, 2, "a", 4, "b", 5,"c"]

print(li)

l1 = li[0:3]

print(l1)

l2 = li[3:6]

print(l2)

l3 = li[1:7:2]

print(l3)

l4 = li[-3::-2]

print(l4)li = [1, 3, 2, "a", 4, "b", 5,"c"]

#按照索引查

l1 = li[1]

print(l1)

#按照切片查

l2 = li[3:6]

print(l2)

#按照切片+步长查

l3 = li[1:7:2]

print(l3)

l4 = li[-3::-2]

print(l4)

#按照FOR循环来查

for i in li:

print(i)li = [1, 3, 2, "a", 4, "b", 5,"c"]

print(li)

l1 = li[0:3]

print(l1)

l2 = li[3:6]

print(l2)

l3 = li[1:7:2]

print(l3)

l4 = li[-3::-2]

print(l4)

2.4.3、列表的增加

li = [1, 3, 2, "a", 4, "b", 5,"c"]

li.append('l5')

print(li)

li.insert(1,'12')

print(li)

li.extend(['123','432'])

print(li)

2.4.4、列表的删除

# pop 通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素

li = [1, 3, 2, "a", 4, "b", 5,"c"]

ret = li.pop()

print (ret,li)

# remove 通过元素删除列表中该元素

li.remove(5)

print(li)

#按照索引删除该元素

del li[2]

print(li)

# 切片删除该元素

del li[5:]

print(li)

# 切片(步长)删除该元素

del li[::2]

print(li)

# clear 清空列表

li.clear()

print(li)

2.4.5、列表的修改

li = [1, 3, 2, "a", 4, "b", 5,"c"]

#按照索引改值

li[0] = '木子'

#['木子', 3, 2, 'a', 4, 'b', 5, 'c']

print(li)

#按照切片改值(迭代增加)

li[1:3] = 'abcd'

print(li)

#['木子', 'a', 'b', 'c', 'd', 'a', 4, 'b', 5, 'c']

# 按照切片(步长)改值(必须一一对应)

li[0:8:2] = '一二三四'

print(li)

#['一', 'a', '二', 'c', '三', 'a', '四', 'b', 5, 'c']

2.4.6、列表的其他方法

li = [1, 3, 2, "a", 4, "b", 5,"c"]

#查询列表的元素个数

print(len(li)) #8

#某个元素出现的次数

print(li.count(3)) #1

#通过元素来找索引

print(li.index('a')) #3

#列表的排序

li2 = [1, 3, 6, 9, 2, 4, 5, 7, 8, 10]

li2.sort()

print(li2) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

#从大到小进行排序

li2.sort(reverse=True)

print(li2)#[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

#列表的翻转

li2.reverse()

print(li2)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2.4.7列表的嵌套

l3 = ['alex', 'wusir', ['taibai', 99, 'ritian'], 20]

#1、找到alex的e元素

s1 = l3[0]

print(s1[2])#e

print(l3[0][2])#e

#将wusir 变成大写

l3[1]=l3[1].upper()

print(l3) #['alex', 'WUSIR', ['taibai', 99, 'ritian'], 20]

# 3, 给此列表['taibai',99,'ritian'] 追加一个元素,'文周'

l3[2].append('文周')

print(l3)

#['alex', 'WUSIR', ['taibai', 99, 'ritian', '文周'], 20]

# 4,将 'taibai' 首字母大写。

print(l3[2][0][0])

l3[2][0] = l3[2][0].capitalize()

print(l3)

#['alex', 'WUSIR', ['Taibai', 99, 'ritian', '文周'], 20]

# 5,将 99 通过数字加1 的方式变成100,并放回原处。

l3[2][1] = int(l3[2][1])+1

print(l3)

#['alex', 'WUSIR', ['Taibai', 100, 'ritian', '文周'], 20]

2.5元组tuple。

元组:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改.

tu1 = ('alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33))

# 索引,切片,切片+步长

print(tu1[0])

print(tu1[:3])

# for 循环

for i in tu1:

print(i)

# index,len,count

# 应用场景: 一些非常重要的数据,不允许所有人修改的,放在元组中。

tu1[3].append(666)

#tu1.append(666) #错的

# 元组 儿子不能改,孙子可能可以改。

print(tu1)

2.6range

自定制的数字范围的可迭代对象,类比成列表。range一般和for循环结合使用。

for i in range(1,10):

print(i)

for i in range(1,10,2): # 步长

print(i)

for i in range(10,1,-2): # 反向步长

print(i)

l1 = ['alex', 'alex', 'taibai', 'egon', '景女神', '文周老师', '日天']

#返回每个元素的索引值

for i in l1:

print(l1.index(i))#当有同名时,只返回第一个值

for i in range(0,len(l1)):

print(i)

s1 = 'alex'

l1 = ['alex', 'alex', 'taibai', 'egon', '景女神', '文周老师', '日天']

#判断s1在l1中

print(s1 in l1)

print(['alex', 'alex'] in l1) # False 只判断最小元素

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值