python的数据类型包括内置的_python基础(三)-数据类型与内置方法1

今日内容

数据类型

(1)整型(INT)

‘’‘int只能转纯数字的字符串,小数点都不行’‘’

存一个值且有序:但凡有索引的数据都是有序的。

进制转换

10进制转二进制:print(bin(12)) 0b1100 0b表示后面的数字时二进制数

10进制转八进制:print(oct(12)) 0o14 0o表示后面的数字时八进制数

10进制转16进制:print(hex(12)) 0xc 0x表示后面的数字是16进制

print(int(‘1100’,2)) ’‘’转二进制‘’‘

print(int(‘14’,8)) ’‘’转8进制’‘’

print(int(‘c’,16)) ‘’‘转16进制’‘’

可变类型与不可变类型

可变类型:只改变的情况下,id不变,说明你改的是原值。

不可变类型:值改变的情况下,id一定改变。

x = 10

print(id(x))

x= 11

print(id(x))

(2)浮点型

作用例子:薪资 身高 体重

salary = 1.1 float(1.1)

res= float(‘1.11’)print(type(res)) ‘’‘float’‘’

(3)字符串型

存一个值;不可变型;

1、用途:描述性2、定义方式:'',"",""""""

s = 'hello baby' #str('hello baby')s1= str([1,2,3,4])print(type(s1))

s2= str({'name':'jason','password':123})print(type(s2))

1.按索引取值(正向取+反向取):只能取

s =‘hello big baby’print(s[0]) ‘’‘h’‘’

按索引取值

2.切片操作(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串,左边是头,右边是尾,并且不是按数字来分头尾的

s =‘hello big baby’print(s[0:5]) ‘’‘hello’‘’print(s[0:10:1]) ‘’‘hello big 步长默认是1’‘’print(s[0:10:2]) ‘’‘步长表示隔几个取一个‘’‘

切片操作

3.了解复数取值

s =‘hello big baby’print(s[-1])

‘’‘无’‘’print(s[0:5:-2])

‘’‘-2是步长,’无‘ 切片取值默认是从左往右的’‘’print(s[5:0:-1])

‘’‘-1是步长, ’ olle‘ 此切片取值为从右往左’‘’print(s[-1:-10:-1])

‘’‘ybab gib ’‘’

复数取值

4.长度len:统计的是字符串中字符的个数

s1 =‘ ’print(len(s1))

''' 1 '''

5.成员运算in和not in:判断一个子字符串是否存在于一个大的字符串中

print(‘zkj’ in ‘zkj is wd and zkj isgodman’)print(‘k’ in ‘zkj is wd and zkj is godman')

print(‘jason’ not in ‘zkj is wd and zkj is godman’)

6.去掉字符串首尾的空格,不管中间的,用 .strip()

username = input('>>>:').strip()if username == 'jason':print('good job')

‘’‘strip()默认去除字符串首尾的空格

rstrip()去除右边的空格;lstrip()去除左边空格

使用内置的方法统一采用 句点符 ( . )

’’‘

name1=‘jason’

name2=‘ jason ’.strip()print(name1 ==name2)

’‘’ ‘jason’==‘ jason ‘ ’‘’

name3=‘$$$$egon$$$$’print(name3.strip(‘$’))

‘’‘ ’egon’ ‘’‘

name4= ‘% $&jason@*)’print(name4.strip(‘% $&@*)’))

’‘’ ‘jason’ ‘’‘

去掉字符串首尾空格,不管中间的,用.strip()

7.切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成成列表,进而进行取值

data = ‘jason|123|handsome’print(data.split(‘ |’))

username,password,info= data.split(‘ |’)print(username,password,info)

'''[ ’jason‘,‘123’,‘handsome’ ]'''

‘’‘强调:split切分出来的数据类型是一个列表’‘’

data = ‘jason|123|handsome’print(data.split( j ))'''split切割的顺序其实是从左往右的'''

print(data.split(‘o’,1))'''[‘jas’,‘n|123|hands’,‘me’]'''

print(data.rsplit(‘o’,1))'''这次是从右往左,依照’0‘切割,不过只切割第一个‘o’'''

print(data.split('o',2))

'''这次是从左往右,依照’0‘切割,不过要切割从左往右数第一个‘o’和 第二个‘o’ ''''''如果不指定,那么split和rsplit效果是一样的'''

8.循环

data = ‘jason |123|handsome’for i indata:print(i)

'''空格也会被打印出来'''

‘’‘需要我们掌握的‘’’

1).strip、lstrip、rstrip

同上

2).lower、upper

s =‘JaS1oN’

res=s.lower()print(res)print(s)print(s.upper())print(s)

'''jas1on,JaS1oN,JAS1ON,JaS1oN'''

‘’‘调用字符串的方法并没有改变字符串本身‘’’

3).startswith,endswith

s1 = ‘egon isdsb’print(s1.stratswith(‘ j ’))'''False'''

print(s1.stratswith(‘e’))'''True'''

'''判断字符串是否以XXX开头'''

print(s1.endswith(‘n’))'''True'''

'''判断字符串是否以XXX结尾'''

startswith,endswith

4.format的三种玩法(python推荐使用format格式化输出)

’‘’第一种 按位置占位‘’‘

str1 = ‘my name is { } my age is { }’ .format(‘jason’,18)

str1= ‘my name is { } my age is { }’ .format(18,‘jason’)print(str1)

'''my nameis jason my age is 18my nameis 18 my age isjason

'''

‘’‘第二种 按索引占位’‘’

str1 = ‘my {1} name is {0} my {0} age is {0}’ .format(‘egon’,18)print(str1)

'''my18 name is egon my egon age is egon'''

‘’‘第三种 指名道姓占位(关键字传参)’‘’

str1 = ’my {name} name is {age} my {name} age is {name}‘ .format(name=‘jason’,age=18)print(str1)

'''my jason nameis 18 my jason age is jason'''

5.split、lsplit、rsplit

上面已经说过了。

6.join(将容器内的多个元素通过指定的字符拼接成一个字符串)

data = ‘jason|123|handsome’

res_list= data.split(‘ |’)print(res_list)

res_str=‘$’.join(res_list)print(res_str)'''[’jason’,‘123’,‘handsome’]

jason$123$handsome'''

7.replace

str = ‘egon is dsb and egon issb he has a BENZ’

res1= str.replace(‘egon’,‘kevin’,1)

res2= str.replace(‘egon’,‘kevin’,2)print(res1)print(res2)print(str)'''kevin is dsb and egon is sb he has a BENZ

kevin is dsb and kevin is sb he has a BENZ

egon is dsb and egon is sb he has a BENZ'''

8.isdigit(判断字符串中包含的是否为纯数字)

whileTrue:

age= input('>>>:')ifage.isdigit():

age=int(age)if age > 28:print('阿姨好')else:print('你他妈的能不能好好输')break

‘’‘需要了解的内置方法’‘’

1.find,rfind,index,rindex,count

s = ‘kevin is dsb and kevin issb’print(s.find(‘dsb’))'''返回的是d字符所在的索引值'''

print(s.find(‘XXX’))'''找不到的时候不报错且返回的是-1'''

print(s.find(‘i’,0,3))'''还可以通过索引来限制查找范围'''s= ‘kevin is dsb 0 and kevin issb’print(s.index(‘o’))'''返回所传字符所在的索引值 13'''

print(s.index(‘and’))'''返回所传字符所在的索引值 15'''

print(s.index(‘i’,0,3))'''顾头不顾尾,在0,1,2中寻找不到则直接报错'''

View Code

s = ‘kevin is dsb 0 and kevin is sb’

print(s.count(‘n’)) ‘’‘统计字符出现的次数‘’’

2.center,ljust,rjust,zfill

s9 =‘jason’print(s9.center(11,‘$’))'''$$$jason$$$'''

print(s9.ljust(11,‘$’))'''jason$$$$$$$$$$$'''

print(s9.rjust(11,‘$’))'''$$$$$$$$$$$jason'''

print(s9.rjust(11,‘ ’))'''jason'''

print(s9.zfill(40))'''00000000.......00000000000jason'''

3.expandtabs

s10 =‘a\tbc’print(s10.expandtabs(100))'''a bc,空格被拓展了

\r\n或者\n、\r 回车换行'''

4.captalize,swapcase,title

s12 =‘hElLo WoRLD sH10’print(s12.capitalize())'''Hello world sh10首字母大写'''

print(s12.swapcase())'''每个单词字母大小写互换'''

print(s12.title())'''每个单词的首字母大小写互换'''

5.is数字系列

num1 = b’4’ ‘’‘bytes’‘’

num2= u’4’ ‘’‘unicode,python3中无需加u就是unicode’‘’

num3=‘壹’ ’‘’中文数字‘’‘

num4=‘Ⅳ’ ‘’‘罗马数字’‘’

‘’‘ ’’.isnumeric():unicode,中文数字,罗马数字;只要是表示数字就都识别‘’‘print(num2.isnumeric())print(num3.isnumeric())print(num4.isnumeric())

’‘’''.isdecimal(): unicode 只识别普通的阿拉伯数字‘’‘print(num2.isdecimal())print(num3.isdecimal())print(num4.isdecimal())

‘’‘ ’ ‘.isdigit() :bytes,unicode 通常情况下使用isdigit就已经满足需求了’‘’print(num1.isdigit())print(num2.isdigit())print(num3.isdigit())print(num4.isdigit())

is数字系列

(4)列表类型

‘’‘list内部原理就是for循环取值,然后一个个塞到列表中去’‘’

优先掌握的操作

1.按索引存取值(正向存取+反向存取:即可存也可取)

l = [1,2,3,4]

‘’’print(l[0:4:1])print(l[0 : :])print(l[5: :-1])

‘’‘’print(id(l))

l[0]= 69

print(id(l))print(l)

按索引存取值

2.切片(顾头不顾尾,步长)

l = [11,22,33,44,55]

l1= [99,88,77,66]'''尾部添加一个66'''l.append(66)'''注意append值能将被添加的数据当作列表的一个元素'''

print(l)'''l = [11,22,33,44,55,66]'''

'''任意位置添加元素'''l.insert(2,96)'''通过索引在任意位置添加元素'''

print(l)'''注意insert值能将被添加的数据当作列表的一个元素'''

'''添加容器类型数据'''

'''l.append(l1)

l.insert(-1,l1)

l.extend(l1) ‘’内部原理for循环l1一个个追加到尾部'''l= [11,22,33,44,55]

l.extend([1,])print(l)'''[11, 22, 33, 44, 55, 1]'''

切片操作

3.长度

print(len(l))

4.成员运算in和not in

print(444 inl)'''True或者False'''

5.往列表中添加元素(很重要)

append

insert

extend   '''只能添加列表'''

6.删除

print(l)del l[2]'''del适用于所有数据类型的删除操作'''

print(l)

res1=l.pop()'''尾部弹出'''res2=l.pop()

res3=l.pop()print(res1,res2,res3)

res1=l.pop(0)'''可以指定索引,按照索引弹出元素'''

print(res1)

res= l.remove(33)'''指定要删除的元素的值'''

print(l)print(res)

s=‘haha’print(s)delsprint(s)

删除操作

7.循环

for i inl:print(i)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值