加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据类型及内置方法

发布时间:2020-12-14 04:42:38 所属栏目:大数据 来源:网络整理
导读:一、整型(int) 用途:有QQ号、手机号、不需要字母的身份证 1.定义方式: age = 18? #age = int(18) int (‘10’)#只能转到纯数字的字符串,小数点都不行。 2.进制转换: ? ?十进制转二进制: ? ?print(bin(12)) :0b1100 ? ?十进制转八进制: ? ? print

一、整型(int)

用途:有QQ号、手机号、不需要字母的身份证

1.定义方式:

age = 18? #age = int(18)

int (‘10’)#只能转到纯数字的字符串,小数点都不行。

2.进制转换:

? ?十进制转二进制:

? ?print(bin(12)) :0b1100

? ?十进制转八进制:

? ? print(oct(12)):0o14

? ? 十进制转十六进制:

? ? ?prInt(hex(12)):0xc

? ? ?各种进制转回十进制:

? ? ?print(int(‘1100‘,2))

? ? ?print(int(‘1100‘,8))

? ? ?print(int(‘1100‘,16))

3.该类型总结:?

? 1.存一个值

? 2.有序(但凡有索引的数据都为有序)

? 3.它是不可变类型(在值改变的情况下,id也跟着改变,即为不可变类型)

二、浮点型

作用:薪资、身高、体重

salary = 1.1# float(1.1)

res = float(‘1.11‘)

?print(type(res))

?<class ‘float‘>

三、字符串

用途:描述性

定义方式:‘’ ,“”,‘‘‘ ‘‘‘

s = ‘hello baby’

s1 = str([1,2,3,4])

print(type(s1)

<class ‘str‘>

无论什么类型,都能变成字符串。

1.按索引取值

s = ‘hello big baby‘

print(s[0])

h

切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串。

print(s[0:5]) >>>hello

print(s[0:10:1])>>>hello big #步长不写默认是1

print(s[0:10:2])>>>hlobg #步长表示隔几个取一个

负取值:prInt(s[0:5:-1])>>>不输出 原因:负取值是从右往左取值

? ? ? ? ? ? ? print(s[5:0:-2])>>>le

? ? ? ? ? ? ? print(s[-1:-10:-1])>>>ybab gib?

2.长度len:统计字符串中,字符的个数。

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

4.去掉字符串左右两边的字符strip,不管中间的

? ?username = input(‘>>>:‘)

? ?if username == ‘zzj‘:

? ? ? print(‘goodjob‘)

但是如果,在输入时不小心键入了空格,那么就不会有运行结果了。

所以用到该方法:

? name1 = ‘zzj‘

? name2 = ‘? ? zzj? ? ? ? ‘.strip()

? print(name1 == name2)>>>True

? name3 = ‘$$$$$$zzj$$$$$$‘??

? print(name3.strip(‘$‘))

ps:只能取首尾!

4.1 rstrip(): lstrip():

? ?name = ‘$$$$$zzj$$$$$$‘

? ?print(name.lsptrip(‘$‘))>>>zzj$$$$$$

? ?print(name.rsptrip(‘$‘))>>>$$$$$zzj

5.切分split:针对按照某种分割符组织的字符串,可以用split将其切分成列表,进而进行取值。顺序默认从左往右!?

? ?data = ‘jason|123|handsome‘

? ?print(data,split(‘|‘))

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

6.循环

? ?msg=‘hello‘

? ?for item in msg:

? ?print(item)>>>h?e?l?l?o

7.lower,upper

? ?s = ‘JaSoN‘

? ?print(s.upper())>>>JASON

? ?print(s.upper())>>>jason

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

8.startswith,endswith

? ?s1 = ‘egon is dsb‘

? ?print(s1.startswith(‘e‘)) >>>True # 判断字符串是否以什么什么开头

? ?print(s1.endswith(‘n‘)) >>>Flase# 判断字符串是否以什么什么结尾

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

? ?第一种? 按位置占位? ?跟%s原理一致

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

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

? ?print(str1)

? ?第二种? 按索引占位

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

? ?print(str1)

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

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

? ?print(str1)

10.replace

? ?str = ‘egon is dsb and egon is sb he has a BENZ‘

? ?res = str.replace(‘egon‘,‘kevin‘,1)

? ?print(res)>>>kevin is dsb and egon is sb he has a BENZ

? ?print(str)>>>egon is dsb and egon is sb he has a BENZ #不改变原变量

11.isdigit :断字符串中包含的是否为纯数字

? ?while True:

? ? ?age = input(‘>>>:‘)

? ? ?if age.isdigit():

? ? ? ??age = int(age)

? ? ? ??if age > 28:

? ? ? ? ? ?print(‘阿姨好‘)

? ?else:

? ? ?print(‘请你给我好好输!‘)

12.find,rfind,index,rindex,count

? ?s = ‘kevin is dsb o and kevin is sb‘

? ?print(s.find(‘dsb‘)) >>>9 # 返回的是d字符所在的索引值

? ?print(s.find(‘xxx‘))>>>-1? # 找不到的时候不报错返回的是-1

? ?print(s.find(‘i‘,3)) >>>-1# 还可以通过索引来限制查找范围

? ?print(s.index(‘o‘)) >>>13 # 返回所传字符所在的索引值

? ?print(s.index(‘i‘,3)) >>>找不到直接报错 # 返回所传字符所在的索引值

? ?print(s.count(‘n‘)) >>>3 # 统计字符出现的次数

13.center,ljust,rjust,zfill

? ??s9 = ‘jason‘

? ?print(s9.center(12,‘*‘))>>>***jason****

? ?print(s9.ljust(40,‘$‘))>>>jason$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

? ?print(s9.rjust(40,‘$‘))>>>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$jason

? ?print(s9.rjust(40,‘ ‘))>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?jason

? ?print(s9.zfill(40))>>>00000000000000000000000000000000000jason

14.expandtabs

? ?s10 = ‘atbc‘

? ?print(s10.expandtabs(100))>>> a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bc

15.captalize,swapcase,title

? ?s12 = ‘hElLo WoRLD sH10‘

? ?print(s12.capitalize())? # Hello world 首字母大写

? ?print(s12.swapcase())? # 大小写互换

? ?print(s12.title())? # 每个单词的首字母大小

16.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())

四、列表类型

作用:多个装备,多个爱好,多门课程。

定义:[]内可以有多个任意类型的值,逗号分隔

l=list(‘abc‘)

l1=list({‘name‘:‘jason‘,‘password‘:‘123‘})

print(l1)

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

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

? ?l = [1,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]

? ?2.1尾部添加一个66

? ? ??l.append(66)? # 注意append值能将被添加的数据当作列表的一个元素

? ? ??print(l)>>>[11,55,66]

? ?2.2任意位置添加元素

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

? ? ??print(l) >>>[11,96,66] # insert值能将被添加的数据当作列表的一个元素

? ?2.3.添加容器类型数据

? ? ?l.append(l1)

? ? ?l.insert(-1,l1)

? ? ?l.extend(l1)?# 内部原理for循环l1一个个追加到列表的尾部

? ? ?l.extend([1,])

? ? ?print(l)

? 2.4.长度

? ??print(len(l))>>>5

? 2.5.成员运算in和not in

? ??print( 444 in l)>>>Flase

? 2.6.删除

? ? del l[2]? # del适用于所有的删除操作

? ??print(l)

?2.7? res1 = l.pop() 尾部弹出

? ? ? ??res2 = l.pop()

? ? ? ??res3 = l.pop()

? ? ? ??print(res1,res2,res3)>>>55 44 33

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读