内容目录

Print语句执行过程

print('hello world')

print() 函数由两部分构成 :

  • 指令:print
  • 指令的执行对象,在 print 后面的括号里的内容

它的执行流程如下:

flowchart TD
    A["print('hello world')"] -->|向解释器发出指令打印'hello world'| B(Python解释器)
    B --> |解析器把代码解释为计算器能读懂的机器语言| C(计算机)
    C -->|计算机执行完后就打印结果| D[hello world]

Python 基本数据类型

字符串

字符串是python中最常用的数据类型,字符串的识别也非常的简单,就是用「引号」括起来的。

在Python中,引号用于定义字符串,包括单引号(’ ‘)、双引号(" ")和三引号(’‘’ ‘’)。这些引号的选择和使用取决于不同的使用场景:

单引号(’)

  • 使用场景:通常用于简单的字符串,例如单词或短语。
  • 示例:
    name = 'Alice'

双引号(")

  • 使用场景:与单引号类似,也用于表示字符串,通常在字符串中包含单引号时使用。
  • 示例:
    message = "It's a beautiful day"

三引号(”’或""")

  • 使用场景:用于多行字符串、文档字符串(docstring)或包含换行符的长字符串。
  • 示例:
    long_text = '''This is a 
               multiline 
               string'''
    docstring_example = """
    This is a docstring.
    It is used to provide documentation for functions, modules, or classes.
    """

    备注:三引号定义的字符串,允许字符串跨越多行,而不需要在每行末尾添加连行符。此外,三引号字符串可以包含特殊字符,包括单引号和双引号,而无需转义。

整数

在Python中,整数是一种基本的数据类型,用于表示整数值。

  • 整数类型:Python中的整数类型是int,可以表示正整数、负整数和零。

  • 整数运算:Python支持常见的整数运算,包括加法(+)、减法(-)、乘法(*)、除法(/)、取模(%)和幂运算(**)等。

示例:

# 声明整数变量
num1 = 10
num2 = 5

# 加法
sum_result = num1 + num2
print("Sum:", sum_result)

# 减法
subtraction_result = num1 - num2
print("Subtraction:", subtraction_result)

# 乘法
multiplication_result = num1 * num2
print("Multiplication:", multiplication_result)

# 除法
division_result = num1 / num2
print("Division:", division_result)

# 取模
modulus_result = num1 % num2
print("Modulus:", modulus_result)

# 幂运算
power_result = num1 ** num2
print("Power:", power_result)

浮点数

在Python中,浮点数是一种用于表示小数的数据类型。

  • 浮点数类型:Python中的浮点数类型是float,用于表示带有小数部分的数字。

  • 浮点数运算:Python支持常见的浮点数运算,包括加法(+)、减法(-)、乘法(*)、除法(/)和幂运算(**)等。

示例:

# 声明浮点数变量
num1 = 3.5
num2 = 2.0

# 加法
sum_result = num1 + num2
print("Sum:", sum_result)

# 减法
subtraction_result = num1 - num2
print("Subtraction:", subtraction_result)

# 乘法
multiplication_result = num1 * num2
print("Multiplication:", multiplication_result)

# 除法
division_result = num1 / num2
print("Division:", division_result)

# 幂运算
power_result = num1 ** num2
print("Power:", power_result)

布尔值

布尔值是Python中的一种基本数据类型,用于表示逻辑值。布尔值有两个取值:True(真)和False(假)。布尔类型在控制流语句、逻辑运算和条件判断中非常常用。

  • 布尔类型:Python中的布尔类型是bool,只有两个取值:True和False。

  • 逻辑运算:Python中的逻辑运算符包括与(and)、或(or)和非(not),用于组合和操作布尔值。

示例:

# 声明布尔变量
is_raining = True
is_sunny = False

# 逻辑运算示例
# 与运算
print("is_raining and is_sunny:", is_raining and is_sunny)

# 或运算
print("is_raining or is_sunny:", is_raining or is_sunny)

# 非运算
print("not is_raining:", not is_raining)

空值

在Python中,空值用None表示,它是一个特殊的数据类型,用于表示“空”、“无”或“不存在”的概念。None在Python中通常用于表示一个变量尚未被赋值,或者函数没有返回值时使用。

  • 空值类型:Python中的空值类型是None,它表示一个空对象或缺少值。

示例:

# 声明一个变量并赋予空值None
empty_variable = None

# 判断变量是否为None
if empty_variable is None:
    print("The variable is empty (None)")
else:
    print("The variable is not empty")

编码问题

Python中,编码是极其容易出错的地方,所以本节重点对编码的过程以及发展过程做简要介绍。

编码基本概念

编码是将字符转换为计算机可识别的字节序列的过程。在计算机中,所有的数据最终都是以二进制形式存储和处理的。不同的编码方案规定了字符和字节之间的对应关系,以便计算机能够正确地解释和显示文本数据。

编码发展过程

  • ASCII编码(American Standard Code for Information Interchange):

    ASCII是最早的字符编码方案,使用7位或8位表示一个字符,最初仅包含英文字符和一些特殊符号。

  • 中文编码:

    随着计算机的普及,出现了许多中文编码方案,如GB2312、BIG5等,用于表示中文字符集。这些编码方案各不相同,导致了不同系统之间的中文字符显示乱码问题。

  • Unicode编码:

    为解决字符集多样性和兼容性问题,Unicode应运而生。Unicode是一种全球字符集标准,包括了世界上几乎所有的文字和符号,为每个字符分配了唯一的编号。

  • UTF-8编码(Unicode Transformation Format – 8-bit):

    UTF-8是一种可变长度的Unicode编码方式,用1至4个字节表示一个字符,兼容ASCII编码。它成为Web开发中最常用的编码方式之一。

  • UTF-16编码:

    UTF-16是一种固定长度的Unicode编码方式,用2或4个字节表示一个字符,适合处理较多文字的语言。

Unicode的产生背景:

在过去,不同国家和地区使用不同的字符集和编码方式,导致了跨语言通信和数据交换的困难。为解决这一问题,Unicode应运而生。

  • Unicode的目标是为世界上每个字符提供一个唯一的标识符。它包含了全球范围内几乎所有的文字和符号,并为每个字符分配了唯一的编号(码点)。
  • Unicode的产生背景是为了统一字符编码方式,使得不同系统和软件之间能够正确地显示和处理各种语言的文字和符号。
  • Unicode的出现极大地简化了跨语言通信和数据交换的复杂性,成为计算机领域中最重要的字符集标准之一。
+----------------+          +----------------+          +----------------+
|    字符串      |  编码     |    字节序列    |  解码    |    字符串      |
|   (Unicode)    |  ---->   |    (字节序列)  |  ---->   |   (Unicode)    |
+----------------+          +----------------+          +----------------+

在上面的图示中,字符串(Unicode)首先经过编码过程转换为字节序列,然后在需要时通过解码过程将字节序列重新转换为字符串(Unicode)。编码和解码是字符串在计算机中传输、存储和处理过程中必不可少的步骤,确保了不同系统之间的数据交换和兼容性。

注意事项

  • 因为 Python 的诞生比 Unicode 标准发布的时间还要早,所以最早的Python 只支持 ASCII 编码,普通的字符串 ‘ABC’ 在 Python 内部都是 ASCII 编码的。

  • Python 在后来添加了对 Unicode 的支持,以 Unicode 表示的字符串用u’…’表示。

  • 不过在最新的 Python 3 版本中,字符串是以 Unicode 编码的,也就是说,Python 的字符串支持多语言,代码中没有加u’…’,也能正常显示。

  • 由于 Python 源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为 UTF-8 编码。当Python 解释器读取源代码时,为了让它按 UTF-8 编码读取,我们通常在文件开头写上这两行:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-

    第一行注释是为了告诉 Linux/OS X 系统,这是一个 Python 可执行程序,Windows 系统会忽略这个注释;

    第二行注释是为了告诉 Python 解释器,按照 UTF-8 编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

    申明了 UTF-8 编码并不意味着你的 .py 文件就是 UTF-8 编码的,必须并且要确保文本编辑器正在使用 UTF-8 without BOM 编码

Python基本数据类型转换

数据类型转换方法 方法作用 示例代码
int(x) 将x转换为整数 num_str = ’10’
num_int = int(num_str)
float(x) 将x转换为浮点数 num_str = ‘3.14’
num_float = float(num_str)
str(x) 将x转换为字符串 num_int = 10
num_str = str(num_int)
bool(x) 将x转换为布尔值 num = 0
bool_num = bool(num)
list(x) 将x转换为列表 tuple_var = (1, 2, 3)
list_var = list(tuple_var)
tuple(x) 将x转换为元组 list_var = [1, 2, 3]
tuple_var = tuple(list_var)
set(x) 将x转换为集合 list_var = [1, 2, 3, 2]
set_var = set(list_var)
dict(x) 将x转换为字典 tuple_list = [(1, ‘one’), (2, ‘two’)]
dict_var = dict(tuple_list)
complex(x) 将x转换为复数 complex_num = complex(3, 4)
repr(x) 返回包含对象可打印表示的字符串 str_var = ‘Hello’
repr_str = repr(str_var)
chr(x) 返回Unicode代码点x对应的字符 unicode_char = chr(65)
unichr(x) 返回Unicode代码点x对应的字符 unicode_char = unichr(65)
ord(x) 返回字符的Unicode代码点值 unicode_char = ‘A’
unicode_code = ord(unicode_char)
hex(x) 将整数转换为十六进制字符串 num_int = 16
hex_str = hex(num_int)
oct(x) 将整数转换为八进制字符串 num_int = 8
oct_str = oct(num_int)

Python中的变量

变量的基本概念

在Python中,变量是用于存储数据值的标识符。变量可以通过赋值来创建,并在程序中被引用和修改。变量在内存中分配空间,用于存储数据,并可以根据需要指向不同的数据值。

变量创建和赋值

# 变量创建和赋值示例
name = "Alice"  # 创建一个名为name的变量,并赋值为"Alice"
age = 30        # 创建一个名为age的变量,并赋值为30

变量的赋值过程

x = 10
y = 20
z = x
graph LR
    A["x = 10"] --> B["y = 20"]
    B --> C["z = x"]
    A -.-> D["10"]
    B -.-> E["20"]
    D --> C
    E --> C

在上例中 :变量x被赋值为10,变量y被赋值为20。然后,变量z被赋值为x,因此z指向与x相同的内存地址,即它们都指向存储值为10的内存位置。

多个变量赋值

Python 允许同时为多个变量赋值。例如:

a = b = c = 1

以上实例,创建一个整型对象,值为 1,三个变量被分配到相同的内存空间上。

当然也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "liangdianshui"

以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "liangdianshui" 分配给变量 c。

附录:

以上内容部分参考自《Python教程第2章 | 基本数据类型和变量

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

分类文章

personal_logo
Dongming
自由职业者

推荐活动

推荐文章

【项目实战】基于Agent的金融问答系统:RAG的检索增强之上下文重排和压缩
【项目实战】基于Agent的金融问答系统:RAG的检索增强之ElasticSearch
【项目实战】基于Agent的金融问答系统:前后端流程打通
【项目实战】基于Agent的金融问答系统:代码重构
【项目实战】基于Agent的金融问答系统:Agent框架的构建
【项目实战】基于Agent的金融问答系统:RAG检索模块初建成
【项目实战】基于Agent的金融问答系统:项目简介
【课程总结】day29:大模型之深入了解Retrievers解析器
【课程总结】day28:大模型之深入探索RAG流程
【课程总结】day30:大模型之Agent的初步了解
内容目录
滚动至顶部