Python基础知识学习(小甲鱼)

PYTHON

优先级

  • not > and > or

短路逻辑

  • and
  • 如果逻辑表达式中的第一个条件为假,则整个表达式的结果必定为假,此时直接返回假。如果第一个条件为真,则继续计算后续的表达式,并返回最后一个表达式的结果。
  • or
  • 如果逻辑表达式中的第一个条件为真,则整个表达式的结果必定为真。如果第一个条件为假,则继续计算后续的表达式,并返回最后一个表达式的结果。

分支循环

  • if condition1:

        statement(s)
    
  • elif condition2:

        statement(s)
    
  • elif condition3:

        statement(s)
    

条件表达式(三元操作符)

  • 进行举例

  • x,y = 4,5

    if x < y:

    small = x

    else:

    small = y

    可写成 small = x if x < y else y

循环语句

while循环

  • while 条件:

          循环体
    

for循环

  • for 目标 in 表达式 :

                  循环体
    

range函数

  • 语法: range([start],[stop],[step])
  • range()函数生成的范围是左闭右开。

break语句

  • 结束本层循环

continue语句

  • 当前位置结束本次循环,重新开始下次循环

列表

  • 创建一个列表 member = [1,2,3,4]

增删改查

  • append() 用于向列表末尾添加一个元素

  • extend() 用于向列表末尾添加多个元素

  • insert(n,xxx) 用于向列表中第n个元素前插入一个元素

  • remove() 用于从列表中删除某个元素 括号内为元素

  • del() 用于从列表中删除某个元素 括号内为元素的位置(从0开始)

  • pop() 用于从列表中取出最后一个元素

  • 切片(介绍如下)

  • 从一个列表中截取一部分元素,创建一个新的列表。

  • start_index:开始切片的索引(包含在切片中)。

  • end_index:结束切片的索引(不包含在切片中。

    例如

  • original_list = [1, 2, 3, 4, 5]
    new_list = original_list[1:4]

    /# new_list 将会是 [2, 3, 4] (前包后不包)

  • 拷贝

  • 新列表=原列表.copy() (浅拷贝)

  • 也可用切片进行拷贝 (:) new_list = original_list[ : ]

  • coun() 计算列表中相同元素的个数

  • index() 可索引(查找)列表元素 返回值是第一个的索引值

  • reverse() 用于将列表中元素倒序

  • sort() 将列表中元素从小到大排序

列表推导式

  • [expression for item in iterable if condition]
    • expression表示一个表达式
    • item表示一个可迭代对象中的每一个元素
    • iterable表示一个可迭代对象
    • if condition是可选 的条件语句

元组

  • 不可修改
  • 元组只包含一个元素时,需要在最后一个元素后面加上逗号
  • 可以使用 +(拼接) *(重复)等操作符
  • 查看方式和列表相同

字符串

  • 定义一个可以跨越多行的字符串方法
    • ''' ''' 三引号字符串通常在不赋值的情况下当做跨行注释使用
    • \ \ \
    • ( )
  • split(分隔符) 可以将字符串分割为一个列表

序列

  • id()变量名:返回一个代表指定对象的唯一标识的整数值
  • is 和 not is // in 和 not in
  • del
  • list方法
    • 元组转换为列表
    • c = (1,2,3,4)
    • c = list(c)
  • sorted(iterable, key=None, reverse=False)
    • 对序列进行排序
    • iterable:要排序的序列 (列表 元组 字符串)
    • key : 可选
    • reverse :可选 标识是否按照降序进行排序 True False
  • sorted()函数返回一个新的排序后的列表,而非修改原始序列。
  • 若要就地对原始列排进行排序,可以使用列表的sort()方法 但sort只能处理列表
  • enumerate()将每个元素插入枚举
  • zip()返回由各个参数的序列组成的元组

字典

字典的创建

  • fromkey()方法 : 用于创建并返回一个新的字典。
  • dict1 = {}
  • dict1.fromkeys((1,2,3))
  • dict2 = {}
  • dict2.fromkeys((1,2,3),"Number")
  • dict3 = {}
  • dict3.fromkeys((1,2,3),('one','two','three'))
  • 注意 键需要是 字符串 数字 元组等

字典的访问

  • keys() 用于返回字典中的键
    • dict1.keys()
  • values() 用于返回字典中的值
    • dict1.values()
  • items() 用于返回 键值对
  • get() 方法提供更宽松的查找方式
    • 例如希望找不到数据时返回指定的值
    • dict.get(100,"没找到")

杂项

- clear()

  • copy()
  • pop()
    • pop()是给定键弹出对应的值,popitem()是随机弹出一个项
  • setdefault() 与get相似
  • update() 更新字典

集合

  • aa = set([])

  • aa.remove() aa.discard() 如果遇到集合中没有的元素 前者抛出异常 后者静默处理

  • aa.add()

  • for each in aa:

    ​ print(aa,end = '')

  • aa.update()

  • aa = frozenset() 创建一个不变的集合

  • aa.pop()

  • aa.clear()

  • len(aa)

函数

参数

  • def MyFirstFunction(name):
  • 函数定义过程中的 name 是形参 表示占据一个参数位置
  • MyFirstFunction(传递进来的name) 此name为实参
  • 关键字参数 ‘
    • 例如 def function(name,words):
    • ​ print(name + words)
    • ​ function(name='a',words='b')
  • 默认参数 在参数中给定默认值,则在未给实参时输出默认值
    • function()
  • 收集参数
    • 一个*号代表列表 两个代表字典

局部变量与全局变量

  • global 在函数内部访问和修改全局作用域中的变量
  • nonlocal 用于在嵌套函数中访问和修改外部函数作用域中的变量
  • nonlocal不能修改全局作用域中的变量,而global不能修改嵌套函数外部作用域中的变量
  • L E G B 优先级从高到低
  • 局部作用域 - 嵌套函数的局部作用域 - 全局作用域 - 内置作用域

内嵌函数和闭包

装饰器

  • 允许你在不修改函数本身的情况下,通过添加额外的功能来增强函数或类的功能。
  • 装饰器本质上是语法糖

生成器

  • 生成器是一种特殊的迭代器。他可以逐个产生值,而非一次性全部产生。
  • my_generator = (x * 2 for x in range(5)) 生成器表达式
  • 可使用 next() 或者在 循环中使用该生成器

文件

  • 打开文件
    • file = open('文件路径','打开模式')
  • r为只读模式 w为覆写模式 a为追加模式
  • wb是文件写入模式的一种,代表write binary 以二进制写入方式打开文件(w)代表写入
  • 阅读文件
    • 使用read()
    • 例如 count = file.read()
    • print(count)
  • 写入文件
    • file.write()
  • 关闭文件
    • file.close()

path模块

  • 调用
    • from pathlib import Path
  • 使用字符串创建路径对象
  • path = Path(''path/to/file.txt'')
  • 获取文件名和父目录
    • path.name file.txt
    • path.parent path/to
  • 获取绝对路径
    • path.resolve()
  • 判断路径或者文件是否存在
    • path.exists()
  • 判断是否是文件或者目录
    • path.is_file() path.is_dir()
  • 创建目录:可以使用 .mkdir() 方法创建目录
  • 列出目录内容:使用 .iterdir() 方法可以列出目录下的所有内容(包括文件和子目录)
  • 删除文件或目录:可以使用 .unlink() 方法删除文件,使用 .rmdir() 方法删除空目录,使用 .rmtree() 方法删除非空目录。

异常

异常捕捉

  • try
    • 执行代码
  • except
    • 发生异常时会执行的代码
    • 一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组
    • 一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
  • else
    • 没有异常时执行的代码
  • finally
    • 不管有没有异常都会执行的代码

抛出异常

  • raise [Exception [, args [, traceback]]]

类和对象

继承

  • 构造函数
    • 为对象设置初始化状态,给对象的属性赋初值,可以接受参数。
    • 创建对象的时候,构造函数会自动被调用。
    • def _ int _(self,name,age)
  • super()函数
    • 用于调用父类的方法
    • 通常在子类的构造函数中使用
    • 能够自动帮你找出所有基类以及对应的方法

有关进制

  • int(数字,几进制) 可转换为十进制
  • ord() 返回对应的ASCII码值 用十进制表示
  • chr() 返回某个十进制数对应的ASCII 码 字符

函数

  • a.replace('想替换的字符','替换成的字符')
  • '分隔符'join() 方法用于将一个可迭代对象(如列表、元组、字符串等)中的元素连接成一个字符串。
    • separator.join(iterable)
    • 要插入的分隔符 要连接的可迭代对象
  • str.maketrans(x[, y[, z]])
    • 用于创建字符映射转换表
    • x为要替换的字符 y为替换成的字符 z为要删除的字符
  • str.translate(table)
    • table是一个映射表 根据makertrans创建
  • strip() 去掉头尾空格
  • lower() 转换为全小写
  • isupper(): 判断字符串中的所有字母是否都是大写字母
  • islower()`: 判断字符串中的所有字母是否都是小写字母
posted @   DawnLM  阅读(143)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示