Python知识超级汇总|Python Super Summary of Knowledge

温馨提示:下方的英语标注可能会有一些问题,如果大家看的懂中文建议尽量看中文版的

Kind reminder: There may be some issues with the English annotations below. If you understand Chinese, it is recommended to read the Chinese version as much as possible

Python知识超级汇总

一、引言

Python 是一种高级、解释型、通用的编程语言,以其简洁、易读、易维护的代码风格和强大的功能而受到广泛欢迎。它拥有丰富的库和框架,可应用于多个领域,如 Web 开发、数据科学、人工智能、自动化脚本、游戏开发等。本汇总将全面介绍 Python 的基础知识、高级特性以及常用的库和框架,帮助读者全面掌握 Python 编程。

二、Python 基础

(一)安装与环境配置

  1. 下载安装包:从 Python 官方网站https://www.python.org/downloads/下载适合自己操作系统的 Python 安装包。
  2. 安装过程:运行安装包,按照提示进行安装。在安装过程中,建议勾选“Add Python to PATH”选项,以便在命令行中直接使用 Python 命令。
  3. 环境变量检查:安装完成后,打开命令行,输入“python --version”,如果显示 Python 的版本号,则说明安装成功。

(二)基本语法

  1. 注释
    • 单行注释:使用“#”符号,例如:
    # 这是一个单行注释
    
    • 多行注释:使用三个单引号(‘’')或三个双引号(“”"),例如:
    '''
    这是一个
    多行注释
    '''
    """
    这也是一个
    多行注释
    """
    
  2. 变量与数据类型
    • 变量命名规则:变量名由字母、数字和下划线组成,不能以数字开头,且区分大小写。例如:my_variable = 10
    • 常见数据类型
      • 整数(int):表示整数,如10-5
      • 浮点数(float):表示小数,如3.14-2.5
      • 字符串(str):用单引号或双引号括起来的文本,如'Hello, World!'"Python is great"
      • 布尔值(bool):只有两个值TrueFalse
      • 空值(None):表示空对象。
  3. 运算符
    • 算术运算符+(加)、-(减)、*(乘)、/(除)、%(取模)、**(幂运算)、//(整除)。例如:
    result = 5 + 3  # 加法,结果为8
    result = 10 / 3  # 除法,结果为3.3333333333333335
    result = 10 % 3  # 取模,结果为1
    result = 2 ** 3  # 幂运算,结果为8
    result = 10 // 3  # 整除,结果为3
    
    • 比较运算符==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。例如:
    is_equal = 5 == 3  # 比较是否相等,结果为False
    is_greater = 5 > 3  # 比较大小,结果为True
    
    • 逻辑运算符and(与)、or(或)、not(非)。例如:
    result = (5 > 3) and (2 < 4)  # 逻辑与,结果为True
    result = (5 > 3) or (2 > 4)  # 逻辑或,结果为True
    result = not (5 > 3)  # 逻辑非,结果为False
    
    • 赋值运算符=(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(取模等于)、**=(幂等于)、//=(整除等于)。例如:
    num = 5
    num += 3  # 相当于num = num + 3,结果num为8
    

(三)流程控制

  1. 条件语句(if - elif - else)
age = 18
if age < 18:
    print("未成年人")
elif age == 18:
    print("刚成年")
else:
    print("成年人")


  1. 循环语句
    • for 循环:用于遍历可迭代对象(如列表、字符串、元组等)。
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)


  • while 循环:只要条件为真,就会一直循环执行。
count = 0
while count < 5:
    print(count)
    count += 1


  1. 循环控制语句
    • break:用于立即终止循环。
for i in range(10):
    if i == 5:
        break
    print(i)


  • continue:用于跳过当前循环的剩余部分,继续下一次循环。
for i in range(10):
    if i % 2 == 0:
        continue
    print(i)


(四)数据结构

  1. 列表(list)
    • 是一种有序的可变序列,可以包含不同类型的元素。
    • 创建列表
my_list = [1, 2, 3, 'apple', 3.14]


  • 访问列表元素:通过索引访问,索引从 0 开始。
my_list = [1, 2, 3, 'apple', 3.14]
print(my_list[0])  # 输出1
print(my_list[3])  # 输出'apple'


  • 修改列表元素
my_list = [1, 2, 3, 'apple', 3.14]
my_list[0] = 10
print(my_list)  # 输出[10, 2, 3, 'apple', 3.14]


  • 列表常用方法
    • append():在列表末尾添加一个元素。
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # 输出[1, 2, 3, 4]


 - `extend()`:将一个可迭代对象的元素添加到列表中。
my_list = [1, 2, 3]
new_list = [4, 5]
my_list.extend(new_list)
print(my_list)  # 输出[1, 2, 3, 4, 5]


 - `insert()`:在指定位置插入一个元素。
my_list = [1, 2, 3]
my_list.insert(1, 1.5)
print(my_list)  # 输出[1, 1.5, 2, 3]


 - `remove()`:移除列表中第一个匹配的元素。
my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list)  # 输出[1, 3, 2]


 - `pop()`:移除并返回指定位置的元素,默认移除最后一个元素。
my_list = [1, 2, 3]
element = my_list.pop(1)
print(element)  # 输出2
print(my_list)  # 输出[1, 3]


  1. 元组(tuple)
    • 是一种有序的不可变序列,通常用于存储一组相关的数据。
    • 创建元组
my_tuple = (1, 2, 3, 'apple')
# 也可以省略括号
my_tuple = 1, 2, 3, 'apple'


  • 访问元组元素:与列表类似,通过索引访问。
my_tuple = (1, 2, 3, 'apple')
print(my_tuple[0])  # 输出1
print(my_tuple[3])  # 输出'apple'


  1. 集合(set)
    • 是一种无序的、不重复的数据集合,常用于去重和集合运算。
    • 创建集合
my_set = {
   
   1, 2, 3, 3}  # 自动去重,实际集合为{1, 2, 3}
# 也可以使用set()函数创建
my_set = set([1, 2, 3, 3])


  • 集合常用方法
    • add():添加一个元素。
my_set = {
   
   1, 2, 3}
my_set.add(4)
print(my_set)  # 输出{1, 2, 3, 4}


 - `remove()`:移除一个元素,如果元素不存在会报错。
my_set = {
   
   1, 2, 3}
my_set.remove(2)
print(my_set)  # 输出{1, 3}


 - `discard()`:移除一个元素,如果元素不存在不会报错。
my_set = {
   
   1, 2, 3}
my_set.discard(4)
print(my_set)  # 输出{1, 2, 3}


 - `union()`:返回两个集合的并集。
set1 = {
   
   1, 2, 3}
set2 = {
   
   3, 4, 5}
result = set1.union(set2)
print(result)  # 输出{1, 2, 3, 4, 5}


 - `intersection()`:返回两个集合的交集。
set1 = {
   
   1, 2, 3}
set2 = {
   
   3, 4, 5}
result = set1.intersection(set2)
print(result)  # 输出{3}


  1. 字典(dict)
    • 是一种无序的键值对集合,用于存储和查找数据。
    • 创建字典
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}


  • 访问字典元素:通过键访问。
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict['name'])  # 输出'John'


  • 修改字典元素
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}
my_dict['age'] = 26
print(my_dict)  # 输出{'name': 'John', 'age': 26, 'city': 'New York'}


  • 字典常用方法
    • keys():返回字典的所有键。
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}
keys = my_dict.keys()
print(keys)  # 输出dict_keys(['name', 'age', 'city'])


 - `values()`:返回字典的所有值。
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}
values = my_dict.values()
print(values)  # 输出dict_values(['John', 25, 'New York'])


 - `items()`:返回字典的所有键值对。
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items)  # 输出dict_items([('name', 'John'), ('age', 25), ('city', 'New York')])


 - `get()`:通过键获取值,如果键不存在返回默认值(默认为 None)。
my_dict = {
   
   'name': 'John', 'age': 25, 'city': 'New York'}
value = my_dict.get('name')
print(value)  # 输出'John'
value = my_dict.get('gender', 'Unknown')
print(value)  # 输出'Unknown'


三、Python 高级特性

(一)函数

  1. 定义函数
def add_numbers(a, b):
    return a + b


  1. 函数参数
    • 位置参数:按顺序传递的参数。
def greet(name, message):
    print(f"{
     
     name}, {
     
     message}")


greet('John', 'Hello!')


  • 默认参数:在定义函数时为参数设置默认值。
def greet(name, message='Hello!'):
    print(f"{
     
     name}, {
     
     message}")


greet('John')
greet('John', 'How are you?')


  • 可变参数(*args):用于接收任意数量的位置参数,以元组形式传递。
def sum_numbers(*args):
    result = 0
    for num in args:
        result += num
    return result


print(sum_numbers(1, 2, 3))
print(sum_numbers(1, 2, 3, 4, 5))


  • **关键字参数(kwargs):用于接收任意数量的关键字参数,以字典形式传递。
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{
     
     key}: {
     
     value}")


print_info(name='John', age=25, city='New York')


  1. 匿名函数(lambda 函数)
    • 是一种没有名字的小函数,通常用于简单的表达式。
add = lambda a, b: a + b
print(add(3, 5))


(二)迭代器与生成器

  1. 迭代器
    • 是一个可以被迭代(遍历)的对象,实现了__iter__()__next__()方法。
    • 创建迭代器
my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(next(my_iterator))  # 输出1
print(next(my_iterator))  # 输出2
print(next(my_iterator))  # 输出3
# 当没有更多元素时,会抛出StopIteration异常
# print(next(my_iterator))


  1. 生成器
    • 是一种特殊的迭代器,使用yield关键字来生成值,而不是使用return
    • 生成器函数
def fibonacci():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b


fib = fibonacci()
print(next(fib))  # 输出0
print(next(fib))  # 输出1
print(next(fib))  # 输出1
print(next(fib))  # 输出2


  • 生成器表达式
squares = (i ** 2 for i in range(10))
print(next(squares))  # 输出0
print(next(squares))  # 输出1
print(next(squares))  # 输出4


(三)装饰器

  1. 定义装饰器
    • 是一种特殊的函数,用于修改其他函数的行为,而不修改函数的源代码。

                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

༺ཌༀ傲穹_Vortexༀད༻

你的鼓励奖是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值