变量是程序设计中的基础概念之一,它们在代码中扮演着至关重要的角色。
python 是一门弱类型语言,弱语言类型包含两个方面:
1. 所有的变量无需声明即可使用,或者说对从未用过的变量赋值就是声明了该变量;
2. 变量的数据类型可以随时改变,同时一个变量可以一会儿是数值,一会儿是字符串类型
定义
变量是存储数据值的抽象符号,它们为数据赋予了一个名称,使得在程序中可以引用和操作这些数据。在Python中,变量不需要事先声明类型,可以直接进行赋值操作。
它的主要作用是存储信息,以便在程序的不同部分中使用。它们使得程序能够动态地处理数据,执行计算,以及根据输入和程序状态做出决策。
变量的使用提高了代码的可读性和可维护性。它们允许开发者为数据赋予有意义的名称,而不是使用难以理解的数字或编码。此外,变量还有助于代码的重用和模块化,因为它们可以在整个程序中传递和共享。
变量使用场景
- 数据存储:变量用于在内存中临时或持久地存储数据。
- 参数传递:函数和方法使用变量作为参数,以接收输入并返回结果。
- 状态跟踪:变量用于跟踪程序的状态,例如循环的计数器或用户的输入。
- 数据抽象:变量提供了一种封装和隐藏复杂数据结构的方法。
- 代码组织:通过使用变量,开发者可以将复杂的程序分解为更小、更易于管理的部分。
使用方法
- 赋值:使用等号=给变量赋值。
my_number = 10 # 整数
my_string = "Hello" # 字符串
- 命名规则:变量名应以字母(a-z,A-Z)或下划线(_)开头,后续可以包含字母、数字(0-9)或下划线。在编程过程中不能使用Python的保留关键字作为变量名。
# 合法的变量名 myVar, _private, max_value
# 非法的变量名 2myVar, my var, my-var
- 数据类型:Python是动态类型语言,变量可以存储任何类型的数据,类型在运行时确定。
integer = 42 # int
floating = 3.14 # float
boolean = True # bool
- 作用域:变量的作用域由其定义的位置决定。局部变量在函数内部定义,全局变量在函数外部定义。
# 全局变量 global_var = 100
def my_function():
# 局部变量
local_var = 200
global global_var # 引用全局变量
- 修改和删除:变量的值可以随时修改,也可以使用del语句删除变量。
my_var = 50 # 修改变量的值
del my_var # 删除变量
- 不可变和可变类型:不可变类型(如字符串、元组)一旦创建,其内容不能更改。可变类型(如列表、字典)可以在不改变变量名的情况下更改其内容。
immutable_str = "constant" # 不可变
mutable_list = [1, 2, 3] # 可变
- 变量的引用:在Python中,变量通常被视为对对象的引用。当你将一个变量赋值给另一个变量时,实际上是复制了对象的引用。
list1 = [1, 2, 3]
list2 = list1 # list2现在引用同一个列表对象
- 匿名变量:可以使用元组或列表推导式创建匿名变量,这在需要临时存储多个值或生成一次性计算结果时非常有用。
a, b = (10, 20) # 元组解包
squared = [x**2 for x in range(10)] # 列表推导式
关键字和内置函数
在Python中,关键字和内置函数是编程语言的基础组成部分,它们对于语言的语义和功能至关重要。
关键字 (Keywords)
关键字在Python中有特殊的意义,它们是语言的保留词,不能用作变量名、函数名或任何其他标识符名称。这些关键字包括但不限于以下:
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
这些关键字用于控制程序的流程、定义数据结构、处理错误等。例如,if用于条件判断,for和while用于循环,class和def用于定义类和函数。
内置函数 (Built-in Functions)
Python提供了一组丰富的内置函数,可以直接使用,无需导入任何模块。这些函数包括但不限于以下: 以下是一个表格,列出了一些常见的Python内置函数及其简要描述:
内置函数 | 描述 | 内置函数 | 描述 |
abs() | 返回数字的绝对值 | int() | 将对象转换为整数 |
all() | 如果迭代器中的所有元素都为真,则返回True | isinstance() | 检查对象是否是指定类型的实例 |
any() | 如果迭代器中至少有一个元素为真,则返回True | issubclass() | 检查一个类是否是另一个类的子类 |
ascii() | 返回对象的ASCII表示 | iter() | 创建一个迭代器 |
bin() | 返回一个整数的二进制表示 | len() | 返回对象的长度 |
bool() | 将对象转换为布尔值 | list() | 创建一个列表 |
callable() | 如果对象是可调用的(如函数、方法等),返回True | locals() | 返回当前作用域中的局部命名空间字典 |
chr() | 返回ASCII码对应的字符 | map() | 对序列的每个元素应用函数,并返回结果 |
classmethod() | 用于创建类方法 | max() | 返回序列中的最大值 |
compile() | 编译字符串为字节码 | min() | 返回序列中的最小值 |
complex() | 创建一个复数 | next() | 从迭代器中获取下一个元素 |
delattr() | 删除对象的属性 | oct() | 返回一个整数的八进制表示 |
dict() | 创建一个字典 | open() | 打开一个文件 |
dir() | 返回当前作用域中可用的变量、函数和类的名字列表 | ord() | 返回字符的ASCII码 |
divmod() | 返回两个数的商和余数 | pow() | 返回x的y次幂 |
enumerate() | 将一个可迭代对象组合为一系列索引值和值的元组 | print() | 输出信息到控制台 |
eval() | 用来执行一个字符串表达式并返回结果 | property() | 用于创建属性 |
exec() | 在当前作用域中执行一个字符串表达式 | range() | 创建一个整数序列 |
filter() | 用于过滤序列,返回满足条件的元素 | repr() | 返回对象的官方字符串表示形式 |
float() | 将对象转换为浮点数 | reversed() | 返回一个反向迭代器 |
format() | 用于格式化字符串 | round() | 四舍五入到最接近的整数 |
frozenset() | 创建一个不可变的集合 | set() | 创建一个集合 |
getattr() | 获取对象的属性 | setattr() | 设置对象的属性 |
globals() | 返回当前作用域中的全局命名空间字典 | slice() | 创建一个切片对象 |
hasattr() | 检查对象是否有指定的属性 | sorted() | 返回一个排序后的列表 |
hash() | 返回对象的哈希值 | str() | 将对象转换为字符串 |
help() | 显示关于对象的帮助信息 | sum() | 返回序列中所有元素的和 |
hex() | 返回一个整数的十六进制表示 | super() | 调用父类的方法 |
id() | 返回对象的唯一标识符 | tuple() | 创建一个元组 |
input() | 从用户那里获取输入 | type() | 返回对象的类型 |
zip() | 将多个序列压缩为一个元组的列表 | vars() | 返回对象的__dict__属性 |
这个表格提供的是一个概览,但并不是一个完整的列表。Python有超过60个内置函数,每个都有其特定的用途和行为。要了解更多关于每个函数的详细信息,可以查阅Python的官方文档。