【10月更文挑战第5天】「Mac上学Python 7」基础篇1 - Python基础与编码规范

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本篇将详细介绍Python编程中的基础概念和编码规范,内容涵盖变量的定义与使用、命名规则、代码风格、注释方式、编码设置、模块管理等。通过学习本篇,用户将能够编写符合规范、易于维护的Python代码,为后续深入学习打下坚实基础。

本篇将详细介绍Python编程中的基础概念和编码规范,内容涵盖变量的定义与使用、命名规则、代码风格、注释方式、编码设置、模块管理等。通过学习本篇,用户将能够编写符合规范、易于维护的Python代码,为后续深入学习打下坚实基础。


一、Python变量基础

1.1 变量定义与赋值

在Python中,变量是用于引用存储在内存中的数据的标识符。可以通过赋值运算符 = 将值存储到变量中。

1.1.1 变量的赋值
  1. 使用等号将值赋给变量:

    product_name = "智能手表"
    price = 1299
    is_available = True
    rating = 4.8
    quantity_sold = 500
    print(product_name, price, is_available, rating, quantity_sold)
    

    输出

    智能手表 1299 True 4.8 500
    
  2. 变量名存在于命名空间中,命名空间将变量名与内存中的对象关联。全局命名空间在程序启动时存在,局部命名空间在函数调用时创建。

1.1.2 动态类型与引用

Python是动态类型语言,变量的类型在运行时确定,同一个变量可以多次赋值为不同类型:

count = 100     # 整数
print(count)    # 输出 100
count = "百"    # 字符串
print(count)    # 输出 '百'

输出

100
百
1.1.3 变量删除

使用 del 语句可以删除变量,使其从命名空间中移除:

del price
# print(price)  # 运行此行会报错,因为变量已被删除

1.2 变量的使用
1.2.1 重复赋值与使用

变量可以多次赋值和使用,数值型变量可以参与计算:

total_income = 0
order_price = 250
total_income += order_price  # 增加订单价格
total_income += order_price  # 再次增加订单价格
print("总收入:", total_income)

输出

总收入: 500
1.2.2 变量传递与引用

在Python中,变量传递的是对象的引用而非值。修改引用时,原对象也会发生变化:

order_list = ["手机", "耳机"]
new_order = order_list  # 传递引用
new_order.append("平板")  # 修改new_order,order_list 也被修改
print(order_list)

输出

['手机', '耳机', '平板']
1.2.3 内存地址

使用 id() 函数查看变量的内存地址:

x = 42
print(id(x))  # 查看变量 x 的内存地址
y = x
print(id(y))  # y 与 x 共享相同的内存地址

输出(地址可能因环境不同而变化):

140737488346928
140737488346928

二、Python编码

2.1 系统默认编码
  • 在大多数系统上,Python默认使用 utf-8 编码。
2.2 设置编码
  • 如果需要更改Python脚本的编码格式,可以在脚本的开头指定编码:

    # -*- coding:gbk -*-
    

三、变量的命名规范

3.1 命名规则

Python变量的命名应遵循以下规则,确保代码清晰易读:

3.1.1 基本命名规则
  1. 变量名只能包含字母、数字和下划线,且不能以数字开头。例如:

    name = "Alice"  # 合法
    age_25 = 25     # 合法
    # 3rd_place = "John"  # 非法,不能以数字开头
    
  2. 变量名区分大小写,例如 Namename 是不同的变量。

3.1.2 PEP 8 命名规范

Python官方的PEP 8规范建议遵循以下命名规范:

  1. 小写字母与下划线:变量名应使用小写字母并用下划线分隔单词,例如 total_amount
  2. 常量使用大写字母:常量名应全部大写字母,例如 MAX_SCORE
  3. 类名使用驼峰命名法:类名应采用大写字母开头的驼峰命名法,如 OrderProcessor
3.1.3 避免使用保留字

Python保留字不能作为变量名,保留字包括 ifelsewhilefor 等。可以通过以下命令查看所有保留字:

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']

四、Python模块管理

4.1 模块载入方法
  • Python中的模块可以通过 import 语句导入:

    import numpy               # 导入整个模块
    import numpy as np         # 使用别名
    from numpy import *        # 导入所有内容(不推荐)
    

五、Python编码规范

5.1 Python代码风格

遵循规范的代码风格可以提高代码的可读性与维护性。

5.1.1 基本编码规范
  1. 每个 import 语句只导入一个模块:

    import os
    import sys
    
  2. 每行代码不超过80个字符,超过时建议使用括号将代码分行显示:

    result = (a + b + c + d + e + f +
              g + h + i + j + k)
    
  3. 运算符两侧应加空格:

    total = price * quantity
    
  4. 函数与类定义之间应空两行,方法定义之间空一行。

5.1.2 Python注释
  1. 单行注释 使用 #

    # 这是一个单行注释
    total_price = price * quantity
    
  2. 多行注释 使用三引号("""'''):

    """
    这是一个多行注释
    用于描述复杂的逻辑或结构
    """
    

六、Python彩蛋(Easter Eggs)

Python中隐藏了一些有趣的彩蛋,通过内置命令可以体验这些彩蛋。

6.1 Python之禅

运行以下命令可以查看Python的设计哲学——Python之禅

import this

输出

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
...
6.2 Python的“搞笑”模块

运行以下命令可以体验一个Python的彩蛋——飞翔的“反重力”:

import antigravity

七、小结

本篇详细介绍了Python中的变量定义与使用、命名规范、编码规范、模块管理以及一些Python的彩蛋。通过这些内容,用户将能编写规范、清晰的代码,为后续的Python编程打下坚实基础。


上一篇: 「Mac上学Python 6」入门篇6 - 安装与使用Anaconda

下一篇: 「Mac上学Python 8」基础篇2 - 变量深入详解


目录
相关文章
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
69 5
|
2月前
|
数据安全/隐私保护 Python
【10月更文挑战第17天】「Mac上学Python 28」基础篇9 - 条件语句与逻辑判断
在Python中,条件语句和逻辑判断是控制程序执行流程的关键工具,帮助程序在不同条件下做出不同决策。通过本篇的学习,您将掌握单选、双分支、多选结构、单行条件表达式、条件嵌套、条件判断的类型和逻辑运算符的用法,从而更灵活地控制程序执行流程。
51 5
|
2月前
|
Python
【10月更文挑战第18天】「Mac上学Python 29」基础篇10 - 循环结构与迭代控制
在Python中,循环结构是控制程序执行的重要工具。通过学习本篇内容,您将掌握如何使用for循环和while循环来高效地处理重复任务,并了解break、continue和else的使用方式。同时,我们还会探索嵌套循环和典型应用场景中的实际应用。
43 2
|
2月前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
103 3
|
2月前
|
Python
【10月更文挑战第15天】「Mac上学Python 26」小学奥数篇12 - 图形变换与坐标计算
本篇将通过 Python 和 Cangjie 双语实现图形变换与坐标计算。这个题目帮助学生理解平面几何中的旋转、平移和对称变换,并学会用编程实现坐标变化。
66 1
|
2月前
|
移动开发 数据可视化 Python
【10月更文挑战第13天】「Mac上学Python 24」小学奥数篇10 - 数列求和
本篇将通过 Python 和 Cangjie 双语实现数列求和的计算。通过这个题目,学生将学会如何通过公式法和循环法求解等差数列与等比数列的和。
71 3
|
2月前
|
算法 数据可视化 Python
【10月更文挑战第14天】「Mac上学Python 25」小学奥数篇11 - 最大公约数与最小公倍数
本篇将通过 Python 和 Cangjie 双语实现最大公约数(GCD)和最小公倍数(LCM)的计算。这个题目帮助学生理解如何运用数学算法,并将其与编程实现结合。
53 1
|
2月前
|
机器学习/深度学习 移动开发 Python
【10月更文挑战第11天】「Mac上学Python 22」小学奥数篇8 - 排列组合计算
本篇将通过 Python 和 Cangjie 双语讲解如何计算排列与组合。这道题目旨在让学生学会使用排列组合公式解决实际问题,并加深对数学知识和编程逻辑的理解。
65 4
|
2月前
|
数据可视化 Python
【10月更文挑战第12天】「Mac上学Python 23」小学奥数篇9 - 基础概率计算
本篇将通过 Python 和 Cangjie 双语实现基础概率的计算,帮助学生学习如何解决简单的概率问题,并培养逻辑推理和编程思维。
53 1
|
2月前
|
Python
【10月更文挑战第11天】「Mac上学Python 21」小学奥数篇7 - 二元一次方程组求解
本篇将通过 Python 和 Cangjie 双语讲解如何求解二元一次方程组。通过这道题,学生将学会如何使用代数方法和编程逻辑求解方程组中的未知数。
75 1