5 Python变量

本篇是 Python 系列教程第 5 篇,更多内容敬请访问我的 Python 合集

1 定义变量

在Python中定义变量非常简单,你只需要给变量赋值即可。Python会自动检测变量的数据类型。下面是一些基本的例子来展示如何定义不同类型的变量:

1.1 整数

age = 25

1.2 浮点数

height = 1.75

1.3 字符串

name = "Alice"

1.4 布尔

is_student = True

1.5 列表

numbers = [1, 2, 3, 4, 5]

1.6 元组

(类似于列表,有序但不可变)

colors = ("red", "green", "blue")

1.7 字典

person = {"name": "Bob", "age": 30}

1.8 集合

fruits = {"apple", "banana", "cherry"}

我们可以直接使用这些变量而无需事先声明它们的类型。例如:

print(age)
print(name)
print(numbers)

如果我们需要查看变量的类型,可以使用 type() 函数:

print(type(age))  # <class 'int'>
print(type(name))  # <class 'str'>
print(type(numbers))  # <class 'list'>

2 关键字

在Python中,有一些保留的关键字是不能被用作变量名、函数名或其他标识符的名字的。这些关键字具有特殊的含义,用于语言结构和控制流等。以下是Python中的关键字列表:

  • False小写的false不是关键字
  • None小写的none不是关键字
  • True小写的true不是关键字
  • and
  • as
  • assert
  • async
  • await
  • break
  • class
  • continue
  • def
  • del
  • elif
  • else
  • except
  • finally
  • for
  • from
  • global
  • if
  • import
  • in
  • is
  • lambda
  • nonlocal
  • not
  • or
  • pass
  • raise
  • return
  • try
  • while
  • with
  • yield

这些关键字都不能作为变量名使用。例如,你不能将一个变量命名为ifforclass等。如果尝试这样做,Python解释器会抛出一个SyntaxError错误。

示例:

# 错误用法
if = 5  # SyntaxError: invalid syntax

正确的做法是选择一个合法变量名,它应该符合以下规则:

  • 只能由字母、数字和下划线组成。
  • 必须以字母或下划线开头。
  • 区分大小写。如Variable, variable, 和 VARIABLE 是三个不同的变量。

例如:

# 正确用法
my_variable = 5

3 命名规则

在Python中,变量命名遵循一定的规则和约定。下面是关于如何正确命名Python变量的一些指导原则:

  1. 只能包含字母、数字和下划线
  • 字母可以是大写(A-Z)或小写(a-z)。
  • 数字可以是0到9。
  • 下划线(_)可以用作单词之间的分隔符。
  1. 必须以字母或下划线开头
  • 不能以数字开头,例如 1variable 是非法的,但 variable1 是合法的。
  1. 区分大小写
  • Variable, variable, 和 VARIABLE 是三个不同的变量。
  1. 避免使用Python关键字和内置函数名
  • 虽然不是语法错误,但是使用如 list, str, print 等作为变量名可能会导致意外的行为或混淆。
  1. 建议使用小写字母和下划线
  • 按照PEP 8(Python的官方编码风格指南),变量名一般采用小写字母加下划线的方式,如 first_nametotal_cost
  1. 模块名、包名、类名和其他标识符也有各自的命名约定
  • 模块名通常使用小写字母。
  • 类名通常使用驼峰式命名法(CamelCase),例如 MyClass
  • 常量(值不会改变的变量)通常全部使用大写字母,并用下划线分隔单词,如 PIMAX_CONNECTIONS
  1. 私有属性和方法的命名
  • 如果希望某个类的属性或方法不被外部直接访问,可以使用单个前导下划线 _ (例如 _secret),这表示这是一个内部实现细节。
  • 如果希望完全隐藏一个属性或方法,可以使用双前导下划线 __ (例如 __private)。这将触发名称改编机制,使得该属性或方法在类的外部无法直接访问。
  1. 避免使用过于简短的变量名
  • 使用有意义的名称可以让代码更易读,例如使用 student_id 而不是 sid

下面是一些合法的变量名示例:

# 合法的变量命名
first_name = 'John'
last_name = 'Doe'
age = 30
pi = 3.14159
max_connections = 1000
is_student = True

下面是一些不合法的变量名示例:

# 不合法的变量命名
1_first_name = 'John'  # 不能以数字开头
if = 5                 # 不能使用关键字
my-variable = 'test'   # 不能包含特殊字符

4 基本数据类型

Python支持多种基本数据类型,这些类型可以用来存储不同类型的数据。以下是Python中最常见的几种基本数据类型:

  1. 整数 (int):
  • 用于表示整数值,如 42-7
  1. 浮点数 (float):
  • 用于表示带有小数部分的数值,如 3.14-0.001
  1. 复数 (complex):
  • 用于表示复数值,如 3+4j5.6j
  1. 字符串 (str):
  • 用于表示文本数据,可以使用单引号 'hello' 或双引号 "world" 来创建字符串。
  1. 布尔值 (bool):
  • 表示逻辑值 TrueFalse
  1. 列表 (list):
  • 用于存储有序且可变的元素集合,如 [1, 2, 3]
  1. 元组 (tuple):
  • 类似于列表,有序但不可变,如 (1, 2, 3)
  1. 集合 (set):
  • 用于存储无序且不重复的元素集合,如 {1, 2, 3}
  1. 字典 (dict):
  • 用于存储键值对,如 {'name': 'Alice', 'age': 30}

示例:

# 整数
age = 25

# 浮点数
height = 1.75

# 复数
complex_number = 3 + 4j

# 字符串
name = "Alice"

# 布尔值
is_student = True

# 列表
numbers = [1, 2, 3, 4, 5]

# 元组
colors = ("red", "green", "blue")

# 集合
fruits = {"apple", "banana", "cherry"}

# 字典
person = {"name": "Bob", "age": 30}

除了这些基本数据类型之外,Python还支持其他一些高级数据类型,例如:

  1. 范围 (range):
  • 用于生成一系列连续的整数,如 range(1, 10)
  1. 字节 (bytes):
  • 用于表示不可变的字节序列,如 b'hello'
  1. 字节数组 (bytearray):
  • bytes 类似,但可变,如 bytearray(b'hello')
  1. 内存视图 (memoryview):
  • 提供了一个对象的内存视图,允许高效地操作二进制数据,如 memoryview(bytearray(b'hello'))

这些数据类型为Python提供了强大的功能,使其能够处理各种数据结构和计算任务。

5 类型转换

在Python中进行类型转换非常简单,你可以使用内置的类型转换函数来实现。下面是一些常用的类型转换方法及其例子:

5.1 将其他类型转换为整数 (int())

  1. 将其他类型转换为整数 (int())
  • 使用 int() 函数可以将字符串、浮点数等转换成整数,如果字符串不能被解析为整数,则会抛出异常。
  • 示例:
int("42")       # 结果是 42
int(3.14)       # 结果是 3

5.2 将其他类型转换为浮点数 (float())

  • 使用 float() 函数可以将整数、字符串等转换成浮点数,如果字符串不能被解析为浮点数,则会抛出异常。
  • 示例:
float(42)       # 结果是 42.0
float("3.14")   # 结果是 3.14

5.3 将其他类型转换为字符串 (str())

  • 使用 str() 函数可以将几乎所有类型的变量转换为字符串形式。
  • 示例:
str(42)         # 结果是 "42"
str(3.14)       # 结果是 "3.14"
str(True)       # 结果是 "True"

5.4 将其他类型转换为布尔值 (bool())

  • 使用 bool() 函数可以将其他类型的值转换为布尔值。通常情况下,空值(如 None, False, 0, "", [], {}, 等)会被转换为 False,非空值则转换为 True
  • 示例:
bool(0)         # 结果是 False
bool(1)         # 结果是 True
bool("")        # 结果是 False
bool("hello")   # 结果是 True

5.5 将其他类型转换为列表 (list())

  • 使用 list() 函数可以将字符串、元组等转换成列表。
  • 示例:
list("abc")     # 结果是 ['a', 'b', 'c']
list((1, 2, 3)) # 结果是 [1, 2, 3]

5.6 将其他类型转换为元组 (tuple())

  • 使用 tuple() 函数可以将列表、字符串等转换成元组。
  • 示例:
tuple([1, 2, 3]) # 结果是 (1, 2, 3)
tuple("abc")     # 结果是 ('a', 'b', 'c')

5.7 将其他类型转换为集合 (set())

  • 使用 set() 函数可以将列表、元组等转换成集合。
  • 示例:
set([1, 2, 3, 3]) # 结果是 {1, 2, 3}
set("abracadabra") # 结果是 {'a', 'r', 'b', 'c', 'd'}

5.8 将其他类型转换为字典 (dict())

  • 使用 dict() 函数可以将元组列表转换成字典。
  • 示例:
dict([("name", "Alice"), ("age", 30)]) # 结果是 {'name': 'Alice', 'age': 30}

注意事项:

  • 在进行类型转换时需要注意源数据的有效性和兼容性。
  • 如果源数据不能正确地转换为目标类型,可能会引发异常。
posted @ 2024-08-28 16:39  凡人编程传(Java)  阅读(179)  评论(0编辑  收藏  举报