一、背景
上一篇已经完成了第一个 Python 程序,能够运行:
print("hello,python")
这一篇继续整理 Python 中最基础、也是后面所有代码都会用到的内容:
- 变量是什么
- Python 中常见的数据类型
- 标识符和关键字
- 基础编码规范
- 注释和文档字符串
对应的练习代码主要包括:
02Python 变量和数据类型.py
03Python编程规范.py
04 标识符和关键字.py
05Python注释.py
06Python编程基础.py
二、变量
变量可以理解为给数据起一个名字。
例如:
name = "xiaoming"
age = 18
这里:
| 变量名 | 保存的数据 |
|---|---|
name |
"xiaoming" |
age |
18 |
Python 中定义变量不需要提前声明类型,解释器会根据赋值自动判断类型。
a = 1
b = 0.1
name = "xiaoming"
print(type(a))
print(type(b))
print(type(name))
输出结果类似:
<class 'int'>
<class 'float'>
<class 'str'>
这说明 Python 是动态类型语言。变量本身不固定类型,变量指向的数据才有类型。
三、常见数据类型
1. 数字
数字类型中,入门阶段最常见的是整数和浮点数。
# 整数
age = 18
print("age =", age)
# 浮点数
price = 9.9
print("price =", price)
整数一般用于计数,例如年龄、数量、页码。
浮点数一般用于小数,例如价格、比例、距离。
2. 字符串
字符串就是一段文本,可以使用单引号或双引号。
name = "xiaoming"
gender = 'male'
print("name =", name)
print("gender =", gender)
如果字符串和数字拼接,需要先把数字转成字符串:
message = "age: " + str(18)
print(message)
否则会报类型错误。
更推荐使用格式化输出:
name = "xiaoming"
age = 18
print("%s 的年龄是 %d" % (name, age))
或者使用 f-string:
print(f"{name} 的年龄是 {age}")
3. 列表
列表使用方括号 [],可以保存一组数据。
names = ["hello", "world", "python"]
for item in names:
print(item)
注意:不要把变量命名为 list。
虽然下面的代码可以运行:
list = [1, 2, 3]
但是 list 是 Python 内置类型名。把它当变量名会覆盖内置名称,后续再调用 list() 时容易出现问题。
更好的写法是:
numbers = [1, 2, 3]
names = ["hello", "world", "python"]
4. 元组
元组使用圆括号 ()。
status = (404, "not found")
print(status)
元组和列表都可以保存多个值。入门阶段可以先记住一个区别:
列表通常用于可变数据
元组通常用于不希望被修改的数据
5. 字典
字典使用花括号 {},保存的是键值对。
student = {
"name": "xiaoming",
"age": 18
}
print(student)
遍历字典:
for key in student.keys():
print("key is " + key + ", value is " + str(student.get(key)))
更常见的写法是:
for key, value in student.items():
print(key, value)
6. 对象
Python 中也可以定义类并创建对象。
class Person(object):
pass
person = Person()
print(type(person))
这里暂时不用深入理解面向对象,先知道:
通过 class 可以定义一个类
通过类名加括号可以创建对象
后面学习面向对象时再详细展开。
四、标识符与关键字
1. 什么是标识符
标识符就是程序中自己定义的名字,例如:
- 变量名
- 函数名
- 类名
- 模块名
例如:
student_name = "xiaoming"
def say_hello():
print("hello")
class Student(object):
pass
这里的 student_name、say_hello、Student 都是标识符。
2. 标识符命名规则
Python 标识符需要遵守下面几个规则:
- 由字母、数字、下划线组成。
- 不能以数字开头。
- 区分大小写。
- 不能使用 Python 关键字。
例如:
name = "xiaoming"
student_name = "xiaoming"
name2 = "xiaohong"
下面这些写法不建议或不合法:
# 不能以数字开头
2name = "error"
# 不能使用关键字
class = "error"
3. 查看关键字
可以使用 keyword 模块查看 Python 的关键字:
import keyword
print(keyword.kwlist)
关键字是 Python 已经占用的特殊单词,不能拿来作为变量名。
常见关键字包括:
if else elif for while def class return import from as try except
五、命名规范
Python 代码通常遵循 PEP 8 风格。
常见命名方式如下:
| 类型 | 推荐写法 | 示例 |
|---|---|---|
| 模块名 | 小写加下划线 | user_service.py |
| 变量名 | 小写加下划线 | student_name |
| 函数名 | 小写加下划线 | get_user_name() |
| 类名 | 大驼峰 | StudentInfo |
| 常量名 | 全大写加下划线 | MAX_RETRY_COUNT |
比较推荐的写法:
student_name = "xiaoming"
max_retry_count = 3
def get_user_name():
return student_name
class StudentInfo(object):
pass
不推荐写法:
studentName = "xiaoming"
MAXretryCount = 3
不是说这些写法一定不能运行,而是可读性和统一性不好。
六、基础编码规范
1. 使用缩进表示代码块
Python 不使用 {} 表示代码块,而是使用缩进。
flag = True
if flag:
print("True")
else:
print("False")
缩进不正确会直接报错。
2. 使用 4 个空格缩进
推荐使用 4 个空格缩进,不要混用 Tab 和空格。
if True:
print("use four spaces")
3. 一行只写一条语句
下面这种代码虽然可以运行,但不建议:
print("123"); print("456")
更推荐写成:
print("123")
print("456")
4. 运算符两边加空格
推荐:
x = 1
y = 2
if x < y:
print("x < y")
不推荐:
x=1
if x<2:
print("x<2")
5. 导入语句放在文件顶部
import os
import sys
from pathlib import Path
一般顺序是:
- 标准库
- 第三方库
- 自己项目中的模块
七、注释和文档字符串
1. 单行注释
print(123) # 这是一个单行注释
注释和代码之间建议至少保留两个空格。
2. 多行说明
可以使用三引号写多行说明:
'''
这里是一段多行说明
'''
不过要注意,三引号本质上是字符串。它经常被用作多行说明,但真正的注释仍然是 #。
3. 文档字符串
文档字符串通常写在模块、类、函数的开头,用于说明它的作用。
class Person(object):
"""表示一个人。"""
pass
可以通过 __doc__ 查看:
print(Person.__doc__)
函数也可以写文档字符串:
def add(a, b):
"""返回两个数字的和。"""
return a + b
写注释时要注意,不要简单重复代码本身。
例如下面这种注释意义不大:
# 给 a 赋值为 1
a = 1
更有价值的注释应该解释代码背后的原因。
八、一个综合示例
下面把变量、数据类型、命名和格式规范放在一起:
class Student(object):
"""学生信息。"""
def __init__(self, name, age):
self.name = name
self.age = age
student = Student("xiaoming", 18)
scores = [90, 88, 95]
student_info = {
"name": student.name,
"age": student.age,
"scores": scores
}
for key, value in student_info.items():
print(key, value)
这个例子中包含了:
- 字符串
- 数字
- 列表
- 字典
- 类和对象
- 变量命名
- 缩进
- 文档字符串
九、本篇总结
这篇文章主要整理了 Python 入门阶段最基础的一组内容:
- 变量用于保存数据。
- Python 常见数据类型包括数字、字符串、列表、元组、字典和对象。
- 标识符是自己定义的名字,但不能和关键字冲突。
- 命名时优先使用清晰、有意义的名字。
- Python 使用缩进表示代码块,一般使用 4 个空格。
- 注释用于解释代码意图,文档字符串用于说明模块、类或函数。
这些内容看起来比较基础,但非常重要。后面学习数字运算、字符串、列表、字典、函数和类时,都会反复用到它们。