Python诞生于1991年,由荷兰数学和计算机科学研究学会的吉多·范罗苏姆创造。作为一种解释型、交互式、面向对象的编程语言,Python的设计理念注重代码的可读性和简洁性。此外,Python拥有丰富的标准库和第三方库,为实现各种功能提供了便利。
目录
2.11 `import` 与 `from...import`
在机器学习中,Python是一种简洁易读且功能强大的编程语言,受到了广大开发者的喜爱。现在,我们要学习并深入了解Python的基础语法,踏上编程之旅。
1. Python基础语法
一个python程序的执行过程:源代码通过编译器编译后交由虚拟机执行。
下图可以看到,.py的python源代码,通过编译器编译,生成字节码交由虚拟机执行。对比比下面C程序执行过程,虚拟机的引入,使得代码可以动态编译同时更方便于移植。
下面这张表,大概讲一下python的基础语法,大家大概看一下,记不住也没有关系,后面我们会一一讲解:
特性 | 描述 |
单引号和双引号 | 使用单引号或双引号定义字符串,两者完全相同。 |
多行字符串 | 使用三引号 (''' 或 """) 定义多行字符串。 |
转义符 | 使用反斜杠 () 转义特殊字符,例如 \n 表示换行。 |
原始字符串 | 使用 r'' 或 r"" 定义原始字符串,反斜杠不发生转义。 |
级联字符串 | 相邻的字符串自动连接,例如 "this " "is " "string" 等同于 "this is string"。 |
连接和重复 | 使用 + 运算符连接字符串,使用 * 运算符重复字符串。 |
索引方式 | 字符串支持从左往右 (0 开始) 和从右往左 (-1 开始) 的索引方式。 |
字符串不可变 | Python 中的字符串一旦创建,内容不可改变。 |
字符类型 | Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。 |
截取语法 | 使用 变量[头下标:尾下标:步长] 语法截取字符串。 |
2. Python基础语法示例讲解
2.1 编码
Python源代码文件,默认使用 UTF-8 编码,你可以在脚本开头加入特定注释来指定文件的编码方式,如:
# -*- coding: utf-8 -*-
指定UTF-8编码。格式一定要记住,是 # -*- coding: 编码 -*-
2.2 标识符
在 Python 中,标识符是用来标识变量、函数、类、模块或其他对象的名称。
标识就是一个名称,相当于给你要写代码类型取个名字,这是用户自己定义的名字,方便后面的代码用这个名字。
标识符可以是:
- 字母、数字、下划线( _ )的组合
- 不能以数字开头,也不能使用保留字作为标识符
- 标识符对大小写敏感
示例代码:
# 字母、数字、下划线的组合
variable_name = 123
_name1 = 123
# 大小写敏感,以下就是两不同的个标识符。
variable_name = 123
Variable_name = 123
# 错误示例
# 1.不能以数字开头
3_name = 123
# 2.不能以使用保留字
class
上面的代码涉及两个知识点,一是以 # 号开头的句子,叫注释,是给人看的,机器不翻译;二是保留字,例如class。这两个后面会接着说。
2.3 保留字
Python 有一些保留字,这些关键字不能用作标识符,因为它们具有特殊的含义。例如:
# 引入一个keyword模块
import keyword
# 输出这个模块的内容
print(keyword.kwlist)
输出结果如下:
['False', 'None', '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']
2.4 注释
上面的代码里,我们已经接触了注释,注释就是用 `#` 开始,用于在代码中添加说明,这些注释在解释器执行时会被忽略。也就是说,`#` 开始的注释,就是给人看的,机器不会执行这一句代码。例如:
# 这是一个注释
print("Hello, World!") # 这也是一个注释
输出如下:
Hello, World!
2.5 行与缩进
Python 使用缩进来表示代码块,通常使用 4 个空格作为一个缩进层级。
这里必须要说一下,不管是C、Java、R都有 { } 作为代码块的分割符,但是Python没有,为什么没有,据说吉多·范罗苏姆开发python的原因,就是不喜欢{ },所以没有 { } 。还有就是C、Java、R这些都是一脉相承产品,所以用{ }
代码示例:
if True:
print("True")
else:
print("False")
错误示例:
# 缩进不一致,会导致运行错误
if True:
print ("True")
else:
print ("False")
报错如下:
2.6 数字类型
Python 中常见的数字类型包括bool值、整数(int)、浮点数(float)和复数(complex)。例如:
# 布尔值
b = True
# 整数
x = 10
# 浮点数
y = 3.14
# 复数
z = 5 + 2j
print("布尔值:",b)
print("整数:",x)
print("浮点数:",y)
print("复数:",z)
输出如下:
布尔值: True
整数: 10
浮点数: 3.14
复数: (5+2j)
2.7 字符串
字符串可以用单引号、双引号或三引号表示,也可以使用转移符\,还有很多内容,如下表。
特性 | 描述 |
' ' " " | 使用单引号或双引号定义字符串,两者完全相同。 |
多行字符串 | 使用三引号 (''' 或 """) 定义多行字符串。 |
转义符\ | 使用反斜杠 () 转义特殊字符,例如 \n 表示换行。 |
原始字符串 | 使用 r'' 或 r"" 定义原始字符串,反斜杠不发生转义。 |
级联字符串 | 相邻的字符串自动连接,例如 "this " "is " "string" 等同于 "this is string"。 |
连接和重复 | 使用 + 运算符连接字符串,使用 * 运算符重复字符串。 |
索引方式 | 字符串支持从左往右 (0 开始) 和从右往左 (-1 开始) 的索引方式。 |
字符串不可变 | Python 中的字符串一旦创建,内容不可改变。 |
字符类型 | Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。 |
截取语法 | 使用 变量[头下标:尾下标:步长] 语法截取字符串。 |
示例代码:
# 单引号和双引号
str1 = 'Hello, world!'
str2 = "Hello, world!"
# 多行字符串
str3 = '''
This is a
multiline string.
'''
# 转义符
str4 = "This is a line with \n"
str5 = r"This is a line with \n"
# 级联字符串
str6 = "this " "is " "string"
# 连接和重复
str7 = "hello" + "world"
str8 = "hello" * 3
# 索引方式
str9 = "Hello, world!"
print(str9[0]) # 输出 H
print(str9[-1]) # 输出 !
# 字符串不可变
str10 = "Hello, world!"
# str10[0] = 'W' # 报错
# 字符类型
char = "a"
# 截取字符串
str11 = "Hello, world!"
print(str11[0:5]) # 输出 Hello
2.8 函数
在 Python 中定义函数使用 `def` 关键字。函数的内容还有很多,后面再详述,这里给大家做个简单展示,例如:
def greet(name):
print("Hello, " + name)
greet("TiYong")
输出:
TiYong
2.9 等待用户输入
使用 `input()` 函数来等待用户输入。例如:
# 使用input函数,系统会等待用户输入,直到用户按下ENTER键结束
name = input("Enter your name: ")
print("Hello, " + name)
输出结果:
Enter your name: TiYong
Hello, TiYong
2.10 同一行多条语句
Python 允许在同一行上写多条语句,用分号 ` ; ` 分隔。如果你学过C,这里和C语言很像,例如:
a = 1; b = 2; c = a + b
print(c)
# 不换行输出
print( a, end=" " )
print( b, end=" " )
输出如下:
3
1 2
2.11 `import` 与 `from...import`
用于导入模块或模块中的特定内容。
- import:导入模块
- from...import:来导入模块相应的函数
示例:
# 导入math 模块
import math
# 使用math模块计算根号16
result = math.sqrt(16)
print(result) # 输出: 4.0
# 导入random模块的函数randint
from random import randint
# 输入1-10的随机数
random_number = randint(1, 10)
print(random_number)
2.12 导入 `sys` 模块
`sys` 模块提供了访问与 Python 解释器相关的变量和函数的功能。例如:
# 导入sys模块
import sys
# 获取系统信息
print(sys.version)
输出:
3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)]
2.13 命令行参数
可以通过 `sys.argv` 获取命令行参数。例如,将下面的内容保存为 my_script.py :
import sys
args = sys.argv
然后我们在命令行模式使用:
python my_script.py hello world
输出:
['my_script.py', 'hello', 'world']
这些是 Python 基础语法的简单介绍和示例代码。希望对你学习Python编程有所帮助!
如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!
往期学习: