7.3数据类型及内置方法

Posted francis1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.3数据类型及内置方法相关的知识,希望对你有一定的参考价值。

整型

  1.用途:QQ号,手机号,身份证号(不带X的)...

  2.定义方式:内部原理就相当于age = 18  # age = int(18)

  int只能转换纯数字的字符串,带其他任何字符串都不行,包括小数点

进制转换

  1.二进制转十进制:10

  1*(2**1) + 0*(2**0)

  print(int(‘10‘,2)) 

  2.八进制转十进制:110

  1*(8**2) + 1*(8**1) + 0*(8**0)

  print(int(‘10‘,2)) 

  3.十六进制转十进制:110

  1*(16**2) + 1*(16**1) + 0*(16**0)

  print(int(‘110‘,16))10进制转其他进制

十进制转换其他进制

十进制转换二进制

  print(bin(12))  # 0b1100  0b表示后面的数字是二进制数

  十进制转换八进制

  print(oct(12))  # 0o14  0o表示后面的数字是八进制数

  十进制转换十六进制

  print(hex(12))  # 0xc  0x表示后面的数字是十六进制数

  可变与不可变类型

可变类型:数据值改变的情况下,id不变

不可变类型:数据值改变的情况下,id也变了

  所以整型是不可变类型

有序和无序的概念

  能用索引取值的数据都是有序的,否则无序。

  所以整型是无序的

浮点型

  1.作用:薪资,身高,体重

  2.定义:内部原理就是 salary = 1.1  # salar = float(1.1)

字符串类型

  1.作用:描述性的数据

  2.定义:内部原理就是s = ‘hello baby‘  # s = str(‘hello baby‘)

1.按索引取值(只能取值)

正向取

s = hello world
print(s[0])

反向取

s = hello world
print(s[-1])

2.切片

顾头不顾尾,步长,从一个大的字符串中截取一段新的小字符串,左边的固定就是头,右边固定就是尾

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

负数取值

s = hello big baby~
print(s[-1])  
print(s[5:0:-1])  
print(s[-1:-10:-2])  

3.长度

len():统计的是字符串中字符的个数(比较特殊)

s = abcde
print(len(s))

4.成员运算

in和not in: 判断一个子字符串是否存在于一个大的字符串中

技术图片
print(egon in egon is dsb and egon is sb)
print(g in egon is dsb and egon is sb)
print(jason not in egon is dsb and egon is sb)
View Code

5.删除字符串左右两边的字符

strip():默认删除左右两边的空格,括号中加字符,删除对应字符

name =   francis  
print(name.strip())
name1 = 1francis
print(name1.strip(1))

lstrip():只删除字符左边的

name =   francis  
print(name.lstrip())

rstrip():只删除字符右边的

name =   francis  
print(name.rstrip())

6.切分

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

data = jaso n|123| handsome
print(data.split(|))

rsplit():从右向左分割

data = jaso n|123| handsome
print(data.rsplit(|‘,1))  # 1代表最大分割的数量

附加:join():将容器类型的数据中的多个元素通过指定字符拼接成一个字符串

data = [1,2,3,a,b]
data1 = |.join(data)
print(data1)

7.循环

data = jaso n|123| handsome
for i in data:
    print(i)

8.upper和lower

字符全大写

name = FranCis
print(name.upper())

字符全小写

name = FranCis
print(name.lower())

9.判断字符什么以开头和结尾

name = Francis
print(name.startswith(F))  # 判断字符串是否以什么什么开头
print(name.endswith(s))  # 判断字符串是否以什么什么结尾

10.format的三种用法

1.第一种(按位置占位,跟%s原理一致)

str1 = my name is  my age is .format(francis,23)
str2 = my name is  my age is .format(23,francis,)
print(str1)
print(str2)

2.第二种(按索引占位)

str1 = my name is 0 my age is 1,1,0.format(francis,23)
print(str1)

3.第三种(指名道姓占位,类似于用字典的key占位)

str1 = my name is name my age is age,age,name.format(name=francis,age=23)
print(str1)

11.replace

替换字符串中的某个值

str = francis age is 23,francis has a car 
res = str.replace(francis,XXX)
res1 = str.replace(francis,XXX,1)  # 1表示替换几次,默认全替换
print(str)
print(res)
print(res1)

12.isdigit

判断字符串中包含的是否全部是数字

age = 18
age1 = aaa
print(age.isdigit())
print(age1.isdigit())

13.find,rfind,index,rindex,count

技术图片
s = kevin is dsb o and kevin is sb
print(s.find(dsb))  # 返回的是d字符所在的索引值
print(s.find(xxx))  # 找不到的时候不报错返回的是-1
print(s.find(i,0,4))  # 还可以通过索引来限制查找范围
print(s.index(o))  # 返回所传字符所在的索引值
print(s.index(i,0,3))  # 返回所传字符所在的索引值,找不到会报错
print(s.count(n))  # 统计字符出现的次数
View Code

14.center,ljust,rjust,zfill

s = francis
print(s.center(13,*))  # 类似于居中对齐
print(s.ljust(40, ))  # 类似于左对齐
print(s.rjust(40, ))  # 类似于右对齐
print(s.zfill(40))

15.expandtabs

扩展的制表符

技术图片
s10 = a\tbc
print(s10.expandtabs(100))
View Code

16.captalize,swapcase,title

s12 = hElLo WoRLD sH 20
print(s12.capitalize())  # Hello world 首字母大写,不影响数字
print(s12.swapcase())  # 大小写互换
print(s12.title())  # 每个单词的首字母大写

17.is数字系列

技术图片
num1=b4 #bytes
num2=u4 #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())
View Code

由以上可知字符串是有序的(但凡有索引的数据都是有序的),而且是不可变类型。

列表类型

作用:多个数据,多个账号,多个手机号,多个姓名

定义:[]内可以有多个任意类型的值,逗号分隔,内部原理就是 l =[1,3,5,7]  # l = list([1,3,5,7])

1.按索引取值(可存可取),切片

  正向取值

l = [1,2,3,4]
print(l[0:4:1])  # 0:4代表范围  1代表步长
print(l[0::])

  反向取值

l = [1,2,3,4]
print(l[5::-1])

  存值

l = [1,2,3,4]
l[0] = 69
print(l)

2.append,insert,extend

在列表中添加数据

技术图片
l = [11,22,33,44,55]
l1 = [99,88,77,66]
# 1.尾部添加一个66
l.append(66)  # 注意append值能将被添加的数据当作列表的一个元素
print(l)
# 2.任意位置添加元素
l.insert(2,96)  # 通过索引在任意位置添加元素
print(l)  # 注意insert值能将被添加的数据当作列表的一个元素
# 3.添加容器类型数据
l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部
print(l)
View Code

3.len

列表长度,数据个数。

4.in和not in

判断数据是否属于列表

5.删除

del

l = [11,22,33,44,55]
print(l)
del l[2]  # del适用于所有的删除操作,用索引删除
print(l)

remove

l = [11,22,33,44,55]
print(l)
l.remove(33)  # 指定要删除的元素的值
print(l)

6.数据弹出

  尾部弹出

l = [11,22,33,44,55]
res1 = l.pop()  # 尾部弹出
res2 = l.pop()
res3 = l.pop()
print(res1,res2,res3)

  指定位置的数据弹出

l = [11,22,33,44,55]
res1 = l.pop(1)  # 可以指定索引 按照索引弹出元素
print(res1)

7.循环

l = [11,22,33,44,55]
for i in l:
    print(i)

 

以上是关于7.3数据类型及内置方法的主要内容,如果未能解决你的问题,请参考以下文章

05 基本数据类型及内置方法

数据类型及内置方法

Python之基本数据类型及内置方法

基本数据类型及内置方法

今日学习内容回顾 一基本数据类型 二字符串型及内置方法 三列表型及内置方法

14Python基本数据类型及内置方法(集合)