【python】(1)输入输出,注释,变量和关键字
输入输出
在Python中,控制台输入和输出是编程的基础,允许用户与程序进行最简单的交互。
输入(Input)
使用 input() 函数从控制台接收用户输入。 input() 函数可以接受一个字符串参数,作为提示信息显示给用户。
name = input("请输入你的名字: ")
print("欢迎," + name)
输出(Print)
print() 函数用于在控制台输出信息。它可以输出字符串、数字,以及其他多种数据类型。 print() 也可以直接进行简单运算后输出结果。
age = 25
print("年龄:", age)
# 输出变量
print("明年你将是", age + 1, "岁。")
# 在print中进行运算
实践示例
尝试运行以下代码以理解输入输出的操作:
price = input("请输入美元: ")
int_price = int(price) # 将输入的字符串转换为整数
result = int_price * 6.9
print("换算后的人民币为:", result)
在上述代码中,我们首先使用 input() 函数提示用户输入美元金额。然后,使用 int() 函数将输入的字符串转换为整数。最后,我们计算并打印出换算后的人民币金额。
注释
注释是一种对代码进行说明和解释的文本,它不参与代码的执行。注释的主要目的是使代码更易于理解,无论是对于编写代码的原作者还是其他阅读代码的人。Python提供了两种类型的注释:单行注释和多行注释。
单行注释
单行注释以井号( #)开头,其后是注释文本。Python解释器会忽略井号及其后的文本,直到行尾。单行注释通常用于简短说明代码的某个特定部分,例如变量的用途或某行代码的目的。
# 这是一个单行注释
x = 5 # 这里设置x的值为5
多行注释
多行注释可以用三个单引号( ''')或三个双引号( """)包裹一段注释文本,用于编写跨越多行的注释。虽然Python没有专门的语法来定义多行注释,但多行字符串常被用作这个目的,特别是在定义函数、类、模块或文件的文档字符串(docstrings)时。
"""
这是一个多行注释的例子。
它可以跨越多行。
"""
def my_function():
# 函数内的单行注释
pass
文档字符串(Docstrings)
文档字符串(docstrings)是一种特殊类型的多行字符串,用于说明模块、函数、类或方法的目的和如何使用。文档字符串位于模块、函数或类的第一行,使用三个双引号。
def add(x, y):
"""这个函数用于计算两个数的和。
参数:
x - 第一个加数。
y - 第二个加数。
返回值:
两个数的和。
"""
return x + y
通过内置的 help()函数、 .__doc__属性或各种IDE的文档查看功能,可以轻松访问文档字符串,从而了解模块、函数、类或方法的详细说明。
print(add.__doc__)
help(add)
变量
变量用于存储数据值。在Python中,变量无需声明类型,且可以随时更改变量的类型,这是因为Python是动态类型的语言。
定义和赋值
通过赋值操作 (=)来创建变量,Python解释器会自动确定变量的类型。
x = 10 # x是一个整数
message = "Hello, Python!" # message是一个字符串
命名规则
- 变量名必须以字母或下划线 _开头,不能以数字开头。
- 变量名只能包含字母、数字和下划线。
- 变量名是大小写敏感的,例如, myVar和 myvar是两个不同的变量。
- 避免使用Python内置函数和关键字作为变量名,例如不要使用 list或 str作为变量名。
变量的作用域
变量的作用域决定了在哪些部分你可以访问某个变量。Python中的变量作用域分为四种:
- 局部作用域(Local):在函数内部声明的变量属于局部作用域,只能在函数内部访问。
- 封闭作用域(Enclosing):对于嵌套函数,封闭作用域的变量可以在内层函数中访问,但不能在外层函数之外访问。
- 全局作用域(Global):在模块级别声明的变量属于全局作用域,可以在整个模块内任何地方访问。
- 内建作用域(Built-in):Python自带的内建变量名,如 print、 len等,属于内建作用域。
变量的声明周期
- 创建:变量的生命周期开始于其首次赋值。Python是动态类型语言,无需显式声明变量类型。变量类型由赋值时的数据类型决定。
- 更新和访问:在其生命周期内,变量的值可以被更新或访问。变量的作用域决定了变量可以被访问和更新的代码区域。
- 引用计数:Python使用引用计数机制来跟踪对象被引用的次数。当对象的引用计数降到0时,Python的垃圾收集器会自动回收这个对象所占用的内存空间。
- 销毁:当变量的生命周期结束时,例如:
- 函数执行完毕,局部变量的作用域结束。
- 程序结束,全局变量的生命周期结束。
- 引用计数变为0,对象不再被需要。
def func():
local_var = 5 # local_var在这里创建
print(local_var) # 在局部作用域内访问
# 全局变量
global_var = 10
def another_func():
global global_var
global_var += 1 # 在全局作用域内更新
print(global_var)
func()
another_func()
# local_var现在不可访问,因为func()的执行已结束
# global_var在程序结束时生命周期结束
在这个示例中, local_var在 func()执行结束时生命周期结束,因为它是局部变量。而 global_var作为全局变量,在整个程序执行过程中都是可访问的,直到程序结束。
关键字
这些保留字在Python语言中具有特定的意义,因此不能用作变量名、函数名或任何其他标识符名称。
下面是Python 3.10版本的保留字列表,以表格形式展示:
序号 | 关键字 | 描述 |
1 | False | 布尔值假 |
2 | None | 表示没有值 |
3 | True | 布尔值真 |
4 | and | 逻辑运算符"与" |
5 | as | 用于创建别名 |
6 | assert | 用于调试时的条件测试 |
7 | async | 用于定义异步函数 |
8 | await | 用于异步操作中等待一个操作完成 |
9 | break | 用于循环中立即退出循环 |
10 | class | 用于定义类 |
11 | continue | 用于立即跳到循环的下一个迭代 |
12 | def | 用于定义函数 |
13 | del | 用于删除对象 |
14 | elif | 用于 if语句中定义一个条件分支 |
15 | else | 用于 if或 for循环中定义一个替代执行块 |
16 | except | 用于捕获和处理异常 |
17 | finally | 用于 try块中定义一个最终的执行块,无论是否有异常发生都会执行 |
18 | for | 用于循环 |
19 | from | 用于导入模块中的特定部分 |
20 | global | 用于声明全局变量 |
21 | if | 用于条件判断 |
22 | import | 用于导入模块 |
23 | in | 用于判断一个值是否为另一个值的成员 |
24 | is | 用于测试两个变量是否相同 |
25 | lambda | 用于创建匿名函数 |
26 | nonlocal | 用于声明非局部变量 |
27 | not | 逻辑运算符"非" |
28 | or | 逻辑运算符"或" |
29 | pass | 一个空操作,占位符 |
30 | raise | 用于触发异常 |
31 | return | 用于函数中返回值 |
32 | try | 用于开始一个异常处理块 |
33 | while | 用于循环 |
34 | with | 用于简化异常处理或者会话清理代码 |
35 | yield | 用于从函数中返回一个生成器 |
使用 keyword.kwlist可以获取到当前Python解释器版本的完整保留字列表。
import keyword
keyword.kwlist