Python数据类型(day05整型&布尔类型&字符串类型)

Python基础语法文章导航:
 

  1. Python基础(01初识数据类型&变量)
  2. Python基础(02条件&循环语句)
  3. Python基础(03字符串格式化&运算符&进制&编码)
  4. Python基础(04 基础练习题)

目录

一.整型

1.定义

2.公共功能

3.常见转换问题

二. 布尔类型

1.定义

2.公共功能

3. 转换

 三. 字符串类型

1. 定义

2. 独有功能

 3.公共功能

4.转换

5.其他


一.整型

1.定义

#整型就是十进制数的统称
number=12
age=26

2.公共功能

加减乘除

3.常见转换问题

#布尔值转整型
n1=int(True)  #True转化为整数 1
n1=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

二. 布尔类型

1.定义

data = False
year = True

2.公共功能

v1 = True + True
print(v1) # 2

3. 转换

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

 三. 字符串类型

1. 定义

v1 = "好好学习python"
v2 = '好好学习python'
v3 = "好好'学习python"
v4 = '好好"学习python'
v5 = """
好好学习python,
因为要为自动化学习打下基础。
"""
# 三个引号,可以支持多行/换行表示一个字符串,其他的都只能在一行中表示一个字符串。

2. 独有功能

(1)判断字符串是否以 XX 开头,得到一个布尔值。

        startswith()

(2)判断字符串是否以 XX 结尾,得到一个布尔值。

        endswith()

(3)判断字符串是否为十进制数,得到一个布尔值。

        isdecimal()

(4)去除字符串两边的 空格、换行符、制表符,得到一个新字符串.

        strip()                    -----将两边的空白去掉

        lstrip()                   -----将左边的空白去掉

        rstrip()                  -----将右边的空白去掉

      扩展:  

        strip("xx")                    -----将两边的xx去掉

        lstrip("xx")                   -----将最左边的xx去掉

        rstrip("xx")                  -----将最右边的xx去掉

(5)字符串变大写,得到一个新字符串(全部字母变大写)

        upper()

(6)字符串变小写,得到一个新字符串(全部字母变小写)

        lower()

(7)字符串内容替换,得到一个新的字符串

        value = data.replace("A","B")   

        ----语句含义:把data字符串中的A换成B,生成一个新的字符串赋值给value

(8)字符串切割,得到一个列表

data = "武沛齐|root|wupeiqi@qq.com"
result = data.split('|')   # ["武沛齐","root","wupeiqi@qq.com"]
#扩展1
v2 = data.split("|", 1) # ['武沛齐', 'root|wupeiqi@qq.com']

#扩展2     
file_path = "xxx/xxxx/xx.xx/xxx.mp4"
data_list = file_path.rsplit(".",1) # ["xxx/xxxx/xx.xx/xxx","mp4"]

(9)字符串拼接,得到一个新的字符串

data_list = ["小明","是","一名优秀的学生"]
v1 = "_".join(data_list)    # 小明_是_一名优秀的学生

(10)格式化字符串,得到新的字符串

name = "{0}的喜欢干很多行业,例如有:{1}、{2} 等"
data = name.format("小明","建筑","理发")
print(data) # 小明的喜欢干很多行业,例如有:建筑、理发 等
print(name) # "{0}的喜欢干很多行业,例如有:{1}、{2} 等"

(11)字符串转换为字节类型

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)

(12)将字符串内容居中、居左、居右展示

v1 = "王老汉"
# data = v1.center(21, "-")
# print(data) #---------王老汉---------

# data = v1.ljust(21, "-")
# print(data) # 王老汉------------------

# data = v1.rjust(21, "-")
# print(data) # ------------------王老汉

(13)帮助你填充0

# 应用场景:处理二进制数据
data = "101" # "00000101"
v1 = data.zfill(8)
print(v1) # "00000101"

 3.公共功能

(1) 相加:字符串+字符串

(2)相乘:字符串*整数

(3)长度:len(str)

(4)获取字符串中的字符,索引

message = "来做点商业交易呀"
#          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)获取字符串中的子序列,切片

message = "来做点商业交易呀"

print(message[0:2]) # "来做"
print(message[3:7]) # "商业交易"
print( message[3:] ) # "商业交易呀"
print( message[:5] ) # "来做点商业"

print(message[4:-1]) # "业交易"
print(message[4:-2]) # "业交"

print( message[4:len(message)] ) # "业交易呀"

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

(6)步长,跳着去字符串的内容

name = "生活不是电影,生活比电影苦"

print( name[ 0:5:2 ] )   # 输出:生不电 【前两个值表示区间范围,最有一个值表示步长】
print( name[ :8:2 ] )    # 输出:生不电,  【区间范围的前面不写则表示起始范围为0开始】、
# 此处老师讲解时,错把 name[ 2::3 ]看成了name[ 2::2 ],更正下。(感谢 B站 放酱啊噗啊噗 同学的反馈)

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

print(name[-1:1:-1])  # 输出:苦影电比活生,影电是不 【倒序】

# 面试题:给你一个字符串,请将这个字符串翻转。
value = name[-1::-1]
print(value)  # 苦影电比活生,影电是不活生

(7)循环

        while循环

message = "来做点商业交易呀"
index = 0
while index < len(message):
	value = message[index]
    print(value)
    index += 1

        for循环

message="来做些商业交易"
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 = "来做点商业交易呀"
for i in range(len(message)): # [0,1,2,3,4,5,6,7]
    print(message[i])

一般应用场景:

  • while,一般在做无限制(未知)循环此处时使用。

# 用户输入一个值,如果不是整数则一直输入,直到是整数了才结束。
num = 0
while True:
    data = input("请输入内容:")
    if data.isdecimal():
        num = int(data)
        break
	else:
        print("输入错误,请重新输入!")
  • for循环,一般应用在已知的循环数量的场景。

message = "来做点商业交易呀"
for char in message:
    print(char)

        break和continue关键字

message = "来做点sy交易呀"
for char in message:
    if char == "s":
        continue
    print(char)

# 输出:
来
做
点
s
交
易
呀
essage = "来做点py交易呀"
for char in message:
    if char == "p":
        break
    print(char)

# 输出:
来
做
点

4.转换

str=str(x)

一般情况下,只有整型转字符串才有意义。

5.其他

字符串不可被修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值