博客
关于我
Python基础语法教程,零基础入门到精通,看完这一篇就够了
阅读量:797 次
发布时间:2023-03-07

本文共 3894 字,大约阅读时间需要 12 分钟。

学习Python基础入门:从Hello World到实用技能

随着信息技术的飞速发展,编程已成为现代职场的必备技能。学习一门编程语言的过程,往往包含几个核心环节:基础语法、数据类型、运算符、流程控制、类的定义与使用以及常用API的应用等。本节将从最基础的"Hello, World!"开始,带你逐步掌握Python的核心知识点。

一、Hello, World!

在开始学习任何一门编程语言之前,"Hello, World!"无疑是最经典的第一步。它不仅验证了你是否能够正确执行基本的输出操作,更重要的是了解如何在Python中运行一个程序。

创建Hello World脚本

在任意目录下创建一个 hello.py 文件,内容如下:

print("Hello, World")

执行脚本

通过以下方式执行Python脚本:

python hello.py

执行结果会显示:

Hello, World

你也可以直接进入Python解释器的交互式终端进行测试:

python3

输入 print("Hello, World") 并按回车,同样会输出 "Hello, World"。


二、Python 2.x 与 Python 3.x 的区别

随着技术的不断进步,Python语言也在不断演变。了解 Python 2.x 和 Python 3.x 的主要区别,有助于你做出适合项目的选择。

Python 2.x 与 Python 3.x 的主要区别

  • Print 是一个函数

    在 Python 3.x 中,print 是一个函数,需要使用括号。以下是两个版本的对比:

    • Python 2.x
      print("Hello, World")
      • 支持多个值拼接输出。
      • print 后面直接跟字符串或表达式。
    • Python 3.x
      print("Hello, World")
      • 需要使用括号,print("Hello, World")
      • 支持更多的输出控制选项,如 print("Hello, World", end=" ")
  • 默认字符编码

    • Python 2.x默认使用ASCII编码,中文字符需声明编码(如 # -*- coding: utf-8 -*-)。
    • Python 3.x默认使用Unicode编码,无需额外声明。
  • 变量赋值规则

    • Python 2.x中变量赋值时,右边表达式的结果个数必须与左边变量个数相等。
    • Python 3.x允许使用*号展开式子,支持更灵活的赋值。
  • 某些库名称变更

    Python 3.x对部分库进行了命名调整,例如:

    • _winregwinreg
    • ConfigParserconfigparser
    • copy_regcopyreg
    • Queuequeue
    • SocketServersocketserver
    • reprreprlib
    • test.test_supporttest.support
  • 选择 Python 版本

    • 如果你的项目不需要与旧代码兼容,建议选择 Python 3.x,因为它是未来发展的方向。
    • 如果需要兼容旧代码,建议使用 Python 2.7。

  • 三、变量与常量

    变量

    在 Python 中,变量的命名规则非常简单:

    • 变量名可以包含字母、数字和下划线。
    • 不宜使用预留的关键字(如 defclass)。
    • 建议使用小写字母开头。

    示例:

    name = "Wader"
    age = 28
    print("Name: ", name) # 输出:Name: Wader
    print("Age: ", age) # 输出:Age: 28

    查看变量数据类型

    Python 会自动推断变量的数据类型:

    type(name)  # 输出:
    type(age) # 输出:

    常量

    在 Python 中,常量是通过全大写字母表示的变量,通常用于不可变的数据,如:

    MAX_VALUE = 1000

    四、接收用户输入

    在编写交互式程序时,接收用户输入是非常常见的操作。Python 2.x 和 Python 3.x 的实现方式有所不同。

    Python 2.x

    name = raw_input("Enter your name: ")
    print("Your name is", name)

    Python 3.x

    name = input("Enter your name: ")
    print("Your name is", name)

    注意事项

    • raw_input()input() 都返回字符串类型。
    • 如果需要将输入转换为其他类型,需使用 int()float() 等函数强制转换。

    五、字符编码与解释器

    字符编码的作用

    • 编码:将字符转换为二进制序列。
    • 解码:将二进制序列转换为字符。

    Python 中的字符编码

    • 在 Python 2.x 中,默认使用ASCII编码,中文字符需声明编码:
      # -*- coding: utf-8 -*-
      print("你好,世界")
    • 在 Python 3.x 中,默认使用Unicode编码,无需声明。

    指定字符编码

    • 为了确保代码在不同环境下运行,建议在文件开头声明编码:
      # -*- coding: utf-8 -*-

    指定 Python 解释器

    • 在脚本开头添加 shebang 语句:
       

    #!/usr/bin/env python

    - 不使用绝对路径(如 `/usr/bin/python`),以便未来升级 Python 解释器时不需手动修改。
    ---
    ## 六、注释
    ### 注释原则
    1. 不写没必要的注释。
    2. 错误的注释不如没写。
    ### 块注释
    ```python
    # 计算两个数的和并打印结果
    a = 10
    b = 20
    sum = a + b
    print("Sum: %d" % sum)

    行内注释

    print("你好,世界")  # 打印一行文本

    文档字符串

    适用于更详细的注释,如函数或类的注释:

    def print_function(*args, **kwargs):
    """Prints args and kwargs to the standard output."""
    print(args, **kwargs)

    七、导入模块

    语法

    • 导入整个模块:
      import sys
    • 导入模块中的特定对象:
      from sys import path, system

    示例

    import sys
    from os import system
    print(sys.path) # 输出当前工作目录
    print(system("ping www.baidu.com")) # 执行系统命令

    八、获取脚本传入的参数

    在编写脚本时,传入参数可以增强灵活性。Python 提供 sys.argv 列表来获取参数。

    示例

    import sys
    def main():
    print("Script arguments:", sys.argv)
    if len(sys.argv) == 1:
    print("Usage: python script_name [argument]")
    if __name__ == "__main__":
    main()

    执行结果

    python script_name arg1
    • sys.argv 是一个列表,第一个元素是脚本名称,后续元素是传入的参数。

    九、代码块语法

    Python 使用缩进来表示代码块,和其他语言如 Java、C++ 不同,不需要使用花括号。

    示例(如 if 语句)

    a = 3
    b = 5
    if a > b:
    big_num = a
    else:
    big_num = b
    print("大数:", big_num)

    十、Python程序执行过程与 .pyc 文件

    执行过程

  • 解释型语言特点:Python 先将源代码解释成中间代码,再执行。
  • 中间代码:Python 的中间代码是字节码,存储为 .pyc 文件。
  • 导入依赖文件:导入其他 .py 文件时,会自动生成对应的 .pyc 文件。
  • 示例

    # 代码文件:add.py
    def add(a, b):
    return a + b
    # 主要脚本:main.py
    import sys
    from add import add
    def main():
    a = 10
    b = 20
    result = add(a, b)
    print("Result: ", result)
    if __name__ == "__main__":
    main()

    执行后会生成 add.cpythonmain.cpython 文件。


    学习资源

    为了帮助你更好地学习 Python,我整理了一些免费的学习资料:

  • Python 知识手册
    包含从基础到高级功能的详细讲解。
  • Linux 知识手册
    了解操作系统和shell命令的使用。
  • 爬虫查询手册
    学习网络爬虫技术。
  • 数据分析知识手册
    掌握数据处理和可视化工具。
  • 机器学习知识手册
    学习算法和模型实现。
  • 金融量化知识手册
    掌握金融数据分析与建模。

  • 岗位内推

    我们正在寻找以下岗位:

    • 前端开发工程师
    • Python 开发工程师
    • Java 开发工程师
    • Android 开发工程师
    • iOS 开发工程师

    欢迎加入我们的团队!工作地点:深圳

    转载地址:http://exofk.baihongyu.com/

    你可能感兴趣的文章
    Python Selenium模块详解
    查看>>
    Python selenium爬取影评生成词云图
    查看>>
    Python selenium自动化测试框架实战 —— 登录测试案例
    查看>>
    Python Selenium设计模式 —— POM
    查看>>
    Python Serial:如何使用 read 或 readline 函数一次读取多个字符
    查看>>
    Python set([]) 如何检查两个对象是否相等?一个对象需要定义哪些方法来自定义它?
    查看>>
    Python setup.py:数据文件无法复制目录:不存在或不是常规文件
    查看>>
    Python Shell下使用matplotlib
    查看>>
    Python Slice How-to,我知道Python Slice,但我怎么才能使用内置的Slice对象呢?
    查看>>
    Python UI自动化测试集成UnitTest
    查看>>
    Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
    查看>>
    python valueerror object2_python遇到错误记录
    查看>>
    python vars的作用
    查看>>
    Python virtualenv
    查看>>
    python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
    查看>>
    Python WebDriver如何打印整个页面源(html)
    查看>>
    Python WebSocket自动化测试:构建高效接口测试框架
    查看>>
    Python Web开发
    查看>>
    Redis 配置文件杂项。
    查看>>
    Python web自动化测试 —— 文件上传
    查看>>