终于,学习笔记系列文章与你见面了。作为一个小站全新的非原创系列,我将尝试着探索目前人工智能的创造潜力上限,并在成文的过程中尽可能多地使用生成式人工智能(AIGC)技术。
本次「Python学习笔记」系列文章,全程仅使用了一段 103 字的用户提示词,其余内容均由 OpenAI 的 GPT-3.5 模型生成。
在成文过程中,我使用了独立开发者「方糖」开发的 DeepGPT 程序,这是一个使用 AgentGPT 的提示词在纯前端进行任务分拆和结果输出的程序。
最终,GPT-3.5 模型所创作的内容多达 29536 字,我使用半小时左右的时间进行了文字排版,以使内容符合一个小站的 排版规范 。同时,为了阅读方便,全文将分拆为若干章节发出。
当然,Python 也是我即将在大学学习的内容之一。在日后的学习中,我会根据实际需要对内容进行补充或者简单修改。
由于当前 AIGC 生成的内容的版权归属尚不明朗,本文不加「原创」标签。
Python常用的变量类型与操作
Python中常见的变量类型,包括数字(int
、float
)、字符串(str
)、列表(list
)、元组(tuple
)和字典(dict
)。
在Python中,变量的类型不需要预先声明,可以根据赋值语句来自动推断。例如:
num = 10 # 整数类型
pi = 3.14 # 浮点型
name = "John" # 字符串类型
lst = [1, 2, 3] # 列表类型
tpl = (4, 5, 6) # 元组类型
dic = {"apple": 1, "orange": 2, "banana": 3} # 字典类型
接下来,需要对每种变量类型进行操作和演示。
数字类型
数字数据类型包括整数(int
)、浮点数(float
)、复数(complex
)三种。其中int
表示整数类型,float
表示浮点数类型,complex
表示复数类型。字符串数据类型是由0个或多个字符组成的字符序列,用单引号('
)或双引号("
)括起来。
如何在Python中使用数字类型进行算术操作呢?我们可以创建整数变量和浮点数变量,通过使用加、减、乘、除四种算术操作符来进行操作。例如,创建整数变量a
和浮点数变量b
,并使用加、减、乘、除四种算术操作符进行操作,代码如下所示:
a = 10
b = 2.5
# 加法
c = a + b
print(c)
# 减法
d = a - b
print(d)
# 乘法
e = a * b
print(e)
# 除法
f = a / b
print(f)
在上述代码中,我们创建了整数变量a
和浮点数变量b
,并使用加、减、乘、除四种算术操作符对它们进行了操作。使用print函数打印出运算结果,结果依次为12.5、7.5、25.0、4.0。
接下来,我们可以演示数字变量类型的类型转换功能。假设我们有一个浮点数变量x
,想要将它转换为整数类型。可以使用int()
函数来实现。例如:
x = 3.14
y = int(x)
print(y)
运行上述代码,会输出3,说明浮点数变量x已经被转换成整数类型。这里的应用场景可以是将某个商品的价格进行四舍五入取整操作,得到最终的支付金额。
最后,我们可以演示数字变量类型的数学函数使用。假设我们有一个数字变量x
,想要计算它的平方根。可以使用math
库中的sqrt()
函数来实现。需要先导入math
库,再去调用相应函数。例如:
import math
x = 16
y = math.sqrt(x)
print(y)
运行上述代码,会输出4.0,说明数字变量x
的平方根为4。这里的应用场景可以是在房间中测量墙壁的长度和宽度,然后计算出需要多少卷墙纸才能将整个房间的墙纸全部覆盖。
通过以上实例代码,我们可以看到数字变量类型的基本操作和应用场景。从这些实例中,初学者可以了解到Python数字类型的特点,掌握Python语法的基础知识,适应编程的思维方式,从而能够编写简单的Python程序。
运算符
为了介绍Python中常见的运算符,我们需要先了解什么是运算符。在编程中,运算符是用于进行数值计算或逻辑判断的符号或关键字。Python中常见的运算符包括算术运算符、比较运算符、逻辑运算符、位运算符和赋值运算符。
算术运算符用于进行加、减、乘、除等数学运算。Python中常见的算术运算符有加法运算符(+
)、减法运算符(-
)、乘法运算符(*
)、除法运算符(/
)、取余运算符(%
)、取整运算符(//
)和幂运算符(**
)。
下面是一些实际的代码示例说明每个算术运算符的使用和应用场景:
x = 10
y = 3
# 加法运算符
print(x + y) # 输出 13
# 减法运算符
print(x - y) # 输出 7
# 乘法运算符
print(x * y) # 输出 30
# 除法运算符
print(x / y) # 输出 3.3333333333333335
# 取余运算符
print(x % y) # 输出 1
# 取整运算符
print(x // y) # 输出 3
# 幂运算符
print(x ** y) # 输出 1000
比较运算符用于比较两个值的大小或者是否相等。Python中常见的比较运算符有等于运算符(==
)、不等于运算符(!=
)、大于运算符(>
)、小于运算符(<
)、大于等于运算符(>=
)和小于等于运算符(<=
)。
下面是一些实际的代码示例说明每个比较运算符的使用和应用场景:
x = 10
y = 3
# 等于运算符
print(x == y) # 输出 False
# 不等于运算符
print(x != y) # 输出 True
# 大于运算符
print(x > y) # 输出 True
# 小于运算符
print(x < y) # 输出 False
# 大于等于运算符
print(x >= y) # 输出 True
# 小于等于运算符
print(x <= y) # 输出 False
逻辑运算符用于对两个或多个值进行逻辑运算。Python中常见的逻辑运算符有与运算符(and
)、或运算符(or
)和非运算符(not
)。
下面是一些实际的代码示例说明每个逻辑运算符的使用和应用场景:
x = True
y = False
# 与运算符
print(x and y) # 输出 False
# 或运算符
print(x or y) # 输出 True
# 非运算符
print(not x) # 输出 False
位运算符用于对二进制位进行操作。Python中常见的位运算符有按位与运算符(&
)、按位或运算符(|
)、按位异或运算符(^
)、按位取反运算符(~
)、左移运算符(<<
)和右移运算符(>>
)。
下面是一些实际的代码示例说明每个位运算符的使用和应用场景:
x = 10
y = 3
# 按位与运算符
print(x & y) # 输出 2
# 按位或运算符
print(x | y) # 输出 11
# 按位异或运算符
print(x ^ y) # 输出 9
# 按位取反运算符
print(~x) # 输出 -11
# 左移运算符
print(x << 2) # 输出 40
# 右移运算符
print(x >> 2) # 输出 2
赋值运算符用于将一个值赋给变量。Python中常见的赋值运算符有赋值运算符(=
)、加等于运算符(+=
)、减等于运算符(-=
)、乘等于运算符(*=
)、除等于运算符(/=
)、取余等于运算符(%=
)和幂等于运算符(**=
)。
下面是一些实际的代码示例说明每个赋值运算符的使用和应用场景:
x = 10
# 赋值运算符
y = x
print(y) # 输出 10
# 加等于运算符
x += 5
print(x) # 输出 15
# 减等于运算符
x -= 5
print(x) # 输出 10
# 乘等于运算符
x *= 2
print(x) # 输出 20
# 除等于运算符
x /= 2
print(x) # 输出 10.0
# 取余等于运算符
x %= 3
print(x) # 输出 1.0
# 幂等于运算符
x **= 2
print(x) # 输出 1.0
通过了解和实践这些运算符,初学者们可以更好地理解Python的基础知识和语法,进而开始自己编写代码。
字符串类型
Python是一种十分流行的编程语言,也是很多人入门编程的首选。在Python中,字符串是一种非常重要的数据类型,因为程序中的很多操作都需要字符串的支持。
定义字符串的方法很简单,可以用单引号或双引号将字符括起来。例如:
str1 = 'hello world'
str2 = "I'm a student"
除此之外,Python中还提供了很多字符串相关的操作方法,比如:
- 长度 len()
str1 = 'hello world'
print(len(str1)) # 输出 11
- 转换为大写/小写
upper()
/lower()
str1 = 'hello world'
print(str1.upper()) # 输出 HELLO WORLD
print(str1.lower()) # 输出 hello world
- 查找
find()
,返回字符串中第一次出现指定内容的位置
str1 = 'hello world'
print(str1.find('world')) # 输出 6
- 判断是否以指定内容开头或结尾
startswith()
/endswith()
str1 = 'hello world'
print(str1.startswith('hello')) # 输出 True
print(str1.endswith('world')) # 输出 True
除了字符串的操作外,输入/输出也是Python中常用的操作之一。比如:
- 输入 input(),获取用户输入的内容
name = input('请输入你的名字:')
print('你好,' + name)
- 格式化输出
print()
,将变量值输出到终端
name = 'Tom'
age = 18
print('我叫%s,今年%d岁。' % (name, age))
- 文件读写操作,使用
open()
函数打开文件,然后使用read()
/write()
等方法进行操作
f = open('test.txt', 'w') # 打开文件并以写入模式保存为文件对象
f.write('hello world') # 写入内容
f.close() # 关闭文件对象
f = open('test.txt') # 不指定打开模式即为读取模式
print(f.read()) # 读取文件内容,并输出到终端
f.close() # 关闭文件对象
通过学习本文中介绍的字符串和输入/输出相关内容,初学者可以更加深入地了解Python的基础知识,从而逐渐掌握Python的语法并开始编写自己的代码。
列表类型
列表是Python中最常用的数据结构之一,通常用于存储一系列值。
创建列表
列表可以通过方括号来创建,其中每个值之间用逗号隔开。
my_list = ['apple', 'banana', 'orange', 'pear']
print(my_list)
输出结果:
['apple', 'banana', 'orange', 'pear']
访问列表元素
列表中的每个元素都有一个索引,可以通过索引来访问列表中的元素。
my_list = ['apple', 'banana', 'orange', 'pear']
print(my_list[0]) # 输出"apple"
print(my_list[2]) # 输出"orange"
修改列表元素
列表中的元素可以被修改,只需要通过索引找到该元素,然后重新给它赋值即可。
my_list = ['apple', 'banana', 'orange', 'pear']
my_list[1] = 'watermelon'
print(my_list) # 输出["apple", "watermelon", "orange", "pear"]
列表切片
可以通过切片操作从列表中选择一部分元素,切片语法为[start:end:step]
,其中start
表示切片开始的索引,end
表示切片结束的索引,不包括end
所在的元素,step
表示切片的步长。
my_list = ['apple', 'banana', 'orange', 'pear']
print(my_list[1:3]) # 输出['banana', 'orange']
print(my_list[::2]) # 输出['apple', 'orange']
列表方法
列表有许多常用的方法,如添加元素、删除元素、查找元素等。
my_list = ['apple', 'banana', 'orange', 'pear']
my_list.append('kiwi') # 在列表末尾添加一个元素
print(my_list) # 输出["apple", "banana", "orange", "pear", "kiwi"]
my_list.insert(1, 'mango') # 在指定位置插入一个元素
print(my_list) # 输出["apple", "mango", "banana", "orange", "pear", "kiwi"]
my_list.remove('orange') # 删除指定的元素
print(my_list) # 输出["apple", "mango", "banana", "pear", "kiwi"]
元组类型
元组与列表类似,但是元组一旦创建,就不能再修改它的元素。
创建元组
元组可以通过小括号或者直接用逗号来创建,但是如果元组只有一个元素,必须在元素后面加一个逗号。
my_tuple = ('apple', 'banana', 'orange', 'pear')
print(my_tuple)
my_tuple2 = 'apple', 'banana', 'orange', 'pear'
print(my_tuple2)
my_single_tuple = ('apple',) # 只有一个元素的元组
print(my_single_tuple)
输出结果:
('apple', 'banana', 'orange', 'pear')
('apple', 'banana', 'orange', 'pear')
('apple',)
访问元组元素
可以通过索引来访问元组中的元素,与列表相同。
my_tuple = ('apple', 'banana', 'orange', 'pear')
print(my_tuple[0]) # 输出"apple"
元组切片
元组也可以通过切片操作来选择其中的一部分元素,语法与列表相同。
my_tuple = ('apple', 'banana', 'orange', 'pear')
print(my_tuple[1:3]) # 输出('banana', 'orange')
元组不可修改
元组一旦创建,就不能再修改它的元素。
my_tuple = ('apple', 'banana', 'orange', 'pear')
my_tuple[1] = 'mango' # TypeError: 'tuple' object does not support item assignment
字典类型
字典是Python中另一个重要的数据结构,可以用于存储键值对。
创建字典
字典可以通过花括号来创建,每个键值对之间用冒号隔开。
my_dict = {'apple': 3, 'banana': 4, 'orange': 5, 'pear': 6}
print(my_dict)
输出结果:
{'apple': 3, 'banana': 4, 'orange': 5, 'pear': 6}
访问字典元素
可以通过键来访问字典中的值。
my_dict = {'apple': 3, 'banana': 4, 'orange': 5, 'pear': 6}
print(my_dict['apple']) # 输出3
修改字典元素
字典中的值可以被修改,只需通过键找到对应的值。
my_dict = {'apple': 3, 'banana': 4, 'orange': 5, 'pear': 6}
my_dict['banana'] = 7
print(my_dict) # 输出{"apple": 3, "banana": 7, "orange": 5, "pear": 6}
字典方法
字典有许多常用的方法,如添加键值对、删除键值对、查找键等。
my_dict = {'apple': 3, 'banana': 4, 'orange': 5, 'pear': 6}
my_dict['kiwi'] = 8 # 添加一个键值对
print(my_dict) # 输出{"apple": 3, "banana": 4, "orange": 5, "pear": 6, "kiwi": 8}
del my_dict['orange'] # 删除指定的键值对
print(my_dict) # 输出{"apple": 3, "banana": 4, "pear": 6, "kiwi": 8}
集合
集合是一个无序的、不重复的元素集合。
创建集合
可以用花括号或者set()
函数来创建集合。
my_set = {1, 2, 3, 4}
print(my_set)
my_set2 = set([1, 2, 3, 4])
print(my_set2)
输出结果:
{1, 2, 3, 4}
{1, 2, 3, 4}
访问集合元素
由于集合是无序的,不能通过索引访问集合元素。可以通过in
关键字来判断一个元素是否在集合中。
my_set = {1, 2, 3, 4}
print(2 in my_set) # 输出True
print(5 in my_set) # 输出False
集合方法
集合有许多常用的方法,如添加元素、删除元素、求交集等。
my_set = {1, 2, 3, 4}
my_set.add(5) # 添加一个元素
print(my_set) # 输出{1, 2, 3, 4, 5}
my_set.remove(2) # 删除指定的元素
print(my_set) # 输出{1, 3, 4, 5}
my_set2 = {3, 4, 5, 6}
print(my_set & my_set2) # 求两个集合的交集,输出{3, 4, 5}