基础语法
注释
在 Python 代码中,我们一般使用 # (hash, hashtag, hashmark) 符号来添加注释。
注意 # 只能注释当行,而'''或"""可以用来注释多行。
下面是 Python 中注释的使用例子:
def my_function(x, y):
"""
这个自定义函数计算两个数值x和y的和
函数输入为:
x: The first number to be added.
y: The second number to be added.
函数输出为:
The sum of x and y.
"""
return x + y
# 打印结果
print(my_function(1.5,2))
提示
Jupyter Notebook 中注释和取消注释的快捷键为 Ctrl + /。
缩进
在 Python 中,缩进是非常重要的。缩进是指在代码行前面留出的空格(space)或制表符(Tab),它们用于表示代码块的开始和结束。
缩进的大小没有严格规定,一般情况下建议使用四个空格作为缩进,并不鼓励使用制表符(tab)缩进。
缩进在条件语句、循环语句、函数定义中用来表示代码块之间层级关系。下面是使用缩进的例子:
# 定义变量x,从用户输入中获取数值
x = float(input("请输入一个数值:"))
# 定义变量abs_x,用来存放绝对值
abs_x = x
# 如果x为正数
if x > 0:
print("x is positive")
# 如果x为零
elif x == 0:
print("x is zero")
# 如果x为负数
else:
print("x is negative")
# 计算负数绝对值
abs_x = -x
print("该数值的绝对值为:", abs_x)
提示
如果缩进有误编译器会报错,报错内容为 IndentationError: unindent does not match any outer indentation level。
变量
在 Python 中,变量(variable)是用于存储数据值的标识符。它用于引用内存中的值,这些值可以是数字、字符串、列表、字典、函数等各种类型的数据。下表是 Python 的变量种类和说明:
数据类型 | type() | 特点 | 举例 |
---|---|---|---|
数字(Number) | int、float | 包括整数、浮点数等 | x = 10 、y = 3.14 |
字符串(String) | str | 一系列字符的序列 | s = 'hello,world |
列表(List) | list | 一组有序的元素,可以修改 | a = [1, 2, 3, 4] 、b = ['apple', 'banana', 'orange'] |
元组(Tuple) | tuple | 一组有序的元素,不能修改 | a = (1, 2, 3, 4) 、b = ('apple', 'banana', 'orange') |
集合(Set) | set | 一组无序的元素,不允许重复 | e = {1, 2, 3, 4} 、f = {'apple', 'banana', 'orange'} |
字典(Dictionary) | dict | 一组键-值对,键必须唯一 | g = {'name': 'Tom', 'age': 18} |
布尔(Boolean) | bool | 代表 True 和 False 两个值 | x = True 、y = False |
None 类型 | NoneType | 代表空值或缺失值 | z = None |
在 Python 中,变量是动态类型的,这意味着我们可以在运行时为变量分配不同类型的值。不需要提前声明变量的类型,Python 会根据所赋予的值自动确定其类型。在 Python 中,可以使用内置的 type()
函数来判定数据的类型。type()
函数返回一个表示对象类型的值。
变量命名规则
Python 中的变量命名规则和建议如下:
变量名必须是一个合法的标识符,即由字母、数字和下划线组成,且不能以数字开头。例如,x、my_var、var_1 等都是合法的标识符。注意,变量名不能以数字开头,比如 1_variable 作为变量名不合法。
变量名区分大小写。例如,my_var 和 My_var 是不同的变量名。
变量名应该具有描述性,能够清晰地表达其所代表的内容。例如,name 可以代表人名,age 可以代表年龄等。
变量名应该尽量简洁明了,但不要过于简短或过于复杂。避免使用单个字母或缩写作为变量名,除非上下文明确。
变量名不应该与 Python 中的保留函数 (关键字) 重名,否则会导致语法错误。例如,不能使用 if、else、while 等关键字作为变量名。
在特定的上下文中,可以使用特定的命名约定。例如,类名应该使用驼峰命名法(camelCase),函数名和变量名应该使用下划线分隔法(snake_case)等。
变量赋值
在 Python 中,我们可以使用等号 =
将一个值赋给一个变量。
可以同时给多个变量赋值,用逗号分隔每个变量,并用等号将值分配给变量。例如:
x, y, z = 1, 2, 3
可以使用链式赋值的方式给多个变量赋相同的值。例如:
x = y = z = 0
可以使用增量赋值的方式对变量进行递增或递减。例如:
x += 1 # 等价于 x = x + 1
导入包
Python 包是一组相关的模块和函数的集合,用于实现特定的功能或解决特定的问题。包通常由一个顶层目录和一些子目录和文件组成,其中包含了实现特定功能的模块和函数。Python 中有很多常用的包,包括数据处理和可视化、机器学习和深度学习、网络编程、Web 开发等。其中,常用的可视化包包括 Matplotlib、Seaborn、Plotly 等,机器学习常用的包包括 NumPy、Pandas、Statsmodels、Scikit-learn、TensorFlow 等。
Matplotlib 是 Python 中最流行的绘图库之一,可用于创建各种类型的静态图形,如线图、散点图、柱状图、等高线图等。
Seaborn 是基于 Matplotlib 的高级绘图库,提供了更美观、更丰富的图形元素和绘图样式。
Plotly 是一款交互式绘图库,可用于创建各种类型的交互式图形,如散点图、热力图、面积图、气泡图等,支持数据可视化的各个方面,包括统计学可视化、科学可视化、金融可视化等。
NumPy 是 Python 中常用的数值计算库,提供了数组对象和各种数学函数,用于高效地进行数值计算和科学计算。
Pandas 是 Python 中常用的数据处理库,提供了高效的数据结构和数据分析工具,可用于数据清洗、数据处理和数据可视化。
Scikit-learn 是 Python 中常用的机器学习库,提供了各种常见的机器学习算法和模型,包括分类、回归、聚类、降维等。
TensorFlow 是谷歌开发的机器学习框架,提供了各种深度学习模型和算法,可用于构建神经网络、卷积神经网络、循环神经网络等深度学习模型。
导入包
下面以 NumPy 为例介绍几种常用的导入包的方式。
第一种,直接导入整个 Numpy 包:
import numpy
这种方式会将整个 NumPy 包导入到当前的命名空间中,需要使用完整的包名进行调用,例如:
a = numpy.array([1, 2, 3])
第二种,导入 NumPy 包并指定别名:
import numpy as np
这种方式会将 NumPy 包导入到当前的命名空间中,并使用别名 np 来代替 NumPy,例如:
a = np.array([1, 2, 3])
第三种,导入 NumPy 包中的部分模块或函数:
from numpy import array
这种方式会将 NumPy 包中的 array 函数导入到当前的命名空间中,可以直接调用该函数,例如:
a = array([[1, 2, 3]])
第四种,导入 NumPy 包中的所有模块或函数:
from numpy import *
这种方式会将 NumPy 包中的所有函数和模块导入到当前的命名空间中,可以直接调用任意函数或模块,例如:
a = array([1, 2, 3])
b = random.rand(3, 3)
在实际应用中,可以根据需要选择和使用适当的导入方式。一般来说,建议使用第二种(导入 NumPy 包并指定别名)或第三种方式(导入部分模块或函数),这样既可以简化代码,又不会导入太多无用的函数或模块,从而提高代码的可读性和性能。