Python基本数据类型简介
Python 有多种内置数据类型,每种数据类型都有其特定的用途和特性。以下是 Python 中最基本的数据类型:
1. 数字类型(Numeric Types)
-
整型(int): 整数值,例如
12
。a = 12
-
浮点型(float): 代表小数,例如
3.14
。b = 3.14
-
复数型(complex): 由实部和虚部组成,例如
1 + 2j
。c = 1 + 2j
2. 字符串(str)
表示文本数据,使用单引号或双引号定义,例如 "Hello, World!"
。
s = "Hello, World!"
3. 布尔型(bool)
只有两个值:True
和 False
,通常用于条件判断(后续详解)。
is_active = True
python基本运算符
在 Python 中,运算符是执行各种操作的符号。以下是 Python 中常用的运算符分类及其详细解释:
1. 算术运算符
这些运算符用于进行基本的数学运算:
-
加法 (
+
): 计算两个数的和。a = 5 + 3 # 结果为 8
-
减法 (
-
): 计算两个数的差。b = 5 - 2 # 结果为 3
-
乘法 (
\*
): 计算两个数的乘积。c = 4 * 3 # 结果为 12
-
除法 (
/
): 计算两个数的商(结果为浮点数)。d = 10 / 2 # 结果为 5.0
-
整除 (
//
): 计算两个数的商(结果为整数,向下取整)。e = 10 // 3 # 结果为 3
-
取余 (
%
): 计算两个数的余数。f = 10 % 3 # 结果为 1
-
幂 (
**
): 计算一个数的幂。g = 2 ** 3 # 结果为 8
2. 比较运算符
用于比较两个值的大小关系,返回布尔值(True
或 False
):
-
等于 (
==
): 判断两个值是否相等。print(5 == 5) # 输出 True
-
不等于 (
!=
): 判断两个值是否不相等。print(5 != 3) # 输出 True
-
大于 (
>
): 判断左侧值是否大于右侧值。print(5 > 3) # 输出 True
-
小于 (
<
): 判断左侧值是否小于右侧值。print(5 < 3) # 输出 False
-
大于等于 (
>=
): 判断左侧值是否大于或等于右侧值。print(5 >= 5) # 输出 True
-
小于等于 (
<=
): 判断左侧值是否小于或等于右侧值。print(5 <= 3) # 输出 False
3. 逻辑运算符
用于执行逻辑操作,通常与布尔值一起使用:
-
与 (
and
): 只有当两个操作数都为 True 时,结果为 True。print(True and False) # 输出 False
-
或 (
or
): 只要有一个操作数为 True,结果就为 True。print(True or False) # 输出 True
-
非 (
not
): 反转布尔值。print(not True) # 输出 False
4. 赋值运算符
用于给变量赋值,也可以结合其他运算符使用:
-
赋值 (
=
): 基本赋值。a = 5
-
加赋值 (
+=
): 相当于a = a + b
。a += 3 # a 变为 8
-
减赋值 (
-=
): 相当于a = a - b
。a -= 2 # a 变为 6
-
乘赋值 (
\*=
): 相当于a = a * b
。a *= 2 # a 变为 12
-
除赋值 (
/=
): 相当于a = a / b
。a /= 3 # a 变为 4.0
-
整除赋值 (
//=
): 相当于a = a // b
。a //= 2 # a 变为 2.0
-
取余赋值 (
%=
): 相当于a = a % b
。a %= 2 # a 变为 0.0
-
幂赋值 (
**=
): 相当于a = a ** b
。a **= 3 # a 变为 0.0
5. 身份运算符
用于判断两个对象是否是同一个对象:
-
is
: 判断两个对象是否相同。a = [1, 2, 3] b = a print(a is b) # 输出 True
-
is not
: 判断两个对象是否不同。c = [1, 2, 3] print(a is not c) # 输出 True
6. 成员运算符
用于测试序列中是否包含某个值:
-
in
: 判断值是否在序列中。fruits = ["apple", "banana", "cherry"] print("banana" in fruits) # 输出 True
-
not in
: 判断值是否不在序列中。print("grape" not in fruits) # 输出 True
小结
Python 的运算符功能强大,涵盖了从基本的数学运算到复杂的逻辑判断等多个方面。掌握这些运算符是编写有效 Python 代码的基础。
字符串
在 Python 中,字符串是一种非常常用的数据类型,通常用于存储和操作文本。
1. 字符串的基本形式
字符串可以用单引号或双引号定义:
s1 = 'Hello, World!'
s2 = "Hello, World!"
2. 字符串的常用方法
-
基本方法
len(s)
: 返回字符串的长度。s.lower()
: 将字符串转换为小写。s.upper()
: 将字符串转换为大写。s.title()
: 方法用于将字符串中每个单词的首字母转为大写,其他字母全部转为小写s.strip()
: 去除字符串两端的空格。返回的结果是一个列表(后续讲解列表)
-
替换
s.replace(old, new)
: 将字符串中的old
替换为new
。
-
示例代码
s = " Hello, World! " # 1. 打印字符串长度 print("长度:", len(s)) # 2. 去除空格 s_trimmed = s.strip() print("去除空格:", s_trimmed) # 3. 转换大小写 print("小写:", s_trimmed.lower()) print("大写:", s_trimmed.upper()) # 4. 分割字符串 words = s_trimmed.split(", ") print("分割后的列表:", words) # 5. 替换字符串 s_replaced = s_trimmed.replace("World", "Python") print("替换后的字符串:", s_replaced)
3. 字符串格式化
在 Python 中,占位符通常用于字符串格式化,以便在字符串中插入变量或值。Python 提供了几种方法来实现字符串的格式化,以下是常见的几种占位符用法:
1. 百分号 (%
) 占位符
这种方法使用 %
符号进行字符串格式化:
name = "Alice"
age = 20
formatted_string = "My name is %s and I am %d years old." % (name, age)
print(formatted_string)
%s
用于字符串
%d
用于整数
%f
用于浮点数
2. str.format()
方法
str.format()
是一种更灵活的格式化方式:
name = "Bob"
age = 25
formatted_string = "My name is {} and I am {} years old.".format(name, age)
print(formatted_string)
# 也可以使用位置参数或关键字参数
formatted_string = "My name is {0} and I am {1} years old.".format(name, age)
print(formatted_string)
3. f-strings
(格式化字符串字面量)
从 Python 3.6 开始,可以使用 f-strings 进行字符串格式化,更加简洁直观:
name = "Charlie"
age = 22
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)
小结
-
%
占位符是较旧的方法,适合简单的格式化。 -
str.format()
和 f-strings 是更现代和灵活的选择,特别是 f-strings 更加简洁易读。
条件判断
在 Python 中,条件判断主要使用 if
语句,可以根据条件的真假来执行不同的代码块。以下是条件判断的基本用法:
1. 基本语法
条件判断主要通过 if
语句实现。基本的语法结构如下:
if condition:
# 当条件为 True 时执行的代码
- condition 是一个表达式,返回布尔值(
True
或False
)。
2. else
和 elif
为了处理多种条件,可以使用 else
和 elif
(即“else if”):
if condition1:
# 当 condition1 为 True 时执行
elif condition2:
# 当 condition1 为 False,且 condition2 为 True 时执行
else:
# 当 condition1 和 condition2 都为 False 时执行
示例
temperature = 25
if temperature > 30:
print("天气很热")
elif temperature > 20:
print("天气适中")
else:
print("天气凉爽")
3. 布尔运算符
布尔运算符可以组合多个条件:
and
: 只有当所有条件都为 True 时,结果才为 True。
age = 20
if age >= 18 and age < 65:
print("可以工作")
or
: 只要其中一个条件为 True,结果就为 True。
is_student = False
if age < 18 or is_student:
print("可以享受优惠票价")
not
: 反转条件的真假。
is_member = True
if not is_member:
print("请注册为会员")
4. 嵌套条件
可以在一个 if
语句内嵌套另一个 if
语句,以处理更复杂的逻辑:
score = 85
if score >= 60:
print("及格")
if score >= 90:
print("优秀")
else:
print("良好")
else:
print("不及格")
5. 小结
条件判断是控制程序执行流的重要工具,能根据不同情况执行不同的代码。通过组合条件、嵌套判断以及使用布尔运算符,可以处理复杂的逻辑。掌握这些基本概念后,可以在编程中灵活应用。
循环
在 Python 中,循环是用于重复执行某段代码的结构,主要有两种类型的循环:for
循环和 while
循环。下面我们来详细讲解这两种循环的用法和特点。
1. for
循环
for
循环是一种轮询机制,对一批内容进行逐个处理, 用于遍历可迭代对象(如列表、元组、字典、字符串等)。
for循环无法定义循环条件,所以理论上无法构造无限循环(被处理的数据集不可能无限大)
基本语法
for 变量 in 被处理的数据(序列):循环条件满足时执行的代码.
for variable in iterable:
# 执行的代码
示例
遍历字符串:
s = "Hello"
for char in s:
print(char)
使用 range()
range()
函数生成一个整数序列,常用于需要特定次数的循环:
for i in range(5):
print(i) # 输出 0 到 4
2. while
循环
while
循环在条件为 True 时重复执行代码块。可以自定义循环条件,自行控制循环条件, 实现无限循环
基本语法
while condition:
# 执行的代码
示例
使用 while
循环计算总和:
total = 0
count = 0
while count < 5:
total += count
count += 1
print("总和是:", total) # 输出 10
3. 循环控制语句
break
用于提前退出循环:
for i in range(10):
if i == 5:
break
print(i) # 输出 0 到 4
continue
用于跳过当前迭代,继续下一次循环:
for i in range(5):
if i == 2:
continue
print(i) # 输出 0, 1, 3, 4
else
子句
for
和 while
循环都可以有一个可选的 else
子句,只有在循环正常结束(没有被 break
终止)时才会执行:
for i in range(5):
print(i)
else:
print("循环结束") # 输出 "循环结束"
4. 嵌套循环
可以在一个循环内使用另一个循环:
for i in range(3):
for j in range(2):
print(f"i: {i}, j: {j}")
5. 实现九九乘法表
while循环
# 九九乘法表
i = 1
while i <= 9:
j = 1
while j <=i :
# 内层循环内容不要换行,通过制表符进行对齐
print (f'{j} x {i} = {j * i}\t',end = '')
j += 1
i += 1
print() # 空内容就是输出、换行
for循环
语句: for 变量 in 被处理的数据(序列):循环条件满足时执行的代码
# 九九乘法表
for i in range (1, 10):
for j in range (1, i + 1):
print(f'{j} x {i} = {j * i}',end='\t')
print()
print()
小结
使用场景:while循环适用于任何想要循环的场景;for循环适用于遍历数据容器的场景或简单的固定次数循环场景
循环是编程中不可或缺的部分,允许你在满足条件时重复执行代码。通过选择合适的循环结构和控制语句,可以实现复杂的逻辑和算法。