05 数据类型以及内置方法

1.整型(int)

1.1 用途:存QQ号、手机号、身份证号码等整数字串

1.2定义方式:

age= 18 # age=int(18)int括号内只能放纯数字,连小数点都不行

例如:

int('fsfsdfa')#错误

int('1.2')#错误

1.3进制的转换

  1.3.1其他进制转十进制(int)方法

    print(int('1000',2))意思是二进制的1000转成十进制

    print(int('1000',8))意思是8进制的1000转成十进制

扫描二维码关注公众号,回复: 6717914 查看本文章

    print(int('1000),16))意思是16进制的1000转成十进制

  1.3.2十进制转其他进制

    print(bin(12))bin代表转成二进制

    print(oct(12))oct代表转成8进制

    print(hex(12))hex代表转成16进制

1.4整型的‘可变与不可变类型’

可变类型:ID号不变的情况下改变值

不可变类型:值改变,ID号就改变

x=20

print(id(x))#504131648

x=21

prnt(id(x))#504131680

2.浮点型

2.1作用:薪资、身高、体重

2.2定义:height=178.1# height=float(178.1)

3.字符串

3.1用途:描述性

3.2定义方式:‘’,‘’‘’,‘’‘’‘’

s='hello world'  #s=str('hello world')

列表和字典都可以转成字符串

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

print(type(s1))

s2=str({'name':'wuxi','pwd':123})

print(type(s2))

3.3按索引取值(分为正向取+反向取):由于字符串是不可变类型,因此只能取,不能修改

a='wuxi is handsome'

print(a[0])

3.4切片(批量取值,一直取多个值):

定义在[]内,填入索引值,表示从哪个索引值开始到哪个索引值结束。需要主要【】内顾头不顾尾

在一个大的字符串中取出一段小字符串。

而‘按照索引取值’是一个个字符的取

a='wuxi is handsome'

Print(a[0:4])#按照索引次序,取出wuxi。

1.4.1切片可以指定取值的步长

print(a[1:5:2])最后一个数字2,代表隔一个取一个。

1.4.2切片可以倒着取值(默认是从左往右)了解知识点

print(a[-1])#取最后一个值

print(a[0:5:-2])#错误,由于默认是从往右取,如果倒着取,-2之前的索引也应该改变。正确如下

print(a[-1:-10:-2])

3.5长度len:

用来统计字符串的字符长度

a='wuxi looks very good'

print(len(a))

3.6成员运算 in 和 not in :

用来判断的。判断一个子字符是否存在与另一个字符串中。得到的结果为True或False

a1='wuxi looks very handsome'

print(‘wuxi’ in a1)#True

print(‘nice’ not in a1)#False

3.7去掉字符串首尾两边的字符strip(默认取空格,可以指定去除内容),不管字符中间的空格

name='        shilingling        '#.strip()

3.7.1若指定去除的内容,则去除空格的效果丢失,除非另外指定

name2='       fff    shilingling      '#.strip(' f')空格逗号f,则只剩下shilingling

name3='*****shilingling******'#.strip('*')

name4='**+**/**shilingling ****_**'#.strip('*+/-')

3.7.2用户交互

  name=input(:>>>).strip()

  print(name)

3.8切分split:

针对按照某种分隔符组织的字符串,可以用split将分隔符切除,并输出为列表,最终也可以方便索引或者解压缩取值

案例1(结果保存为列表,不涉及取值):

 info='wuxi:178:23:75::/root/bin/bash'

res=info.split(':')#去除:分隔符

print(res)#结果['wuxi', '178', '23', '75', '', '/root/bin/bash']

案例2(解压缩取值):

cmd='surfing|a.txt|334343'

cmd_name,filename,filesize=cmd.split('|')

3.9.循环,今日未讲

4.其他关于字符串的需要掌握的内置方法

4.1 .lower(),.upper()全部小写或全部大写

s='My Name is Shilingling'

res=s.upper()

print(res)#MY NAME IS SHILINGLING

print(s)#My Name is Shilingling

实验得知,调用字符串的方法(即.后面的方法)并不会改变字符串本身

4.2startswith,endswith

用于判断字符串是否以什么开头或结尾

info='shilingling is beautiful'

print(info.startswith('shilingling'))

4.3format的三种用法(格式化输入的一种形式,pyhton推荐使用该语法)

4.3.1按位置占位,与%s相同

info1='my name is {} my age is {}'.format('wuxi',18)

print(info1)#my name is wuxi my age is 18

4.3.2按照索引值占位与后方的传值对应

info3='my name is {1} my age is {0}'.format('wuxi',18)

print(info3)#my name is 18 my age is wuxi

4.3.3关键字传参。好比字典key:value

info4='my name is {name} my age is {age}'.format(name='wuxi',age=18)

4.4split,replit

 msg='get|a.txt|333331231'

print(msg.split('|',1))

print(msg.rsplit('|',1))

['get', 'a.txt|333331231']
['get|a.txt', '333331231']

4.5join

与split正好相反。split切分是切除分隔符;而 join是把分隔符加入


data = 'jason|123|handsome'
res_list = data.split('|')
print(res_list)#['jason', '123', 'handsome']

res_str = '$'.join(res_list) # 将容器类型中的多个元素通过指定字符拼接成一个字符串
print(res_str)#jason$123$handsome
l = ['1','a','b']
res = '|'.join(l)
print(res)#1|a|b
4.6 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)

4.7isdigit判断字符串包含的是否为纯数字
while True:
age = input('>>>:')
if age.isdigit():
age = int(age)
if age > 38:
print('阿姨好')
else:
print('好好输')
5.需要了解的内置方法:
5.1find,rfind,index,rindex,count
s='msl is dsb and lsr is sb'
print(s.find('dsb'))#返回的是d字符所在的索引值
print(s.find('sss'))#找不到的時候返回-1
print(s.find('i',0,3))#用索引來限制查找的quyu
print(s.index('o))#返回所传字符所在的索引值
print(s.index('i',0,3))#返回所传字符的索引值
print(s.count('n'))#统计字符出现的次数
5.2center,ljust,rjust,zfill
s=‘wuxi’
print(s9.center(12,'*'))
print(s9.ljust(40,'$'))
print(s9.rjust(40,'$'))
print(s9.rjust(40,' '))
print(s9.zfill(40))
5.3expandtabs
s10 = 'a\tbc'
print(s10.expandtabs(100))
5.4captalize,swapcase,title
s12 = 'hElLo WoRLD sH10'
print(s12.capitalize()) # Hello world 首字母大写
print(s12.swapcase()) # 大小写互换
print(s12.title()) # 每个单词的首字母大小
5.5
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())
6.列表类型的作用:多个装备,多个爱好,多门课程,多个女朋友等
定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])

l=list('abc')
l1=list({'name':'jason','password':'123'})
print(l1)
list内部原理就是for循环取值 然后一个个塞到列表中去
6.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)

6.2切片(顾头不顾尾,步长)
l=['egon','lxx','yxx',444,555,66666]
print(l[0:5])
print(l[0:5:2])
print(l[::-1])#

6.3长度
l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
print(len(l))

6.4成员运算in和not in
l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
print('lxx' in l)
print(444 in l)

6.5追加
l=['egon','lxx','yxx']
l.append(44444)
l.append(55555)
print(l)

6.6往指定索引前插入值
l=['egon','lxx','yxx']
l.insert(0,11111)
print(l)
l.insert(2,2222222)
print(l)

# 一次性添加多个元素
l = ['jason','nick']
l.extend(['tank','sean'])

6.7删除

# 单纯的删除值:
# 方式1:
del l[1] # 通用的
print(l)

# 方式2:
res=l.remove('lxx') # 指定要删除的值,返回是None
print(l,res)

# 从列表中拿走一个值
res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值
print(l,res)

猜你喜欢

转载自www.cnblogs.com/ZDQ1/p/11126736.html