Python 学习笔记 2:变量、数据类型与编码规范


一、背景

上一篇已经完成了第一个 Python 程序,能够运行:

print("hello,python")

这一篇继续整理 Python 中最基础、也是后面所有代码都会用到的内容:

  1. 变量是什么
  2. Python 中常见的数据类型
  3. 标识符和关键字
  4. 基础编码规范
  5. 注释和文档字符串

对应的练习代码主要包括:

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_namesay_helloStudent 都是标识符。

2. 标识符命名规则

Python 标识符需要遵守下面几个规则:

  1. 由字母、数字、下划线组成。
  2. 不能以数字开头。
  3. 区分大小写。
  4. 不能使用 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. 标准库
  2. 第三方库
  3. 自己项目中的模块

七、注释和文档字符串

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 入门阶段最基础的一组内容:

  1. 变量用于保存数据。
  2. Python 常见数据类型包括数字、字符串、列表、元组、字典和对象。
  3. 标识符是自己定义的名字,但不能和关键字冲突。
  4. 命名时优先使用清晰、有意义的名字。
  5. Python 使用缩进表示代码块,一般使用 4 个空格。
  6. 注释用于解释代码意图,文档字符串用于说明模块、类或函数。

这些内容看起来比较基础,但非常重要。后面学习数字运算、字符串、列表、字典、函数和类时,都会反复用到它们。


文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
  目录