深圳罗湖区网站建设,张家港市规划建设网站,六安市核酸检测结果查询,网页模板怎么做前言本章节讲述python的基础数据类型#xff0c;python的基础数据类型主要包括以下不可变数据#xff08;3 个#xff09;#xff1a;Number#xff08;数字#xff09;、String#xff08;字符串#xff09;、Tuple#xff08;元组#xff09;#xff1b;可变…前言本章节讲述python的基础数据类型python的基础数据类型主要包括以下不可变数据3 个Number数字、String字符串、Tuple元组可变数据3 个List列表、Dictionary字典、Set集合。Number数字number数字类型用于表示数值数据。Python 提供了多种内置的数字类型主要包括1. 整数 (int)int 类型用于表示整数可以是正数、负数或零。Python 3 的 int 类型没有大小限制仅受限于可用内存因此可以处理非常大的整数。特点无大小限制可以用十进制、二进制、八进制或十六进制表示示例# 十进制x 42y -17z 0# 二进制 (以 0b 或 0B 开头)binary_num 0b1010 # 等于十进制的 10# 八进制 (以 0o 或 0O 开头)octal_num 0o17 # 等于十进制的 15# 十六进制 (以 0x 或 0X 开头)hex_num 0xFF # 等于十进制的 255# 大整数big_num 123456789012345678901234567890print(type(big_num)) # class int2. 浮点数 (float)float 类型用于表示带有小数点的数字实数。它们遵循 IEEE 754 双精度浮点数标准通常有大约 17 位有效数字。特点有精度限制可能存在浮点数精度问题可以用科学计数法表示示例# 普通浮点数pi 3.14159temperature -12.5price 9.99# 科学计数法scientific 1.5e-3 # 等于 0.0015large_float 2.5e8 # 等于 250000000.0# 浮点数精度问题示例print(0.1 0.2) # 输出: 0.30000000000000004print(0.1 0.2 0.3) # 输出: False# 使用 decimal 模块解决精度问题from decimal import Decimalprint(Decimal(0.1) Decimal(0.2) Decimal(0.3)) # True3. 复数 (complex)complex 类型用于表示复数形式为 a bj其中 a 是实部b 是虚部j 表示虚数单位√-1。特点实部和虚部都是浮点数可以通过 .real 和 .imag 属性访问实部和虚部示例# 复数z1 3 4jz2 -2.5 1.7jz3 5j # 只有虚部z4 3.0 0j # 只有实部# 访问实部和虚部print(z1.real) # 3.0print(z1.imag) # 4.0# 复数运算z_sum z1 z2print(z_sum) # (0.55.7j)# 获取模长import cmathprint(abs(z1)) # 5.0print(cmath.phase(z1)) # 获取相位4. 布尔值 (bool)虽然 bool 类型通常被视为逻辑类型但在 Python 中它是 int 的子类。True 和 False 分别等价于整数 1 和 0。示例# 布尔值is_active Trueis_done False# 布尔值是 int 的子类print(isinstance(True, int)) # Trueprint(True 1) # 2print(False * 10) # 0# 在条件语句中的使用if True:print(这总是会执行)if 1:print(非零数值被视为 True)5. 数字类型的转换Python 提供了内置函数在不同数字类型之间进行转换。转换函数# int() - 转换为整数print(int(3.7)) # 3 (向零取整)print(int(42)) # 42print(int(True)) # 1# float() - 转换为浮点数print(float(42)) # 42.0print(float(3.14)) # 3.14print(float(True)) # 1.0# complex() - 转换为复数print(complex(3, 4)) # (34j)print(complex(23j)) # (23j)6. 数字类型的检查和操作# 检查类型x 42y 3.14z 2 3jprint(type(x)) # class intprint(type(y)) # class floatprint(type(z)) # class complex# isinstance() 检查print(isinstance(x, int)) # Trueprint(isinstance(y, float)) # Trueprint(isinstance(z, complex)) # True# 常用数学运算a, b 10, 3print(a b) # 13print(a - b) # 7print(a * b) # 30print(a / b) # 3.333... (结果总是 float)print(a // b) # 3 (整除)print(a % b) # 1 (取余)print(a ** b) # 1000 (幂运算)7. 内置数学函数Python 提供了许多内置的数学函数# 基本数学函数print(abs(-5)) # 5print(round(3.14159, 2)) # 3.14print(pow(2, 3)) # 8print(max(1, 5, 3)) # 5print(min(1, 5, 3)) # 1# 需要导入 math 模块import mathprint(math.pi) # 3.141592653589793print(math.e) # 2.718281828459045print(math.sqrt(16)) # 4.0print(math.floor(3.7)) # 3print(math.ceil(3.2)) # 4print(math.log(10)) # 自然对数print(math.log10(100)) # 以10为底的对数String字符串字符串String 在python中是一种用于表示文本数据的基本数据类型。字符串是由一系列字符组成的不可变序列。1. 字符串的创建Python 中有多种方式创建字符串# 使用单引号s1 Hello World# 使用双引号s2 Hello World# 使用三重引号可以跨行s3 这是一个多行字符串s4 也可以这样写# 空字符串empty_str 注意单引号和双引号功能相同选择一种风格并保持一致。三重引号常用于文档字符串docstring或多行文本。2. 字符串的特性不可变性Immutable字符串一旦创建就不能被修改。任何“修改”操作实际上都会创建一个新的字符串对象。有序性Ordered字符串中的字符有固定的顺序可以通过索引访问。可迭代Iterable可以使用 for 循环遍历字符串中的每个字符。3. 字符串索引与切片索引Indexingtext Pythonprint(text[0]) # P (第一个字符)print(text[-1]) # n (最后一个字符)print(text[5]) # n切片Slicing语法string[start:end:step]text Hello World# 基本切片print(text[0:5]) # Hello (索引0到4)print(text[6:]) # World (从索引6到末尾)print(text[:5]) # Hello (从开头到索引4)# 步长print(text[::2]) # HloWrd (每隔一个字符)print(text[::-1]) # dlroW olleH (反转字符串)# 负索引切片print(text[-5:]) # World4. 字符串的常用操作拼接Concatenation# 使用 操作符greeting Hello World# 使用 join() 方法推荐效率更高words [Hello, Beautiful, World]sentence .join(words) # Hello Beautiful World重复repeat Ha * 3 # HaHaHa长度length len(Python) # 65. 常用字符串方法Python 提供了丰富的内置方法来操作字符串text Hello World # 大小写转换print(text.upper()) # HELLO WORLD print(text.lower()) # hello world print(text.capitalize()) # hello world - hello world (首字母大写)print(text.title()) # Hello World # 去除空白print(text.strip()) # Hello Worldprint(text.lstrip()) # Hello World (左)print(text.rstrip()) # Hello World (右)# 查找与替换print(text.find(World)) # 8 (找到的索引未找到返回-1)print(text.replace(World, Python)) # Hello Python # 判断方法print(Hello.isalpha()) # True (是否全是字母)print(123.isdigit()) # True (是否全是数字)print(hello.startswith(he)) # Trueprint(world.endswith(ld)) # True# 分割与合并sentence apple,banana,orangefruits sentence.split(,) # [apple, banana, orange]joined -.join([a, b, c]) # a-b-c6. 字符串格式化1. f-string推荐Python 3.6name Aliceage 25message f我的名字是 {name}今年 {age} 岁。print(message) # 我的名字是 Alice今年 25 岁。2. .format() 方法message 我的名字是 {}今年 {} 岁。.format(name, age)message 我的名字是 {n}今年 {a} 岁。.format(nname, aage)3. % 格式化较老的方式message 我的名字是 %s今年 %d 岁。 % (name, age)7. 转义字符使用反斜杠 \ 来表示特殊字符转义字符 含义\\ 反斜杠\ 单引号\ 双引号\n 换行\t 制表符\r 回车print(Hello\nWorld) # 换行print(He said: \Hello\) # He said: Helloprint(C:\\Users\\Name) # 路径原始字符串Raw String在字符串前加 r忽略转义字符。path rC:\Users\Name\Documents # 不需要双写反斜杠8. 字符串的不可变性示例text Hello# text[0] h # ❌ 错误字符串不可变# 正确的做法是创建新字符串new_text h text[1:] # hello9. 实用技巧遍历字符串for char in Python:print(char)检查子字符串if hello in hello world:print(找到了)统计字符text helloprint(text.count(l)) # 2Tuple元组在 Python 中元组Tuple 是一种有序、不可变的序列数据类型。它与列表List非常相似但最大的区别在于一旦创建元组的内容不能被修改。1. 元组的创建元组可以通过以下几种方式创建# 使用圆括号 ()t1 (1, 2, 3, 4, 5)t2 (apple, banana, cherry)t3 (1, hello, 3.14, True)# 单个元素的元组需要加逗号single (42,) # 注意逗号否则会被当作普通括号print(type(single)) # class tuple# 省略括号但不推荐可读性差t4 1, 2, 3print(type(t4)) # class tuple# 空元组empty_tuple ()# 使用 tuple() 构造函数t5 tuple([1, 2, 3]) # 从列表创建t6 tuple(hello) # 从字符串创建 - (h, e, l, l, o)2. 元组的特性特性 说明有序Ordered 元素有固定的顺序可以通过索引访问不可变Immutable 一旦创建不能添加、删除或修改元素可重复Allow Duplicates 可以包含重复的元素可哈希Hashable 如果元组中的所有元素都是不可变的那么元组本身是可哈希的可以用作字典的键或集合的元素3. 元组的访问索引Indexingt (10, 20, 30, 40, 50)print(t[0]) # 10print(t[-1]) # 50 (最后一个)切片Slicingprint(t[1:4]) # (20, 30, 40)print(t[::2]) # (10, 30, 50)print(t[::-1]) # (50, 40, 30, 20, 10) 反转4. 元组的操作拼接Concatenationt1 (1, 2)t2 (3, 4)t3 t1 t2 # (1, 2, 3, 4)重复t (1, 2) * 3 # (1, 2, 1, 2, 1, 2)成员检查if 2 in t:print(2 在元组中)长度length len(t) # 获取元组长度5. 元组的常用方法由于元组不可变它的方法很少t (1, 2, 3, 2, 4, 2)# count() - 统计某个元素出现的次数print(t.count(2)) # 3# index() - 查找元素第一次出现的索引print(t.index(3)) # 2# print(t.index(99)) # ValueError: tuple.index(x): x not in tuple6. 元组的解包Unpacking元组解包是 Python 中非常强大和常用的功能。# 基本解包coordinates (3, 4)x, y coordinatesprint(x, y) # 3 4# 函数返回多个值def get_name_age():return Alice, 25name, age get_name_age()# 忽略某些值data (1, 2, 3, 4, 5)a, b, *rest data # a1, b2, rest[3,4,5]print(rest) # [3, 4, 5]# 只取首尾first, *middle, last (1, 2, 3, 4, 5)print(first, middle, last) # 1 [2, 3, 4] 57. 元组的应用场景作为字典的键# ✅ 元组可以作为字典的键locations {(0, 0): 原点,(3, 4): 点A,(-1, 2): 点B}函数返回多个值def min_max(numbers):return min(numbers), max(numbers)minimum, maximum min_max([1, 2, 3, 4, 5])数据保护# 防止意外修改days_of_week (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)# days_of_week[0] Mon # ❌ 会报错保护数据格式化字符串print(坐标: %d, %d % (3, 4))8. 注意事项不可变性是浅层的如果元组包含可变对象如列表那么该对象的内容仍然可以被修改。t (1, [2, 3], 4)t[1].append(5) # ✅ 允许因为修改的是列表print(t) # (1, [2, 3, 5], 4)# t[1] [2, 3, 4] # ❌ 不允许因为要替换元组元素总结