基本数据类型介绍
- 八大基本数据类型
- 数字类型
- 整数(int)
- 浮点数(float)
- 字符串类型(str)
- 列表类型(list)
- 字典类型(dict)#dictionary
- 布尔类型(bool)
- 元组类型(tuple)
- 集合类型(set)
- 数字类型
【一】数字类型
【1】整型(int)
(1)作用
- 广泛用于表示整数值
(2)定义
num1=10
(3)使用
- 可以参与各种数学运算,包括加法、减法、乘法、除法等
【2】浮点(float)
(1)作用
- 用于表示带有小数部分的数值
(2)定义
float1=3.14
(3)使用
- 可以参与各种数学运算,也可以与整数类型进行混合运算
【3】数字类型的应用
(1)数字运算
- 整数和浮点数可以进行常见的数学运算,如下:
a = 10
b = 3.5
c = a + b
print(c) # 13.5
print(type(c)) # <class 'float'>
(2)比较大小
- 我们可以使用比较运算符(如
<
、>
、<=
、>=
)来比较数字的大小,得到布尔类型的结果
a = 5
b = 2
c = a > b
print(c) # True
print(type(c)) # <class 'bool'>
【二】字符串类型(str)
【1】作用
- 字符串类型用于表示文本信息,用于处理文字、字符等信息
【2】定义
(1)定义方式
- 字符串可以使用单引号、双引号或三引号进行定义
name_1 = 'heart'
name_2 = "heart"
name_3 = '''heart'''
name_4 = """heart"""
(2)多行字符串
- 通过三引号可以定义多行字符串,方便表示包含换行的文本内容
# 三引号内部支持多行文本
a = '''
你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~你好~
'''
【3】使用
- 字符串只能进行"相加"和"相乘"的运算
(1)相加
- 字符串可以通过加号
+
进行拼接,相加其实就是字符串的拼接
a = "hello"
name = "heart"
message = a + "," + name
print(message) # hello,heart
(2)相乘
- 字符串可以通过乘号
*
进行重复,相乘就相当于将字符串相加
a= 'heart'
print(a * 2) # heartheart
(3)索引取值
- 字符串属于序列类型,可通过每个值所在位置的编号(称为索引)访问它们
- 字符串中的空格也算一个索引值
- 取值是用
[]
中括号
a = 'Hello World'
print(a[0]) # H
print(a[10]) # d
- Python 还支持索引值是负数,此类索引是从右向左计数,从最后一个元素(索引值-1)开始计数
a = 'Hello World'
print(a[-1]) # d
print(a[-11]) # H
(4)格式化输出
[1] 占位符 %输出
- 使用
%
运算符进行格式化输出,可以在字符串中插入占位符,然后通过%
运算符传入相应的值
# 格式化输出语法: 占位符
# 使用 %s 占位符,输出字符串
name = "heart"
print("My name is %s" % name)
# My name is heart
# 使用 %d 占位符,输出整数
age = 18
print("My age is %d" % age)
# My age is 18
# 使用 %f 占位符,输出浮点数,默认保留六位小数
height = 180.5
print("My height is %f" % height)
# My height is 180.500000
# 使用 %.2f 占位符,保留两位小数
height = 180.5
print("My height is %.2f" % height)
# My height is 180.50
# 使用 %x 占位符,输出十六进制整数
number = 255
print("Number in hex: %x." % number)
# Number in hex: ff.
# 两个以上的占位符格式化输出
print("My name is %s; My age is %d" % (heart, age))
# My name is heart; My age is 18
- 在上例中,
%s
和%d
是占位符,分别表示字符串和整数,而(name, age)
是传入这两个占位符的实际值 - 占位符类型
%s
:字符串%d
:整数%f
:浮点数%x
:十六进制整数
[2] f {} 输出
- 使用 f
{}
进行格式化输出,在字符串前加上f
前缀,然后在字符串中使用{}
表示占位符,在{}
中直接引用变量
name = "heart"
age = 18
# 格式化输出语法: f {}
print(f"My name is {name}, My age is {age}")
# My name is heart, My age is 18
[3] format 输出
- 使用
format
方法进行格式化输出,通过花括号{}
表示占位符,然后调用.format
方法传入实际值
name = "heart"
age = 18
# 格式化输出语法 :format
print("My name is {}; My age is {}".format(name, age))
# My name is heart; My age is 18
(5)字符串的转义
- 在字符串中,转义字符用于表示一些特殊字符或执行一些特殊操作,常用的转义字符如下:
转义字符 | 说明 |
---|---|
\n | 换行符 |
\r | 回车符 |
\t | 水平制表符,也即 Tab 键,一般相当于四个空格。 |
\a | 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。 |
\b | 退格(Backspace),将光标位置移到前一列。 |
\ | 反斜线 |
' | 单引号 |
" | 双引号 |
\ | 在字符串行尾的续行符,即一行未完,转到下一行继续写。 |
# 换行符
print("Hello\nWorld")
# Hello
# World
# 制表符
print("Name\tAge")
# Name Age
# 单引号
print("I'm a programmer.")
# I'm a programmer.
# 双引号
print("He said, \"Hello.\"")
# He said, "Hello."
【三】列表类型
【1】作用
- 将值(字符串)存入列表里,方便读取
list1 = ['heart', 'tom', 'rose']
print(list1) # ['heart','tom','rose']
print(type[list1]) # <class 'list'>
【2】使用
(1)索引取值
- 从0开始索引取值
list1 = ['heart', 'tom', 'rose']
print(list1[0]) # heart
print(list1[1]) # tom
(2)列表嵌套及嵌套取值
- 列表可以嵌套在其他列表中,形成二维或者多维数组,可以方便地处理复杂的数据结构
# 列表嵌套
class1 = ['张三', '李四', '王五']
class2 = ['heart', 'tom', 'rose']
classes = [class1, class2]
print(classes)
# [['张三', '李四', '王五'], ['heart', 'tom', 'rose']]
# 嵌套取值(格式化输出)例子:
number_list = [1, "heart", 4, [8, 9, ["music", ["12345678910", '15696963636']]]]
print(
f"my name is {number_list[1]} my hobby is {number_list[3][2][0]} my phone is {number_list[3][2][1][0]}") # my name is heart my hobby is music my phone is 18969693636
【四】字典类型
【1】作用
- 字典类型是用key:value形式来存储数据
- 其中key可以对value有描述性的功能,能够明确的描述详细信息
【2】定义
- 字典就是可以同时记录这个值是什么意思以及这个值是什么
dict1 = {'key': 'value'}
name_dict = {'name': 'heart'}
【3】使用
(1)字典取值(键取值)
- 字典只能通过key取值,并且是在中括号里输key的值
name_dict = {'name': 'heart'}
name = name_dict['name']
print(name) # heart
(2)字典取值(get)
- 使用get方法取字典里的值,同样也是输key的值
- 如果字典里没有要取的那个键,在后面添加个value值,会输出来值
name_dict = {'name': 'heart'}
name = name_dict.get('name')
print(name) # heart
# 如果字典里没有age这个键,在后面添加个value值,会输出来值
age = name_dict.get('age', 18)
print(age) # 18
(3)加值&替换
- 往字典里加值&替换
name_dict = {'name': 'heart'}
name_dict['age'] = 18 # 加值
name_dict['name'] = ssrheart # 替换新值
print(name_dict) # {'name': 'ssrheart', 'age': 18}
(4)字典嵌套及取值
dict1 = {'name': 'Tom', 'age': 18}
dict2 = {'name': 'Jerry', 'age': 19}
classroom = {'student1': dict1, 'student2': dict2} #把上面两个字典嵌套到classroom这个字典里
print(classroom)
# {'student1': {'name': 'Tom', 'age': 18}, 'student2': {'name': 'Jerry', 'age': 19}}
# 取值
student1_name = classroom['student1']['name']
print(student1_name) # Tom
student2_age = classroom['student2']['age']
print(student2_age) # 19
info = {
'name': 'heart',
'addr': {
'国家': '中国',
'info': [666, 999, {'编号': 466722, 'hobby': ['read', 'study', 'music']}]
}
}
# 取值
print(f"""
my name is {info['name']}
my country is {info['addr']['国家']}
我的编号 {info['addr']['info'][2]['编号']}
我的爱好 {info['addr']['info'][2]['hobby'][2]}
我的幸运数字 {info['addr']['info'][1]}
""")
#my name is heart my country is 中国 我的编号 466722 我的爱好 music 我的幸运数字 999
【五】布尔类型
【1】作用
-
布尔类型用于表示逻辑值,只有两个取值:True 和 False
-
通常用于控制程序的流程,例如条件判断、循环等
【2】定义
- 布尔类型只有两个取值:True 和 False。首字母必须大写
- 布尔值的命名规范:结果可能是布尔值的情况,采用 is 开头 命名
is_right = True
【3】使用
(1)条件判断
- 一般用于条件判断中,例如if语句中:
if is_right:
print("你好")
else:
print("你不好")
(2)比较运算
- 一般用于表达式的判断,例如比较运算
x = 5
y = 10
is_greater = x > y
print(is_greater) # 输出结果:False
【六】元组类型
【1】作用
-
元组(tuple)是一种不可变的序列类型,类似于列表,用于存储多个有序元素
-
元组的元素不能被修改、删除或添加,是不可变的数据类型
【2】定义
- 元组通过小括号
()
定义,用逗号,
分隔,可以用索引访问元素 - 要加逗号才是元组类型
my_tuple = ('heart', 18)
print(my_tuple[0]) # heart
print(my_tuple) # ('heart', 18)
print(type(my_tuple)) # <class 'tuple'>
【3】元组解包
- 元组解包是一种将元组中的元素分配给多个变量的方法
- 列表也可以解包
name_one, name_two = ('heart', 18)
print(name_one) # heart
print(name_two) # 18
【七】集合类型(set)
【1】作用
- 集合是一种无序、不重复的数据类型,用于存储多个独立的元素
- 集合通常用于去除重复元素,执行集合运算(如并集、交集、差集等)
【2】定义
- 集合通过大括号
{}
定义,其中的元素是不可重复的,可以包含不同的数据类型 - 可以使用
set()
构造函数创建集合
aa = {1, 2, 3, 4, 5, 6, "heart"}
aa1 = set([1, 2, 3, 4, 5, 6])
【3】使用
(1)集合的增删元素操作
- 集合支持添加元素、删除元素、成员测试等
aa.add() # 添加元素
aa.remove() # 删除元素
#成员测试
aa = {1, 2, 3, 4, 5, 6, "heart"}
is_member = 2 in aa # 从0开始计算
print(is_member) # 输出结果为True
(2)集合运算
- 集合支持多种运算,并集、交集、差集等。
set_aa = {1, 2, 3, 4}
set_bb = {3, 4, 5, 6}
# 并集 .union 把两个集合并到一起输出
print(set_aa.union(set_bb)) # {1, 2, 3, 4, 5, 6}
# 交集 .intersection 把两个集合共有的部分输出
print(set_aa.intersection(set_bb)) # {3, 4}
# 差集 .difference 把前面的集合与后面的集合之间缺失的部分输出
print(set_bb.difference(set_aa)) # {5, 6} 谁在前面谁就是老大
标签:基本,heart,name,age,数据类型,print,My,你好
From: https://www.cnblogs.com/ssrheart/p/17861999.html