Python数据类型,整型、布尔类型、字符串类型和其独有的方法和公共方法(超详细)

目录

Day05:数据类型(上)

5.1 整数 int (就是十进制整数的统称)

5.1.1 转换

5.2 布尔类型 bool (就是 “真”、“假” )

5.2.1 转换

5.2.2 其他

5.3 字符串类型 str (不可变,创建好之后内部就无法修改。【独有功能都是新创建一份数据】)

5.3.1独有功能

5.3.1.1 startswith 判断字符串是否以 XX 开头?得到一个布尔值

5.3.1.2 endswith 判断字符串是否以 XX 结尾?得到一个布尔值

5.3.1.3 isdecimal 判断字符串是否为十进制数?得到一个布尔值

5.3.1.4 strip 去除字符串两边的 空格、换行符、制表符,得到一个新字符串

5.3.1.5 upper 字符串变大写,得到一个新字符串

5.3.1.6 lower 字符串变小写,得到一个新字符串

5.3.1.7 replace 字符串内容替换,得到一个新的字符串

5.3.1.8 split 字符串切割,得到一个列表

5.3.1.9 join 字符串拼接,得到一个新的字符串

5.3.1.10 format 格式化字符串,得到新的字符串

5.3.1.11 encode 字符串转换为字节类型

5.3.1.12 center 将字符串内容居中、居左、居右展示

5.3.1.13 zfill 帮助你填充0

5.3.2 公共功能

5.3.2.1 + 相加 字符串 + 字符串

5.3.2.2 * 相乘:字符串 * 整数

5.3.2.3 len 计算长度

5.3.2.4 [序号] 获取字符串中的字符,索引

5.3.2.5 [数字:数字] 获取字符串中的子序列,切片

5.3.2.6 [数字:数字:数字] 步长,跳着去字符串的内容

5.3.2.7 while for 循环


Day05:数据类型(上)

常见的数据类型:

  • int,整数类型(就是十进制整数的统称)

    1,2,3,4
  • bool,布尔类型 (就是 “真”、“假” )

    True & False
  • str,字符串类型 不可变,创建好之后内部就无法修改。【独有功能都是新创建一份数据】)

    "你好"
  • list,列表类型 列表 list 有序且可变的容器

    [1,2,3,4]
  • tuple,元组类型 有序且不可变的容器

    (1,2,)
  • dict,字典类型 可变、无序、键不重复 且 元素只能是 键值对 的容器

    {1:'你好',2:'大家好'}
  • set,集合类型 无序 、可变、不允许数据重复的容器

    {"刘能", "赵四", "⽪⻓⼭"}
  • float,浮点类型(浮点型)用于表示小数

    1.1
    2.2321

5.1 整数 int (就是十进制整数的统称)

5.1.1 转换

# 布尔值转整型
n1 = int(True)  # True转换为整数 1
n2 = int(False) # False转换为整数 0
​
# 字符串转整型
v1 = int("186",base=10) # 把字符串看成十进制的值,然后再转换为 十进制整数,结果:v1 = 186
v2 = int("0b1001",base=2) # 把字符串看成二进制的值,然后再转换为 十进制整数,结果:v1 = 9 (0b表示二进制)
v3 = int("0o144",base=8)  # 把字符串看成八进制的值,然后转换为 十进制整数,结果:v1 = 100 (0o表示八进制)
v4 = int("0x59",base=16)  # 把字符串看成十六进制的值,然后转换为 十进制整数,结果:v1 = 89 (0x表示十六进制)
​
# 浮点型(小数)
v1 = int(8.7) # 8

二进制、八进制、十进制、十六进制 规则存储的字符串时,可以轻松的通过int转换为十进制的整数。

5.2 布尔类型 bool (就是 “真”、“假” )

5.2.1 转换

整数0、空字符串、空列表、空元组、空字典转换为布尔值时均为False
其他均为True

5.2.2 其他

如果在 ifwhile 条件后面写一个值当做条件时,他会默认转换为布尔类型,然后再做条件判断。

if 0:
    print("太六了")
else:
  print(999)
​
if "大烧饼":
    print("你好")
​
if "大烧饼":
    print("你是傻逼?")
else:
    print("你是逗比?")

5.3 字符串类型 str (不可变,创建好之后内部就无法修改。【独有功能都是新创建一份数据】)

5.3.1独有功能

5.3.1.1 startswith 判断字符串是否以 XX 开头?得到一个布尔值
v1 = "叨逼叨的一天,烦死了"
​
# True
result = v1.startswith("叨逼叨的一天")
​
print(result) # 值为True
5.3.1.2 endswith 判断字符串是否以 XX 结尾?得到一个布尔值
v1 = "叨逼叨的一天,烦死了"
​
result = v1.endswith("烦死了")
​
print(result) # 值为True
5.3.1.3 isdecimal 判断字符串是否为十进制数?得到一个布尔值
v1 = "1238871"
result = v1.isdecimal()
print(result) # True
5.3.1.4 strip 去除字符串两边的 空格、换行符、制表符,得到一个新字符串
msg = " H e ll o啊,树哥 "
data = msg.strip()
print(data) # 将msg两边的空白去掉,得到"H e ll o啊,树哥"

补充:去除字符串两边指定的内容

msg = "哥H e ll o啊,树哥"
data = msg.strip("哥")
print(data) # 将msg两边的哥去掉,得到"H e ll o啊,树"
5.3.1.5 upper 字符串变大写,得到一个新字符串
msg = "my name is oliver queen"
data = msg.upper()
​
print(msg) # my name is oliver queen
print(data) # 输出为:MY NAME IS OLIVER QUEEN
5.3.1.6 lower 字符串变小写,得到一个新字符串
msg = "My Name Is Oliver Queen"
data = msg.lower()
​
print(data) # 输出为:my name is oliver queen
5.3.1.7 replace 字符串内容替换,得到一个新的字符串
data = "你是个好人,但是好人不合适我"
value = data.replace("好人","贱人")
print(data)  # "你是个好人,但是好人不合适我"
print(value) # "你是个贱人,但是贱人不合适我"
5.3.1.8 split 字符串切割,得到一个列表
data = "大烧饼|root|wupeiqi@qq.com"
result = data.split('|') # ["大烧饼","root","wupeiqi@qq.com"]
print(data) # "大烧饼|root|wupeiqi@qq.com"
print(result) # 输出 ["大烧饼","root","wupeiqi@qq.com"] 根据特定字符切开之后保存在列表中,方便以后的操作

扩展:

data = "大烧饼|root|wupeiqi@qq.com"
v1 = data.split("|")   # ['大烧饼', 'root', 'wupeiqi@qq.com']
print(v1)
​
v2 = data.split("|", 1) # ['大烧饼', 'root|wupeiqi@qq.com']
print(v2) # ['大烧饼', 'root|wupeiqi@qq.com']  只把第一个符合条件的切割了
5.3.1.9 join 字符串拼接,得到一个新的字符串
data_list = ["你","是","大烧饼"]
v1 = "_".join(data_list) 
print(v1) # 你_是_大烧饼
5.3.1.10 format 格式化字符串,得到新的字符串
name = "{0}的喜欢干很多行业,例如有:{1}、{2} 等"
data = name.format("老王","护士","嫩模")
print(data) # 老王的喜欢干很多行业,例如有:护士、嫩模 等
print(name) # "{0}的喜欢干很多行业,例如有:{1}、{2} 等"
5.3.1.11 encode 字符串转换为字节类型
data = "嫂子"  # unicode,字符串类型
​
v1 = data.encode("utf-8")  # utf-8,字节类型
v2 = data.encode("gbk")  # gbk,字节类型
​
print(v1)  # b'\xe5\xab\x82 \xe5\xad\x90'
print(v2)  # b'\xc9\xa9 \xd7\xd3'
​
s1 = v1.decode("utf-8") # 嫂子
s2 = v2.decode("gbk") # 嫂子
print(s1)
print(s2)
5.3.1.12 center 将字符串内容居中、居左、居右展示
v1 = "王老汉"
# data = v1.center(21, "-")
# print(data) #---------王老汉---------
​
# data = v1.ljust(21, "-")
# print(data) # 王老汉------------------
​
# data = v1.rjust(21, "-")
# print(data) # ------------------王老汉
5.3.1.13 zfill 帮助你填充0
data = "abcd"
v1 = data.zfill(10)
print(v1) # 000000abcd
​
# 应用场景:处理二进制数据
data = "101" # "00000101"
v1 = data.zfill(8)
print(v1) # "00000101"

5.3.2 公共功能

5.3.2.1 + 相加 字符串 + 字符串
v1 = "我是" + "大sb"
print(v1)
5.3.2.2 * 相乘:字符串 * 整数
data = "嫂子" * 3
print(data) # 嫂子嫂子嫂子
5.3.2.3 len 计算长度
data = "嫂子满身大汉"
value = len(data) 
print(value) # 6
5.3.2.4 [序号] 获取字符串中的字符,索引
message = "来做点py交易呀"
#          0 1 2345 6 7
#           ... -3 -2 -1
print(message[0]) # "来"
print(message[1]) # "做"
print(message[2]) # "点"
​
print(message[-1]) # 呀
print(message[-2]) # 呀
print(message[-3]) # 呀

注意:字符串中是能通过索引取值,无法修改值。【字符串在内部存储时不允许对内部元素修改,想修改只能重新创建。】

5.3.2.5 [数字:数字] 获取字符串中的子序列,切片
message = "来做点py交易呀"
​
print(message[0:2]) # "来做"
print(message[3:7]) # "py交易"
print( message[3:] ) # "py交易呀"
print( message[:5] ) # "来做点py"
​
print(message[4:-1]) # "y交易"
print(message[4:-2]) # "y交"
​
print( message[4:len(message)] ) # "y交易呀"

注意:字符串中的切片只能读取数据,无法修改数据。【字符串在内部存储时不允许对内部元素修改,想要修改只能重新创建】

5.3.2.6 [数字:数字:数字] 步长,跳着去字符串的内容
name = "生活不是电影,生活比电影苦"
​
print( name[ 0:5:2 ] )   # 输出:生不电 【前两个值表示区间范围,最有一个值表示步长】
print( name[ :8:2 ] )    # 输出:生不电,  【区间范围的前面不写则表示起始范围为0开始】、

# print( name[ 2::2 ] )    # 输出:不电,活电苦
# print( name[ 2::3 ] )    # 输出:不影活影
​
print( name[ 2::3 ] )    # 输出:不电,活电苦 【区间范围的后面不写则表示结束范围为最后】
print( name[ ::2 ] )     # 输出:生不电,活电苦 【区间范围不写表示整个字符串】
print( name[ 8:1:-1 ] )  # 输出:活生,影电是不 【倒序】
5.3.2.7 while for 循环
  • while

message = "来做点py交易呀"
index = 0
while index < len(message):
    value = message[index]
    print(value)
    index += 1
  • for循环

message = "来做点py交易呀"
for char in message:
    print(char)
  • range,帮助我们创建一系列的数字

range(10) # [0,1,2,3,4,5,6,7,8,9]
range(1,10) # [1,2,3,4,5,6,7,8,9]
range(1,10,2) # [1,3,5,7,9]
range(10,1,-1) # [10,9,8,7,6,5,4,3,2]
  • For + range

message = "来做点py交易呀"
for i in range( len(message) ): # [0,1,2,3,4,5,6,7]
    print(message[i])

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

止咳糖浆加糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值