基本数据类型

基本数据类型介绍

  • 八大基本数据类型
    • 数字类型
      • 整数(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)索引取值

  • 字符串属于序列类型,可通过每个值所在位置的编号(称为索引)访问它们
  • 字符串中的空格也算一个索引值
  • 取值是用[]中括号

image

a = 'Hello World'
print(a[0]) # H
print(a[10]) # d
  • Python 还支持索引值是负数,此类索引是从右向左计数,从最后一个元素(索引值-1)开始计数

image

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} 谁在前面谁就是老大
posted @   ssrheart  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示