终于,学习笔记系列文章与你见面了。作为一个小站全新的非原创系列,我将尝试着探索目前人工智能的创造潜力上限,并在成文的过程中尽可能多地使用生成式人工智能(AIGC)技术。
本次「Python学习笔记」系列文章,全程仅使用了一段 103 字的用户提示词,其余内容均由 OpenAI 的 GPT-3.5 模型生成。
在成文过程中,我使用了独立开发者「方糖」开发的 DeepGPT 程序,这是一个使用 AgentGPT 的提示词在纯前端进行任务分拆和结果输出的程序。
最终,GPT-3.5 模型所创作的内容多达 29536 字,我使用半小时左右的时间进行了文字排版,以使内容符合一个小站的 排版规范 。同时,为了阅读方便,全文将分拆为若干章节发出。
当然,Python 也是我即将在大学学习的内容之一。在日后的学习中,我会根据实际需要对内容进行补充或者简单修改。
由于当前 AIGC 生成的内容的版权归属尚不明朗,本文不加「原创」标签。
Python的历史
Python是一种简单易学且功能强大的编程语言,被广泛应用于各种领域,包括软件开发、数据科学、人工智能等。对于初学者来说,掌握Python的基础知识是迈向编程世界的重要一步。本文将为你介绍Python的历史、基础知识以及语法,帮助你了解Python程序、消除编程恐惧,并逐渐开始编写自己的代码。
Python由Guido van Rossum于上世纪90年代初创造,并于1991年发布了第一个版本。它的名字来源于电视剧《Monty Python’s Flying Circus》。Python的设计哲学强调代码的可读性和简洁性,以及提供多种编程范式的支持。随着时间的推移,Python逐渐成为了一门备受欢迎的编程语言,因其易学性和强大的生态系统而受到广泛关注。
自1991年第一个Python版本发布以来,Python一直在快速发展。它的简单易学、易用、具有丰富的库、跨平台性和强大的数据处理能力是Python吸引广泛用户的重要原因。Python逐渐被越来越多的人使用,并成为数据科学、人工智能、Web开发、自动化测试、游戏开发等领域的首选编程语言。在2020年的开发者调查中,Python成为了最受欢迎的编程语言之一。
Python的基础知识
Python是一种解释型、高级、通用的编程语言,它由Guido van Rossum于1991年创建。相比于其他编程语言,Python的语法相对简单,容易学习,同时还有着丰富的函数库和工具。这些特点使得Python成为了非常受欢迎的编程语言之一。
Python的基础知识包括数据类型、运算符、控制流、函数等内容。首先,Python中的数据类型包括整数、浮点数、布尔值、字符串、列表、元组、字典、集合等,其中字符串是一种非常重要的数据类型,因为程序中的很多操作都需要字符串的支持。其次,Python中的运算符有算术运算符、比较运算符、逻辑运算符、赋值运算符等,通过这些运算符可以对数据进行操作和处理。此外,Python还提供了if/else、while、for等控制流语句,用于控制程序的运行流程。最后,Python中的函数是一段可重用的代码块,可以通过函数名称进行调用,并可以传递参数和返回值。
Python 的安装
在安装Python之前,需要先安装Python的虚拟环境,以防止因为不同版本的Python冲突而导致的问题。可以使用Anaconda、virtualenv等工具来创建虚拟环境。接着,可以从Python官网上下载Python的安装包,然后运行安装程序进行安装。在安装完成后,可以使用pip
命令来安装库和依赖,例如pip install requests
用于安装requests
库。
Python的语法
Python的代码块使用缩进来表示,每个代码块都必须用相同数量的空格缩进。Python中用冒号来表示代码块的开始,如if语句、函数定义等。在Python中,变量名必须以字母或下划线开头,不能以数字开头,并且变量名区分大小写。
同时,Python有许多内置函数和方法,如len()
、print()
、append()
、pop()
等,可以帮助我们更加方便地处理数据。
除了Python自带的模块外,还有许多第三方库可以使用,如NumPy
、Pandas
、Scipy
、TensorFlow
等。通过使用这些库,可以大大提高自己的编程效率和质量。
变量
什么是变量?
在编程中,变量是用于存储数据的容器。你可以将变量想象成一个标签,用于引用存储在计算机内存中的数据。Python中的变量可以存储各种数据类型,如整数、浮点数、字符串等。
数据类型
Python支持多种数据类型,其中最常见的包括:
- 整数(
int
):表示整数值,例如:10
。 - 浮点数(
float
):表示带有小数部分的数字,例如:3.14
。 - 字符串(
str
):表示文本信息,可以用单引号或双引号括起来,例如:"Hello World"
。 - 布尔型(
bool
):表示真(True
)或假(False
)的值,用于逻辑判断。
变量声明与赋值
在Python中,你可以通过赋值语句来创建变量并为其赋值。例如,要创建一个名为x
的整数变量并赋值为10
,可以使用以下代码:
x = 10
同样,要创建一个名为message
的字符串变量并赋值为"Hello World"
,可以使用以下代码:
message = "Hello World"
打印输出
Python中的print()
函数用于将信息输出到控制台。你可以使用print()
函数来显示变量的值,例如:
print(x)
print(message)
实际示例
以下是一个完整的Python代码示例,演示了如何声明变量、赋值以及打印输出:
x = 10
message = "Hello World"
print(x)
print(message)
运行这段代码,你将在控制台看到整数变量10
和字符串变量"Hello World"
的值。
函数
Python中的函数是程序员最常使用的基本概念之一。一个函数是由一系列语句组成的代码块,用于执行特定任务并可被多次调用。下面介绍Python函数的一些基本概念及使用方法。
定义函数
在Python中定义一个函数,需要使用关键字“def
”,如下所示:
def function_name(parameters):
function_body
其中,function_name
为函数名称,parameters
为函数参数,function_body
为函数体。例如,下面是一个简单的示例函数:
def say_hello():
print("Hello World!")
调用函数
def function_name(parameter1, parameter2, ...):
# function body
return result
定义好函数后,可以通过函数名调用函数,在程序中执行函数体。例如:
say_hello()
这将依次执行函数体中的语句,输出”Hello World!
“。
参数传递
函数可以接受零个或多个参数,参数用于在调用函数时向函数传值。例如,下面是一个接受参数的函数:
def say_hello(name):
print("Hello ", name, "!")
在调用该函数时,需要传递一个参数值,如下所示:
say_hello("Tom")
这将输出”Hello Tom!”。
下面是一个简单的例子,展示了如何定义并使用一个函数:
def add_numbers(x, y):
sum = x + y
return sum
result = add_numbers(3, 4)
print(result)
在这个例子中,我们定义了一个add_numbers
函数,它接受两个参数x
和y
,并返回它们的和。在函数的定义中,我们将这两个参数相加并将结果保存在sum
变量中,然后使用return
返回该变量。我们使用add_numbers
函数计算3
和4
的和,并将结果赋值给result
变量。最后我们打印result
的值为7
。
关于参数传递,Python支持两种传递参数的方式:位置参数和关键字参数。在上面的例子中,我们使用了位置参数。也就是说,我们将参数3
和4
按照顺序传递给函数,函数体内将参数自动对应到函数定义中的参数x
和y
。而关键字参数则可以根据参数名称传递参数,如下所示:
def add_numbers(x, y):
sum = x + y
return sum
result = add_numbers(y=3, x=4)
print(result)
在这个例子中,我们使用了关键字参数来传递参数。与位置参数不同,无需按照顺序传递参数,而是根据参数名称进行传递。在上述代码中,我们使用了y=3
和x=4
来传递参数,并且结果与上述使用位置参数传递参数的例子相同。
返回值
函数可以返回一个值,返回值用于将函数中的计算结果传递到调用函数的位置。例如,下面是一个带返回值的函数:
def add_two_numbers(a, b):
return a + b
在调用该函数时,可以获得函数返回的计算结果,如下所示:
result = add_two_numbers(3, 5)
print(result)
这将输出”8″。
五. 作用域
在Python中,变量的作用域分为全局变量和局部变量。全局变量是在函数以外定义的变量,可以在程序的任何位置访问;局部变量是在函数内定义的变量,只能在函数内使用。例如:
# 全局变量
name = "Tom"
def say_hello():
# 局部变量
message = "Hello " + name
print(message)
say_hello()
这将输出”Hello Tom”。
常用内置函数和自定义函数
在Python中,除了可以自己定义函数,还可以使用Python内置函数。Python内置函数是Python解释器内置的,可以直接调用。以下是一些常用的Python内置函数:
print()
:用于在控制台输出文本。input()
:等待用户输入文本,并返回该文本。len()
:返回一个集合(如字符串、列表)的长度。range()
:用于生成一个数字序列。max()
和min()
:返回集合中的最大值和最小值。
以下是使用Python内置函数的示例:
# 使用print函数输出文本
print('Hello, World!')
# 等待用户输入文本
name = input('请输入您的名字:')
# 使用len函数返回字符串的长度
string = 'Python'
print(len(string))
# 使用range函数生成数字序列
for i in range(5):
print(i)
# 使用max函数返回列表中的最大值
numbers = [3, 4, 5, 1, 2]
print(max(numbers))
除了使用Python内置函数,我们还可以自己定义函数来完成我们需要的操作。如前所述,我们可以使用def
关键字定义函数,同时可以传递参数。以下是一个自定义函数的示例:
def calculate_circle_area(radius):
pi = 3.1415926
area = pi * radius ** 2
return area
radius = 10
circle_area = calculate_circle_area(radius)
print(f'半径为{radius}的圆的面积为{circle_area:.2f}。')
在这个例子中,我们定义了一个函数calculate_circle_area
,它接受一个参数radius
,计算圆的面积,并返回该面积。在函数的代码体中,我们首先定义了圆的周长(即3.1415926
),然后通过公式pi * radius ** 2
计算圆的面积,并将结果保存在变量area
中。最后使用return
语句返回该变量。我们使用这个函数计算半径为10
的圆的面积,并将结果打印到控制台。
下面是一个自定义函数,用于计算列表中所有元素的平均值:
def calculate_average(numbers_list):
"""计算列表中所有元素的平均值"""
total = sum(numbers_list)
length = len(numbers_list)
average = total / length
return average
在调用该函数时,需要传递一个列表参数,如下所示:
ages = [23, 45, 22, 34, 50, 33]
average_age = calculate_average(ages)
print("平均年龄为:", average_age)
这将输出”平均年龄为: 35.166666666666664
“。
除了上述示例中的几个函数,Python中还有很多内置函数和方法,可以根据需要查找并学习。同时,通过自己定义函数,我们可以扩展Python的功能,使它更适合我们的具体需求。
实践是学习编程的关键,建议通过编写实例代码进行练习,以巩固学习成果,并逐渐开始自己编写代码。
Python一大特点是支持模块化编程,模块是Python程序的基本组成部分之一。模块就是一个包含Python定义和声明的文件,可以包括Python函数、类和变量等。在Python中,模块可以被其他程序或模块调用,极大地提高了程序的复用性和可维护性。
Python中的模块包括标准模块、第三方模块和自定义模块。
引入模块
Python中使用import语句引入一个模块。语法如下:
import module_name
其中,module_name是要引入的模块名,可以是标准模块、第三方模块或自定义模块。
如果要使用模块中的函数、类或变量等内容,可以通过模块名加点号再加上内容名来使用。例如:
import math
print(math.pi)
这里引入了Python自带的math模块,并使用了其中的pi值。
Python标准模块
Python内置了大量的模块,这些模块称为Python标准模块,包括math
、random
、time
等等,可以通过Python官方文档查看完整列表。这些模块都不需要额外安装,可以随时使用。
使用标准模块的步骤是引入并使用。例如,使用random
模块生成一个1到100之间的随机数,代码如下:
import random
print(random.randint(1, 100))
randint是random模块中的一个函数,用于生成指定范围内的随机整数。
第三方模块
除了Python标准模块,还有许多第三方库可以使用,这些库提供了丰富的功能,可以大大提高Python程序的开发效率和质量。常用的第三方库有NumPy
、Pandas
、Scipy
、TensorFlow
等等。
安装第三方库的方式有多种,最简单的方法是使用pip
命令。例如,安装jieba
库可以使用以下命令:
pip install jieba
安装完成后,就可以在Python程序中引入并使用该库了。例如,使用jieba
库进行中文文本分词,代码如下:
import jieba
text = "人生苦短,我用Python。"
words = jieba.cut(text)
print("/".join(words))
这里使用了jieba
库进行中文分词,将一个文本字符串切分成多个单词。
自定义模块
自定义模块是指用户创建的模块,可以包含自己定义的函数、类和变量等。创建自定义模块的步骤是编写模块文件,在需要的地方引入模块并使用其中的内容。
例如,创建一个自定义模块mymodule
,包含一个函数hello_world
,代码如下:
# mymodule.py
def hello_world():
print("Hello, world!")
在其他的Python程序中可以引入该模块并调用函数hello_world
:
import mymodule
mymodule.hello_world() # 输出"Hello, world!"
注意,创建自定义模块时,文件名和模块名要保持一致,并且在调用时不需要添加.py
后缀。同时,模块名要符合Python的命名规则,即只能包含字母、数字和下划线,不能以数字开头。
总的来说,模块化编程是Python程序设计中的重要思想,它有助于提高代码的复用性和可维护性。掌握模块的使用方法,能够让我们更加高效地开发 Python 程序。