青少年编程与数学 02-008 Pyhon语言编程基础 02课题、基础概念

青少年编程与数学 02-008 Pyhon语言编程基础 02课题、基础概念

  • 一、标识符
  • 二、关键字
  • 三、字面量
  • 四、变量
  • 五、运算符
      • 1. 算术运算符
      • 2. 比较运算符
      • 3. 逻辑运算符
      • 4. 赋值运算符
      • 5. 成员运算符
      • 6. 身份运算符
  • 六、表达式
  • 七、语句
  • 八、注释
      • 单行注释
      • 多行注释
      • 文档字符串(Docstrings)
      • 注释的注意事项
  • 九、输出
      • 基本输出
      • 多参数输出
      • 指定分隔符
      • 指定结束字符
      • 格式化输出
        • 1. 百分号(%)格式化
        • 2. `str.format()` 方法
        • 3. f-strings(格式化字符串字面量)
        • 4. `%` 操作符与 `str.format()` 的对比
        • 5. 格式化数字
        • 6. 格式化列表和字典
      • 输出到文件
      • 输出表达式结果
      • 输出字典和列表
      • 打印多个语句在同一行
      • 打印对象的字符串表示

课题摘要:本文详细介绍了Python编程语言的基本概念,包括标识符、关键字、字面量、变量、运算符、表达式、语句、注释和输出。标识符是用于命名变量的规则集合,关键字是预定义的保留字,字面量是代码中直接表示值的符号。变量在Python中是动态类型的,运算符用于执行算术、比较等操作,表达式是可求值的代码片段。语句是执行操作的基本单位,包括赋值、条件、循环等。注释用于解释代码,输出语句用于显示信息。这些概念构成了Python编程的基础。


一、标识符

在Python中,标识符(Identifier)是用来标识变量、函数、类、模块和任何其他用户定义的项目的名称。以下是Python标识符的一些详细规则和特点:

  1. 命名规则

    • 标识符可以包含字母、数字和下划线(_)。
    • 标识符不能以数字开头。
    • 标识符只能包含ASCII字母,不能包含空格、连字符或其他特殊字符。
  2. 大小写敏感

    • Python是大小写敏感的,这意味着Variablevariable会被视为两个不同的标识符。
  3. 关键字

    • 有一些单词是Python的保留关键字,不能用作标识符。例如:ifforwhileclassdef等。
  4. 命名约定

    • 驼峰命名法(CamelCase):首单词小写,后续每个单词首字母大写。常用于类名,例如MyClass
    • 下划线命名法(Snake_case):所有单词小写,单词之间用下划线分隔。常用于函数和变量名,例如my_function
    • 单字母命名法:通常用于临时或辅助变量,例如ij
  5. 内置标识符

    • Python有一些内置的标识符,如TrueFalseNone等,它们代表了特定的值或对象。使用这些标识符作为变量名可能会覆盖内置值。
  6. 私有标识符

    • 以双下划线(__)开头的标识符被视为私有属性或方法,Python会对其进行名称重整(name mangling),以避免子类不小心覆盖父类的方法。
  7. 受保护的标识符

    • 以单下划线(_)开头的标识符被视为受保护的,这是一种约定,表明这些属性或方法不应该被外部访问。
  8. 动态命名

    • Python允许在运行时动态地创建和修改标识符,例如使用execlocals()globals()函数。
  9. Unicode标识符

    • 从Python 3开始,标识符也可以包含Unicode字母,这意味着可以使用其他语言的字母来命名标识符。
  10. 避免使用内置函数名

    • 尽管不是严格禁止,但最好避免使用内置函数名(如listdictstr等)作为变量名,以免造成混淆。
  11. 避免使用保留字

    • 尽管某些保留字(如awaitasync)在特定上下文中不是关键字,但最好避免使用它们作为标识符,以避免潜在的混淆。
  12. 标识符的作用域

    • 标识符的作用域决定了它们可以被访问的区域。例如,局部变量只能在定义它们的函数内部访问,而全局变量可以在整个模块中访问。

了解和遵循这些规则和约定对于编写清晰、可维护的Python代码非常重要。正确的命名可以提高代码的可读性和可维护性。

二、关键字

Python是一种动态的、解释型的、面向对象的脚本语言,它有一些预定义的关键字,这些关键字不能用作标识符名称。以下是Python 3.10版本中的所有关键字:

  1. False:布尔值假。
  2. await:用于定义异步函数。
  3. else:与if一起使用,表示条件不成立时执行的代码块。
  4. import:用于导入模块。
  5. True:布尔值真。
  6. break:用于跳出循环。
  7. except:用于异常处理。
  8. in:用于成员检查。
  9. try:用于异常处理。
  10. class:用于定义类。
  11. finally:用于异常处理,无论是否发生异常都会执行。
  12. is:用于检查两个对象是否为同一对象。
  13. def:用于定义函数。
  14. from:用于从模块中导入特定的类或函数。
  15. lambda:用于创建匿名函数。
  16. return:用于从函数返回值。
  17. nonlocal:用于在嵌套作用域中修改外部变量。
  18. global:用于声明全局变量。
  19. as:用于给导入的模块指定别名。
  20. if:用于条件判断。
  21. elif:用于条件判断的另一种情况。
  22. or:布尔逻辑或。
  23. pass:空操作,不做任何事情。
  24. with:用于上下文管理器。
  25. assert:用于调试,断言某个条件为真。
  26. del:用于删除对象。
  27. for:用于循环。
  28. not:布尔逻辑非。
  29. raise:用于抛出异常。
  30. while:用于循环。
  31. and:布尔逻辑与。
  32. exec:用于执行字符串中的Python代码。
  33. print:用于打印输出。
  34. yield:用于生成器函数。
  35. None:表示空值。
  36. continue:用于跳过当前循环的剩余代码,直接开始下一次循环。
  37. as:用于给导入的模块指定别名(与import一起使用)。
  38. async:用于定义异步函数或方法。
  39. await:用于暂停函数执行,等待可等待对象完成。

这些关键字是Python语言的基础,它们定义了Python的语法结构和行为。了解这些关键字对于编写Python代码至关重要。

三、字面量

Python中的字面量(literal)是指直接在代码中表示值的符号。以下是Python中常见的几种字面量类型:

  1. 数值字面量

    • 整数(Integers):不带小数点的数字,可以是正数或负数。
      • 例如:42, -7, 0, 10
    • 浮点数(Floats):带有小数点的数字,可以是正数或负数。
      • 例如:3.14, -0.001, 2.5e2(科学计数法表示250)
    • 复数(Complex numbers):由实部和虚部组成,使用jJ表示虚部。
      • 例如:1 + 2j, -3.5 - 4.2j
  2. 字符串字面量

    • 可以使用单引号'或双引号"来创建字符串。
      • 例如:'hello', "world"
    • 可以使用三引号'''"""来创建多行字符串。
      • 例如:
        three_lines = """
        First line
        Second line
        Third line
        """
        
    • 字符串可以包含转义字符,如\n(换行符)和\t(制表符)。
      • 例如:"Hello\nWorld" 会在"Hello"和"World"之间插入一个换行。
  3. 布尔字面量

    • TrueFalse表示布尔值真和假。
      • 例如:True, False
  4. 空值字面量

    • None表示空值或无值。
      • 例如:None
  5. 集合字面量

    • 使用大括号{}创建集合,集合中的元素是唯一的。
      • 例如:{1, 2, 3}
  6. 列表字面量

    • 使用方括号[]创建列表,列表中的元素可以重复。
      • 例如:[1, 2, 3]
  7. 字典字面量

    • 使用大括号{}创建字典,字典中的元素是键值对。
      • 例如:{'key1': 'value1', 'key2': 'value2'}
  8. 元组字面量

    • 使用圆括号()或逗号分隔的值创建元组,元组是不可变的。
      • 例如:(1, 2, 3)1, 2, 3
  9. 字节字面量

    • 使用前缀b表示字节字符串。
      • 例如:b'hello'
  10. 字节数组字面量

    • 使用bytearray()函数和方括号[]创建字节数组。
      • 例如:bytearray(b'hello')
  11. 枚举字面量

    • 使用enum模块创建枚举类型,枚举类型的成员是唯一的。
      • 例如:
        from enum import Enum
        class Color(Enum):RED = 1GREEN = 2BLUE = 3
        

这些字面量是Python中表示数据的基本方式,它们可以直接在代码中使用,无需额外的声明或定义。通过这些字面量,Python能够以一种非常直观和简洁的方式处理数据。

四、变量

Python 是一种动态类型的编程语言,这意味着变量的类型是在运行时确定的,而不是在编译时。在 Python 中,变量的声明和使用非常简单,不需要指定数据类型。以下是关于 Python 变量的一些详细解释:

  1. 变量的定义
    在 Python 中,变量是通过赋值来定义的。例如:

    x = 10
    

    这里 x 就是一个变量,它被赋予了整数值 10

  2. 动态类型
    Python 是动态类型语言,这意味着同一个变量可以被赋予不同类型的值:

    x = 10        # x 是一个整数
    x = "Hello"   # x 现在是一个字符串
    
  3. 变量名的规则

    • 变量名必须以字母或下划线开头。
    • 变量名只能包含字母、数字和下划线(A-z, 0-9, 和 _ )。
    • 变量名是区分大小写的。
  4. 变量的作用域

    • 局部变量:在函数内部定义的变量,只能在该函数内部访问。
    • 全局变量:在函数外部定义的变量,可以被程序中的任何部分访问。
  5. 变量的类型
    Python 中的变量可以存储任何类型的数据,包括但不限于:

    • 整数(int)
    • 浮点数(float)
    • 字符串(str)
    • 列表(list)
    • 元组(tuple)
    • 字典(dict)
    • 集合(set)
    • 布尔值(bool)
  6. 变量的引用
    在 Python 中,变量实际上是对内存中对象的引用。当你将一个值赋给变量时,你实际上是在创建一个指向该值的引用:

    a = [1, 2, 3]
    b = a
    

    这里 ab 都指向同一个列表对象。

  7. 可变类型与不可变类型

    • 不可变类型:如整数、浮点数、字符串和元组,一旦创建,它们的值不能被改变。
    • 可变类型:如列表、字典、集合等,它们的值可以在创建后被修改。
  8. 垃圾回收
    Python 使用引用计数和垃圾收集机制来管理内存。当一个对象的引用计数降到零时,它会被垃圾收集器回收。

  9. 变量的解包
    Python 允许你将一个序列中的值赋给多个变量,这称为解包:

    a, b, c = 1, 2, 3
    
  10. 关键字参数
    在函数调用中,你可以使用关键字参数来指定变量名和对应的值,这使得代码更清晰:

    def func(a, b, c):print(a, b, c)func(a=1, b=2, c=3)
    
  11. 变量的命名约定

    • 使用小写字母和下划线来命名变量。
    • 避免使用 Python 的关键字和内置函数作为变量名。
  12. 变量的垃圾回收
    当一个变量不再被引用时,Python 的垃圾收集器会自动回收其占用的内存。

理解这些基本概念对于编写有效和高效的 Python 代码至关重要。

五、运算符

Python 提供了一系列运算符来执行不同的操作,包括算术运算、比较运算、逻辑运算、赋值运算等。以下是 Python 中常用的运算符及其详解:

1. 算术运算符

  • 加法(+):用于加法运算。
    a = 5 + 3  # 结果 8
    
  • 减法(-):用于减法运算。
    a = 5 - 3  # 结果 2
    
  • 乘法(*):用于乘法运算。
    a = 5 * 3  # 结果 15
    
  • 除法(/):用于除法运算,结果为浮点数。
    a = 5 / 3  # 结果 1.6666666666666667
    
  • 整除(//):用于除法运算,结果为整数。
    a = 5 // 3  # 结果 1
    
  • 模运算(%):返回除法的余数。
    a = 5 % 3  # 结果 2
    
  • 指数运算()**:用于计算幂。
    a = 5 ** 3  # 结果 125
    
  • 地板除(//):与整除相同,结果是整数。
    a = 5 // 3  # 结果 1
    

2. 比较运算符

  • 等于(==):检查两个值是否相等。
    a = 5
    b = 5
    print(a == b)  # True
    
  • 不等于(!=):检查两个值是否不相等。
    a = 5
    b = 6
    print(a != b)  # True
    
  • 大于(>):检查左边的值是否大于右边的值。
    a = 5
    b = 6
    print(a > b)  # False
    
  • 小于(<):检查左边的值是否小于右边的值。
    a = 5
    b = 6
    print(a < b)  # True
    
  • 大于等于(>=):检查左边的值是否大于或等于右边的值。
    a = 5
    b = 6
    print(a >= b)  # False
    
  • 小于等于(<=):检查左边的值是否小于或等于右边的值。
    a = 5
    b = 6
    print(a <= b)  # True
    

3. 逻辑运算符

  • 逻辑与(and):如果两个操作数都为真,则结果为真。
    print(True and True)  # True
    print(True and False)  # False
    
  • 逻辑或(or):如果两个操作数中至少有一个为真,则结果为真。
    print(True or False)  # True
    print(False or False)  # False
    
  • 逻辑非(not):反转操作数的布尔值。
    print(not True)  # False
    print(not False)  # True
    

4. 赋值运算符

  • 等于(=):将右边的值赋给左边的变量。
    a = 5
    
  • 加等于(+=):左边的变量增加右边的值。
    a = 5
    a += 3  # a 现在是 8
    
  • 减等于(-=):左边的变量减少右边的值。
    a = 5
    a -= 3  # a 现在是 2
    
  • 乘等于(*=):左边的变量乘以右边的值。
    a = 5
    a *= 3  # a 现在是 15
    
  • 除等于(/=):左边的变量除以右边的值。
    a = 5
    a /= 3  # a 现在是 1.6666666666666667
    
  • 整除等于(//=):左边的变量整除右边的值。
    a = 5
    a //= 3  # a 现在是 1
    
  • 模等于(%=):左边的变量取模右边的值。
    a = 5
    a %= 3  # a 现在是 2
    
  • 指数等于(=)**:左边的变量指数右边的值。
    a = 5
    a **= 3  # a 现在是 125
    

5. 成员运算符

  • in:检查左边的值是否在右边的序列中。
    a = [1, 2, 3]
    print(2 in a)  # True
    
  • not in:检查左边的值是否不在右边的序列中。
    a = [1, 2, 3]
    print(4 not in a)  # True
    

6. 身份运算符

  • is:检查两个引用是否指向同一个对象。
    a = [1, 2, 3]
    b = a
    print(a is b)  # True
    
  • is not:检查两个引用是否不指向同一个对象。
    a = [1, 2, 3]
    b = [1, 2, 3]
    print(a is not b)  # True
    

这些运算符是 Python 编程中的基础,掌握它们对于编写有效的 Python 代码至关重要。

六、表达式

在Python中,表达式是一段可以被求值并产生结果值的代码。表达式可以简单到一个单独的数字或变量,也可以复杂到包含多个操作符和函数调用的组合。以下是Python中一些主要类型的表达式及其详解:

  1. 字面量(Literals)

    • 数字:如423.14(整数和浮点数)
    • 字符串:如"hello"'world'(使用双引号或单引号)
    • 布尔值:TrueFalse
    • 空值:None
  2. 变量(Variables)

    • 变量是存储数据值的名称。例如,x = 10创建了一个名为x的变量,并将其与值10关联。
  3. 算术运算符

    • 加法:+
    • 减法:-
    • 乘法:*
    • 除法:/
    • 整除://(结果为整数)
    • 模运算:%(返回余数)
    • 指数运算:**
  4. 关系运算符

    • 等于:==
    • 不等于:!=
    • 大于:>
    • 小于:<
    • 大于等于:>=
    • 小于等于:<=
  5. 逻辑运算符

    • 逻辑与:and
    • 逻辑或:or
    • 逻辑非:not
  6. 成员运算符

    • 属于:in(检查元素是否存在于序列中)
    • 不属于:not in
  7. 身份运算符

    • 恒等:is(检查两个引用是否指向同一个对象)
    • 不恒等:is not
  8. 位运算符

    • 按位与:&
    • 按位或:|
    • 按位异或:^
    • 按位非:~
    • 左移:<<
    • 右移:>>
  9. 赋值运算符

    • 单赋值:=
    • 复合赋值:+=-=*=/=
  10. 函数调用

    • 调用函数时,函数名后跟括号,括号内可以包含参数。例如,math.sqrt(16)
  11. 列表推导式(List Comprehensions)

    • 用于创建列表的简洁方式,例如,[x*2 for x in range(10)]
  12. 生成器表达式(Generator Expressions)

    • 类似于列表推导式,但返回一个生成器,例如,(x*2 for x in range(10))
  13. 条件表达式(Conditional Expressions)

    • 也称为三元条件运算符,格式为x if condition else y
  14. lambda表达式

    • 创建匿名函数的简洁方式,例如,lambda x: x*2
  15. 属性访问和方法调用

    • 通过点.访问对象的属性或方法,例如,obj.attributeobj.method()
  16. 索引和切片

    • 访问序列(如列表、字符串、元组)中的元素,例如,sequence[index]sequence[start:end:step]
  17. 运算符优先级

    • Python中有一套确定的运算符优先级规则,决定了表达式中运算符的执行顺序。
  18. 表达式求值

    • Python会按照运算符优先级和结合性规则来求值表达式。

这些是Python中表达式的一些基本类型和概念。掌握这些表达式对于编写有效和高效的Python代码至关重要。

七、语句

Python语言中的语句是执行特定操作的基本单位。以下是一些基本的Python语句类型及其详解:

  1. 赋值语句

    • 用于将值赋给变量。
    • 语法:variable = value
    • 例如:x = 5
  2. 输入输出语句

    • print():用于输出信息到控制台。

    • input():用于从用户那里接收输入。

    • 例如:

      name = input("Enter your name: ")
      print("Hello, " + name)
      
  3. 条件语句

    • if:用于条件判断。

    • elif:用于条件判断的另一种情况。

    • else:用于条件不成立时执行的代码块。

    • 例如:

      if x > 0:print("x is positive")
      elif x == 0:print("x is zero")
      else:print("x is negative")
      
  4. 循环语句

    • for:用于遍历序列(如列表、元组、字典、字符串)。

    • while:用于在满足条件时重复执行代码块。

    • 例如:

      for i in range(5):print(i)i = 1
      while i <= 5:print(i)i += 1
      
  5. 函数定义语句

    • def:用于定义函数。

    • 语法:def function_name(parameters):

    • 例如:

      def greet(name):print("Hello, " + name)greet("Alice")
      
  6. 类定义语句

    • class:用于定义类。

    • 语法:class ClassName:

    • 例如:

      class Greeter:def __init__(self, name):self.name = namedef greet(self):print("Hello, " + self.name)greeter = Greeter("Bob")
      greeter.greet()
      
  7. 异常处理语句

    • try:用于尝试执行代码块。

    • except:用于捕获异常。

    • finally:无论是否发生异常都会执行。

    • raise:用于抛出异常。

    • 例如:

      try:x = 1 / 0
      except ZeroDivisionError:print("You can't divide by zero!")
      finally:print("This will always be executed.")
      
  8. 导入语句

    • import:用于导入模块。

    • from ... import ...:从模块中导入特定的类或函数。

    • 例如:

      import math
      from datetime import datetime
      
  9. 装饰器语句

    • @decorator:用于在不修改函数内容的情况下增加函数功能。

    • 例如:

      def my_decorator(func):def wrapper():print("Something is happening before the function is called.")func()print("Something is happening after the function is called.")return wrapper@my_decorator
      def say_hello():print("Hello!")say_hello()
      
  10. 返回语句

    • return:用于从函数返回值。

    • 例如:

      def add(a, b):return a + bresult = add(3, 4)
      
  11. 全局和非局部变量声明

    • global:用于声明全局变量。

    • nonlocal:用于在嵌套作用域中声明变量。

    • 例如:

      x = "global"def func():global xx = "local"print(x)func()
      
  12. 断言语句

    • assert:用于调试,断言某个条件为真。

    • 例如:

      assert 2 + 2 == 4
      

这些语句构成了Python编程的基础,通过组合这些基本语句,可以构建出复杂的程序逻辑。

八、注释

在 Python 中,注释是用来解释代码的,它们不会被程序执行。注释可以帮助其他开发者(或未来的你)理解代码的目的和逻辑。Python 提供了两种方式来编写注释:

单行注释

单行注释使用井号(#)开始。井号后面的内容直到行尾都会被 Python 解释器忽略。

# 这是一个单行注释
x = 5  # 这也是一个单行注释,用来说明变量赋值

多行注释

Python 中没有官方的多行注释语法,但可以使用三个连续的引号(单引号 ''' 或双引号 """)来创建多行字符串,这通常被用作多行注释或文档字符串(docstrings)。

"""
这是一个多行注释
它可以跨越多行
并且被用来解释复杂的代码块
"""# 或者使用单引号
'''
这也是一个多行注释
用于同样的用途
'''

文档字符串(Docstrings)

文档字符串是 Python 中一种特殊的注释方式,它使用三个引号创建,通常放在函数、类和模块的开头,用来描述它们的功能和用法。

def my_function():"""这是一个文档字符串它描述了函数的功能"""passclass MyClass:"""这是一个类的文档字符串它描述了类的用途和功能"""pass"""
这是一个模块的文档字符串
它描述了模块的内容和目的
"""

文档字符串不仅是注释,它们还可以被特别地提取和显示,例如使用内置的 help() 函数。

help(my_function)

注释的注意事项

  • 注释应该简洁明了,直接说明代码的目的和逻辑。
  • 避免在注释中包含过多的细节,注释应该是代码的补充,而不是代码的重复。
  • 注释应该保持更新,如果代码更改了,相关的注释也应该更新,以避免混淆。
  • 在团队项目中,注释的风格和格式应该保持一致,以便于理解和维护。

正确和恰当地使用注释可以极大地提高代码的可读性和可维护性。

九、输出

在 Python 中,输出语句通常用于将信息显示在控制台或屏幕上。Python 提供了几种不同的方法来实现输出,最常用的是 print() 函数。基本的输出对于初学编程及程序调试至关重要。

以下是 print() 函数的一些详细用法和特点:

基本输出

print() 函数用于输出信息到控制台。如果没有指定 end 参数,print() 默认在输出后添加一个换行符(\n)。

print("Hello, World!")

多参数输出

print() 可以接受多个参数,并且它们之间默认用空格分隔。

print("Hello", "World", "!")

指定分隔符

通过 sep 参数,可以指定参数之间的分隔符,默认为空格。

print("Hello", "World", "!", sep="-")
# 输出: Hello-World-!

指定结束字符

通过 end 参数,可以指定 print() 函数输出后的结束字符,默认为换行符 \n

print("Hello, World!", end=" ")
print("Welcome to Python.")
# 输出: Hello, World! Welcome to Python.

格式化输出

Python 提供了多种字符串格式化方法来实现复杂的输出格式。以下是几种常用的字符串格式化方法:

1. 百分号(%)格式化

这是最古老的字符串格式化方法,使用 % 操作符。

name = "Kimi"
age = 30
print("Hello, %s. You are %d years old." % (name, age))
  • %s 代表字符串
  • %d 代表整数
  • %f 代表浮点数
  • %.2f 代表保留两位小数的浮点数
2. str.format() 方法

这是一种更现代的字符串格式化方法,使用 .format() 方法。

name = "Kimi"
age = 30
print("Hello, {}. You are {} years old.".format(name, age))

.format() 方法可以链式调用,也可以使用索引和关键字参数:

# 链式调用
print("Hello, {0}. You are {1} years old.".format(name, age))# 使用索引
print("Hello, {1}. You are {0} years old.".format(age, name))# 使用关键字参数
print("Hello, {name}. You are {age} years old.".format(name=name, age=age))

还可以指定字段宽度、填充字符、对齐方式等:

# 指定宽度和填充
print("Hello, {name:<10}. You are {age:>2} years old.".format(name=name, age=age))
# 输出: Hello, Kimi     . You are 30  years old.# 指定宽度和填充字符
print("Hello, {name:_<10}. You are {age:>2} years old.".format(name=name, age=age))
# 输出: Hello, _Kimi_____. You are 30  years old.
3. f-strings(格式化字符串字面量)

从 Python 3.6 开始,可以使用 f-strings 进行字符串格式化,这是最快的格式化方法。

name = "Kimi"
age = 30
print(f"Hello, {name}. You are {age} years old.")

f-strings 也支持表达式和属性访问:

class Person:def __init__(self, name, age):self.name = nameself.age = ageperson = Person("Kimi", 30)
print(f"Hello, {person.name}. You are {person.age} years old.")
4. % 操作符与 str.format() 的对比
  • % 操作符是老式的格式化方法,功能有限。
  • str.format() 提供了更多的灵活性和功能,如链式调用、关键字参数等。
  • f-strings 提供了最简洁和最快的格式化方法,但仅在 Python 3.6+ 支持。
5. 格式化数字

格式化输出时,可以指定数字的格式:

# 浮点数
print("{:.2f}".format(3.14159))  # 输出: 3.14# 整数
print("{:08d}".format(10))  # 输出: 00000010# 十六进制
print("{:x}".format(255))  # 输出: ff
print("{:X}".format(255))  # 输出: FF# 二进制
print("{:b}".format(10))  # 输出: 1010
6. 格式化列表和字典

可以使用 * 运算符来解包列表或字典,并在格式化字符串中使用它们:

# 列表
coordinates = [1, 2, 3]
print("Coordinates: x={0[0]}, y={0[1]}, z={0[2]}".format(*coordinates))# 字典
person = {'name': 'Kimi', 'age': 30}
print("Name: {name}, Age: {age}".format(**person))

通过这些格式化方法,Python 允许你灵活地控制输出格式,使代码更加清晰和易于维护。

输出到文件

print() 函数还可以将输出重定向到文件。

with open('output.txt', 'w') as f:print("Hello, World!", file=f)

输出表达式结果

print() 函数可以直接输出表达式的结果。

a = 5
b = 10
print(a + b)  # 输出 15

输出字典和列表

print() 函数可以输出字典和列表的内容。

my_list = [1, 2, 3]
my_dict = {'name': 'Kimi', 'age': 30}
print(my_list)
print(my_dict)

打印多个语句在同一行

使用逗号分隔 print() 函数中的参数,可以让多个输出语句显示在同一行。

print("Hello,", end=" ")
print("World!")

打印对象的字符串表示

print() 函数可以输出任何对象的字符串表示,如果对象没有定义 __str__ 方法,则会使用 __repr__ 方法。

class MyClass:def __str__(self):return "MyClass instance"obj = MyClass()
print(obj)  # 输出: MyClass instance

print() 函数是 Python 中最常用的输出工具,它的灵活性和易用性使得在开发过程中进行调试和展示结果变得非常方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lanqiaoOJ 2145:求阶乘 ← 二分法

【题目来源】 https://www.lanqiao.cn/problems/2145/learning/ 【题目描述】 满足 N&#xff01;的末尾恰好有 K 个 0 的最小的 N 是多少&#xff1f; 如果这样的 N 不存在输出 -1。 【输入格式】 一个整数 K。 【输出格式】 一个整数代表答案。 【输入样例】 2 【输出样…

vs2013 使用 eigen 库编译时报 C2059 错的解决方法

&#xff08;个人感觉&#xff09;vs2013 就不能使用版本大于等于 3.4 的 eigen&#xff0c;使用 3.3.9 就可以了&#xff0c;再不行就用 3.3.8 另一个博主也遇到过用 vs2013 的时候不能编译 3.4 的 eigen 的问题&#xff0c;不过我用的是 win11&#xff0c;所以感觉跟操作系统…

U盘打开提示格式化:深度解析与数据恢复全攻略

在数字化时代&#xff0c;U盘作为便捷的数据存储和传输工具&#xff0c;广泛应用于各个领域。然而&#xff0c;当我们满怀期待地插入U盘&#xff0c;却遭遇“U盘打开提示格式化”的尴尬局面时&#xff0c;那份焦虑与无助感油然而生。本文将全面剖析U盘打开提示格式化的原因、应…

智能工厂能耗管理:Python助力节能增效

智能工厂能耗管理:Python助力节能增效 在工业4.0时代,工厂能耗管理已成为制造企业降本增效的重要一环。传统的能耗管理方式往往依赖人工统计和经验决策,导致能源浪费严重。而借助人工智能与Python的强大能力,我们可以实现智能化、数据驱动的能耗优化方案。今天,我们就来聊…

MyBatis 框架:简化 Java 数据持久化的利器

Java学习资料 Java学习资料 Java学习资料 一、引言 在 Java 企业级应用开发中&#xff0c;数据持久化是一个至关重要的环节&#xff0c;它涉及到将应用程序中的数据保存到数据库&#xff0c;以及从数据库中读取数据供应用程序使用。传统的 JDBC 编程虽然可以实现数据持久化&…

[NOI1995] 石子合并

[NOI1995] 石子合并 题目描述 在一个圆形操场的四周摆放 N N N 堆石子&#xff0c;现要将石子有次序地合并成一堆&#xff0c;规定每次只能选相邻的 2 2 2 堆合并成新的一堆&#xff0c;并将新的一堆的石子数&#xff0c;记为该次合并的得分。 试设计出一个算法,计算出将 …

未来无线技术的发展方向

未来无线技术的发展趋势呈现出多样化、融合化的特点&#xff0c;涵盖速度、覆盖范围、应用领域、频段利用、安全性等多个方面。这些趋势将深刻改变人们的生活和社会的运行方式。 传输速度提升&#xff1a;Wi-Fi 技术迭代加快&#xff0c;如 Wi-Fi7 理论峰值速率达 46Gbps&#…

HTB:Forest[WriteUP]

连接至HTB服务器并启动靶机 分配IP&#xff1a;10.10.16.21 靶机IP&#xff1a;10.10.10.161 靶机Domain&#xff1a;forest.htb 目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端…

芯片AI深度实战:实战篇之vim chat

利用vim-ollama这个vim插件&#xff0c;可以在vim内和本地大模型聊天。 系列文章&#xff1a; 芯片AI深度实战&#xff1a;基础篇之Ollama-CSDN博客 芯片AI深度实战&#xff1a;基础篇之langchain-CSDN博客 芯片AI深度实战&#xff1a;实战篇之vim chat-CSDN博客 芯片AI深度…

JavaScript - Web APIs(下)

日期对象 目标&#xff1a;掌握日期对象&#xff0c;可以让网页显示日期 日期对象&#xff1a;用来表示时间的对象 作用&#xff1a;可以得到当前系统时间 学习路径&#xff1a; 实例化 日期对象方法 时间戳 实例化 目标&#xff1a;能够实例化日期对象 在代码中发…

selenium自动化测试框架——面试题整理

目录 1. 什么是 Selenium&#xff1f;它的工作原理是什么&#xff1f; 2. Selenium 主要组件 3. 常见 WebDriver 驱动 4. Selenium 如何驱动浏览器&#xff1f; 5. WebDriver 协议是什么&#xff1f; 6. Page Object 模式与 Page Factory 7. 如何判断元素是否可见&#x…

【安全测试】测开方向学习遇到的问题记录

【问题一】springboot如何访问静态资源文件 springboot启动根路径位置 F:\untitled05\demo4\src\main\resources\static 例如图片位置存放在F:\untitled05\demo4\src\main\resources\static即可 配置文件配置 spring.web.resources.static-locationsfile:/F:/untitled05/de…

Unity|小游戏复刻|见缝插针2(C#)

控制针的运动 新建一个Pin脚本 将Pin脚本拖到针Pin的下面 保存代码 using UnityEngine;public class Pin : MonoBehaviour {public float speed 5;private bool isFly false;private bool isReach false;private Transform startPosition;// Start is called once bef…

2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型

2025年数学建模美赛 A题分析&#xff08;1&#xff09;Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析&#xff08;2&#xff09;楼梯磨损分析模型 2025年数学建模美赛 A题分析&#xff08;3&#xff09;楼梯使用方向偏好模型 2025年数学建模美赛 A题分…

DeepSeek大模型技术解析:从架构到应用的全面探索

一、引言 在人工智能领域&#xff0c;大模型的发展日新月异&#xff0c;其中DeepSeek大模型凭借其卓越的性能和广泛的应用场景&#xff0c;迅速成为业界的焦点。本文旨在深入剖析DeepSeek大模型的技术细节&#xff0c;从架构到应用进行全面探索&#xff0c;以期为读者提供一个…

「AI学习笔记」深度学习的起源与发展:从神经网络到大数据(二)

深度学习&#xff08;DL&#xff09;是现代人工智能&#xff08;AI&#xff09;的核心之一&#xff0c;但它并不是一夜之间出现的技术。从最初的理论提出到如今的广泛应用&#xff0c;深度学习经历了几乎一个世纪的不断探索与发展。今天&#xff0c;我们一起回顾深度学习的历史…

嵌入式Linux:如何监视子进程

目录 1、wait()函数 2、waitpid()函数 3、SIGCHLD信号 在嵌入式Linux系统中&#xff0c;父进程通常需要创建子进程来执行特定任务&#xff0c;例如处理网络请求、执行计算任务等。监视子进程的状态不仅可以确保资源的合理利用&#xff0c;还能防止僵尸进程的产生&#xff0c…

「 机器人 」扑翼飞行器控制策略浅谈

1. 研究背景 • 自然界中的蜂鸟以极高的机动能力著称,能够在短至0.2秒内完成如急转弯、快速加速、倒飞、躲避威胁等极限机动。这种表现对微型飞行器(Flapping Wing Micro Air Vehicles, FWMAVs)具有重要的仿生启示。 • 目前的微型飞行器距离自然生物的飞行能力仍有相当差距…

渗透测试之WAF规则触发绕过规则之规则库绕过方式

目录 Waf触发规则的绕过 特殊字符替换空格 实例 特殊字符拼接绕过waf Mysql 内置得方法 注释包含关键字 实例 Waf触发规则的绕过 特殊字符替换空格 用一些特殊字符代替空格&#xff0c;比如在mysql中%0a是换行&#xff0c;可以代替空格 这个方法也可以部分绕过最新版本的…

c++ map/multimap容器 学习笔记

1 map的基本概念 简介&#xff1a; map中所有的元素都是pair pair中第一个元素是key&#xff08;键&#xff09;&#xff0c;第二个元素是value&#xff08;值&#xff09; 所有元素都会根据元素的键值自动排序。本质&#xff1a; map/multimap 属于关联式容器&#xff0c;底…