python10

6.1数据类型(上)

常见的数据类型

  • int,整数类型(整形)
  • bool,布尔类型
  • str,字符串类型
  • list,列表类型
  • tuple,元组类型
  • dict,字典类型
  • set,集合类型
  • float,浮点类型(浮点数)

image-20230924092618847

每种数据类型的讲解,会按照以下四个维度来进行

1.定义

2.独有功能

3.公共功能

4.类型转换

5.其他

1.整形

整形其实就是十进制整数的统称,比如:1,68,999都属于整形。它一般用于表示年龄,序号等。

1.1定义

number = 10
age = 99

1.2独有功能

v1 = 5
#调用v1(int)的独有功能,获取v1的二进制有多少位组成。
result = v1.bit_length()
print(result)   #3

1.3公共功能

加减乘除

v1 = 5
v2 = 6
v3 = v1 + v2

1.4类型转换

在项目开发和面试题中经常会出现一些"字符串"和布尔值转换为整形的情况。

#布尔值转整型
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表示八进制)
vx = int("0x59",base=16 #把字符串看成十六进制的值,然后在转换为十进制整数,结果:v1 = 89(0x表示十六进制)
#浮点数(小数)
v1 = int(8.7) #8

所以如果别人给你一个二进制,八进制,十六进制,规则储存的字符串时可以轻松的通过int转换为十进制的整数

1.5其他

1.5.1长整型

  • Python3:整型(无限制)

  • Python2:整型,长整型

在Python2中跟整形相关的数据类型有两种:int(整形),long(长整型),他们都是整形只是表示的范围不同。

  • int,可表示的范围:-9223372036854775808~9223372036854775807
  • long,整数值超出int范围之后自动转换为long类型(无上限)

在Python3中去除了long只剩下:int(整形),并且int长度不在受限

1.5.2地板除

  • Python3:

    v1 = 9/2
    print(v1) #4.5
    
  • Python2:

    v1 = 9/2
    print(v1) #4
    
    form_future_import division
    v1 = 9/2
    print(v1) #4.5
    

2.布尔类型

布尔值,其实就是"真" "假"

2.1定义

data = False
alex = True

2.2独有功能

2.3公共功能

v1 = True + True
print(v1) #2

2.4转换

在以后开发项目中,会经常使用其他类型的字符转换为布尔值的情景,此处只要记住一个规律即可。

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

2.5其他

2.5.1做条件自动转换

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

if 0:
	print(666)
else:
	print(999)

3.字符串类型

字符串,我们平时会用他来表示文本信息。例如:姓名,地址,自我介绍等。

3.1定义

v1 = "包治百病"
v2 = '包治百病'
v3 = "包'治百病"
v4 = '包"治百病'
v5 = """包治百病"""

3.2独有功能

"xxxx".功能(...)

1.判断字符串是否以xx开头?得到一个布尔值。

v1 = "吉林省长春市"
result = v1.startswitch("吉林省")
print(result)  #True
#案例
v1 = input("请输入地址")
if v1.startswitch("北京市"):
	print("北京人口")
else:
	print("非北京人口")
v1 = "吉林省长春市"
result = v1.endswitch("长春市")
print(result)  #True
#案例
v1 = input("请输入地址")
if v1.endswitch("村"):
	print("农业户口")
else:
	print("非农业户口")

3.判断字符串是否是十进制数?得到一个布尔值。

v1 = "1234567"
result = v1.isdecima1()
print(result) #True

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

msg = " H e ll o啊,树哥 "
data = msg.strip()
print(data) #将msg的两边的空白去掉,得到"H e ll o啊,树哥"
msg = " H e ll o啊,树哥 "
data = msg.lstrip()
print(data) #将msg的两边的空白去掉,得到"H e ll o啊,树哥 "
msg = " H e ll o啊,树哥 "
data = msg.rstrip()
print(data) #将msg的两边的空白去掉,得到" H e ll o啊,树哥"

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

msg = "哥H e ll o啊,树哥"
data = msg.strip("哥")
print(data) #将msg的两边的空白去掉,得到"H e ll o啊,树"
msg = "哥H e ll o啊,树"
data = msg.lstrip("哥")
print(data) #将msg左边的哥去掉,得到"H e ll o啊,树"
msg = "H e ll o啊,树哥"
data = msg.strip("哥")
print(data) #将msg的右边的哥去掉,得到"H e ll o啊,树"

5.字符串变大写得到一个新的字符串

msg = "my name is oliver queen"
data = msg.upper()
print(msg) #my name is oliver queen
print(data) #MY NAME IS OLIVER QUEEN
#案例
code = input("请输入4位验证码:")#  FB88  fb88
value = code.upper() #  FB88
data = value.strip() # FB88
# data = value.strip().upper() 
if data == "FB88":
	print("验证码正确")
else:	
	print("验证码错误")

6.字符串变小写得到一个新的字符串

msg = "MY NAME IS OLIVER QUEEN"
data = msg.lower()
print(msg) #MY NAME IS OLIVER QUEEN
print(data) #my name is oliver queen

7.字符串内容替换,得到一个新的字符串。

data = "你是个好人,但是好人不适合我"
value = data.replace("好人","贱人")
print(value) #"你是个贱人,但是贱人不适合我"

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

data = "武佩琦|root|wupeiqi@qq.com"
result = data.split('|')
print(result)  #['武佩琦', 'root', 'wupeiqi@qq.com']
data = "武佩琦|root|wupeiqi@qq.com"
result = data.split('|', 1)
print(result)  #['武佩琦', 'root|wupeiqi@qq.com']
data = "武佩琦|root|wupeiqi@qq.com"
result = data.rsplit('|', 1)
print(result)  #['武佩琦|root', 'wupeiqi@qq.com']
#案例:判断用户名是否正确
info = "张云嘉,root"
use_list = info.split(',')   #得到特定字符切开之后保存在列表中['武佩琦', 'root']
user = input("请输入用户名:")
pwd = input("请输入密码:")
if user == user_list[0] and pwd == user_list[1]:
	print("登录成功")
else:
	print("用户名或密码错误")

9.字符串的拼接,得到一个新的字符串。

data_list = ["alex","是","大烧饼"]
v1 = "".join(data_list) #alex是大烧饼
print(v1)
posted @ 2023-09-25 23:03  .Views  阅读(23)  评论(0)    收藏  举报