Python基础01

177 阅读7分钟

修订历史:

  • 2024/09/17 完成 python 注释、控制台输出和输出,错误类型,导入库的方式基础笔记

1 Python注释基础

1.1 作用

注释的主要作用是为代码提供解释和说明,这有助于其他开发者或未来的自己理解代码的意图和功能。

1. 2 分类

Python中的注释分为两种类型:

  1. 单行注释:使用井号(#)开头。这种注释仅适用于解释接下来的一行代码。

    # 这是一个单行注释
    print("Hello, World!")  # 这行代码打印“Hello, World!”到控制台
    
  2. 多行注释:使用三个连续的单引号(''')或双引号(""")包裹起来。这种注释可以跨越多行,通常用于详细描述一个代码块或函数的功能。

    """
    这是一个多行注释的例子。
    它可以用来描述函数的功能,参数和返回值。
    """
    def greet(name):
        print(f"Hello, {name}!")
    

1.3 应用场景

  • 代码解释:在代码中添加注释,解释特定代码段的功能。
  • 临时禁用代码:通过注释掉代码,可以临时禁用某些功能,而不删除代码。
  • 文档生成:某些工具可以自动从注释中提取文档,生成API文档或用户手册。

1.4 注意事项

  • 确保注释清晰、简洁,避免冗余。
  • 避免在注释中包含误导性信息。
  • 定期更新注释,以反映代码的更改。

通过合理使用注释,可以显著提高代码的可维护性和团队协作的效率。

2 Python错误类型概述

在Python编程过程中,错误是不可避免的。了解不同类型的错误有助于我们更好地调试和优化代码。以下是Python中常见的三种错误类型:

  • 语法错误 syntax errors:关注代码的语法结构,确保符合Python的语法规则。
  • 运行时错误 Runtime Errors:通过异常处理机制来捕获和处理潜在的运行时问题。
  • 逻辑错误 Logical Errors:仔细检查和测试代码逻辑,确保程序的输出与预期一致。

2.1 语法错误(Syntax Errors)

  • 定义:语法错误是指代码不符合Python的语法规则,导致代码无法被解释器识别和执行。
  • 特点:这类错误通常在代码编写阶段被发现,因为它们阻止了代码的正常运行。
  • 示例
    # 错误的缩进
    def greet():
    print("Hello, World!")
    
  • 解决方式:检查代码的语法结构,如括号、引号、缩进等是否正确。

2.2 运行时错误(Runtime Errors)

  • 定义:运行时错误是指代码在执行过程中遇到问题,导致程序无法继续正常运行。
  • 特点:这类错误通常在代码运行时发生,可能由于外部因素或程序逻辑问题引起。
  • 示例
    # 除以零错误
    print(10 / 0)
    
  • 解决方式:通过添加异常处理(如try-except块)来捕获和处理可能的运行时错误。

2.3 逻辑错误(Logical Errors)

  • 定义:逻辑错误是指代码在语法上正确,运行时也不会抛出错误,但程序的输出结果与预期不符。
  • 特点:这类错误通常较难发现,因为它们不会导致程序崩溃,但会影响程序的正确性和可靠性。
  • 示例
    # 错误的逻辑判断
    def is_positive(num):
        if num > 0:
            return True
        else:
            return False
    print(is_positive(-1))  # 应该返回False,但逻辑错误导致返回True
    
  • 解决方式:仔细检查代码逻辑,确保所有条件和分支都符合预期的业务逻辑。

3 Python控制台输入和输出

在Python中,控制台输入和输出是与用户交互的基本方式。

  • 输出:使用print函数将信息输出到控制台,可以输出多个参数并格式化输出。
  • 输入:使用input函数接收用户的输入,输入的内容默认为字符串,可以通过类型转换函数处理为其他数据类型。

3.1 输出到控制台

  • print 函数:用于将信息输出到控制台。默认情况下,每次调用print函数后,输出的内容会自动换行。
    • 用法示例
      print("Hello, World!")  # 输出 "Hello, World!" 并自动换行
      print("Today's date is:", "2024-09-17")  # 输出 "Today's date is: 2024-09-17" 并自动换行
      
    • 特点
      • 可以输出多个参数,参数之间用逗号分隔,它们将被空格分隔并输出。
      • 可以控制输出格式,例如使用字符串格式化。

3.2 从控制台接收输入

  • input 函数:用于接收用户的输入。用户输入的内容将作为字符串返回。
    • 用法示例
      name = input("Please enter your name: ")  # 提示用户输入名字
      print(f"Hello, {name}!")  # 输出 "Hello, [用户输入的名字]!"
      
    • 特点
      • input函数可以接受一个字符串参数,该字符串将作为提示信息输出到控制台,然后等待用户输入。
      • 用户输入的内容总是作为字符串处理,即使输入的是数字。

3.3 进阶技巧

  • 格式化输出:可以使用字符串格式化方法来控制输出的格式,例如:
    age = 30
    print(f"I am {age} years old.")  # 使用f-string进行格式化
    print("I am %d years old." % age)  # 使用百分号格式化
    
  • 处理输入类型:如果需要处理用户输入的数字,可以使用int()float()函数将字符串转换为相应的数值类型:
    age_input = input("Please enter your age: ")
    age = int(age_input)  # 将输入转换为整数
    print(f"You entered {age} as your age.")
    

4 Python模块导入

在Python中,模块导入是扩展程序功能的重要手段。通过导入模块,你可以使用预定义的函数、类和变量。

  • 导入模块:使用import module_name来导入整个模块。
  • 导入特定成员:使用from module_name import member_name来导入模块中的特定成员。
  • 设置别名:使用as关键字为模块或成员设置别名,简化代码或避免命名冲突。
  • 导入多个模块/成员:可以在一行中导入多个模块或成员。
  • 动态导入:使用__import__()函数动态导入模块。

4.1 导入模块

  • 基本语法:使用import关键字来导入模块。
    import math  # 导入math模块
    
    • 使用模块:导入模块后,可以使用模块名加点号(.)来访问模块中的成员。
      print(math.sqrt(16))  # 输出 4.0
      

4.2 导入模块中的特定成员

  • 基本语法:使用from关键字和import来导入模块中的特定成员。
    from math import sqrt  # 仅导入sqrt函数
    
    • 使用成员:导入特定成员后,可以直接使用成员名,无需模块名。
      print(sqrt(16))  # 输出 4.0
      

4.3 为模块或成员设置别名

  • 基本语法:使用as关键字为模块或成员设置别名,以简化代码或避免命名冲突。
    import math as m  # 为math模块设置别名m
    from math import sqrt as square_root  # 为sqrt函数设置别名square_root
    
    • 使用别名
      print(m.sqrt(16))  # 使用别名m调用sqrt函数
      print(square_root(16))  # 使用别名square_root调用sqrt函数
      

4.4 导入多个模块或成员

  • 基本语法:可以在一行中导入多个模块或成员。
    import math, os  # 同时导入math和os模块
    from math import sqrt, pow  # 同时导入sqrt和pow函数
    
    • 使用多个成员
      print(math.sqrt(16))  # 输出 4.0
      print(os.getcwd())  # 输出当前工作目录
      print(sqrt(25))  # 输出 5.0
      print(pow(2, 3))  # 输出 8
      

4.5 动态导入模块

  • 基本语法:使用__import__()函数动态导入模块。
    module_name = "math"
    mod = __import__(module_name)
    print(mod.sqrt(16))  # 输出 4.0
    

通过合理地导入和使用模块,可以充分利用Python的丰富库资源,提高代码的可读性和可维护性。