随笔分类 - 编程语言
摘要:1. ThreadLocal 基本概念 ThreadLocal 提供了线程局部变量,这些变量与普通变量不同,每个访问该变量的线程都有自己独立的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,用于将状态(如用户 ID 或事务 ID)与线程关联起来。 线程隔离:
阅读全文
摘要:回顾闭包 存在函数嵌套的前提下 内部函数使用了外部函数的变量(入参或函数的局部变量) 外部函数返回这个内部函数 def outer_fun(a): # 外部函数 def inner_fun(b): # 内部函数 return b + a # 返回 b+a,a 属于外部函数 return inner_
阅读全文
摘要:迭代器类 一个迭代器类必须实现以下两个方法: __iter__():返回迭代器对象本身(即 self)。 __next__():返回序列中的下一个元素。如果没有更多元素,抛出 StopIteration 异常。 class MyRange: def __init__(self, start, end
阅读全文
摘要:Python 提供了多个处理时间和日期的库,主要包括 time、date、datetime 和 timedelta。以下是它们的简要介绍及常用方法: 1. time 库 time 库提供了与时间相关的函数,主要用于处理时间戳和时间的格式化。 常用方法: time.time(): 返回当前时间的时间戳
阅读全文
摘要:1. 常见异常类型 Python 内置了许多异常类型,以下是一些常见的异常: SyntaxError: 语法错误,代码不符合 Python 语法规则。 IndentationError: 缩进错误,通常是由于缩进不一致引起的。 NameError: 尝试访问未定义的变量或函数。 TypeError:
阅读全文
摘要:模块 导入模块 导入整个模块 # 导入整个模块。 import math print(math.log2(8)) # 这种导入方式需要使用 模块名.方法() 来调用 导入模块中特定的方法或类 # 导入模块中的指定方法。 from math import log2,log10 print(log2(8
阅读全文
摘要:1. 继承 继承允许一个类继承另一个类的属性和方法(所有方法和属性,魔法方法、类属性和方法、实例属性和方法) # 所有的类都会继承 object(默认必须继承,可以省略不写) class ParentClass(object): def __init__(self, name): # 父类有 nam
阅读全文
摘要:在 Python 中,类(Class)是面向对象编程(OOP)的核心概念之一。类用于创建对象,对象是类的实例。类定义了对象的属性和方法,属性是对象的数据,而方法是对象的行为。 1. 定义类 使用 class 关键字定义类,类名通常采用大驼峰命名法(CamelCase)。 class MyClass:
阅读全文
摘要:os.getcwd():获取当前文件的路径目录。 os.chdir(path):改变当前工作目录。终端 cd 的效果 import os os.chdir('/path/to/directory') # 切换到指定目录 print(os.getcwd()) # 输出新的工作目录 os.listdir
阅读全文
摘要:I/O 流(Input/Output Stream) 是程序中用于处理输入和输出的机制。在 Python 中,I/O 流主要用于读写文件、处理网络数据、与用户交互等操作。 1. I/O 流的基本概念 I/O 流是数据在程序和外部设备(如文件、网络、终端等)之间流动的通道。Python 的 I/O 流
阅读全文
摘要:Python 提供了许多内置的高阶函数,以下是几个常用的: 1. map() 函数 将一个函数应用于一个或多个可迭代对象的所有元素,并返回一个迭代器 map(function, iterable, ...) function:一个函数,可以是普通函数或 lambda 函数。 iterable:一个或
阅读全文
摘要:高阶函数(Higher-Order Function) 是函数式编程中的一个核心概念,它在 Python 和 JavaScript 等语言中都非常重要。高阶函数的特点是 **可以接受函数作为参数,或者返回函数作为结果 1. 什么是高阶函数? 高阶函数是指满足以下至少一个条件的函数: 接受一个或多个函
阅读全文
摘要:从 lambda 的本质、语法、特性、使用场景等方面详细展开,帮助你彻底理解它。 1. Lambda 的本质 Lambda 是 Python 中的一种 匿名函数。它的特点是: 没有函数名:普通函数通过 def 定义,需要一个函数名,而 lambda 不需要。 简洁:lambda 通常用于定义简单的、
阅读全文
摘要:定义语法 # Python 3.5 之前 def 函数名(参数): # 参数可选 执行代码 执行代码 # 同样的缩进,表示一个代码块 # Python 3.5 之后可以约束函数入参和返回值类型 def 函数名(参数: 参数类型) -> 返回值类型: 执行代码 执行代码 # 调用函数 函数名(参数)
阅读全文
摘要:集合 类似字典的 key 的集合(java 的 HashSet 也是 由 HashMap 来实现的) 没有顺序,所以不能使用下标来操作元素(获取也不行) 每一项不可变,要是放入可变元素会报错 声明集合 s = set() # 创建空 set 只能这种方式,因为 {} 表示空字典 s = {"name
阅读全文
摘要:字典操作 字典存储的是键值对,类似 Java 中的 Map,key 不能重复(key 要是重复会被覆盖) 声明字典 dict1 = {} dict2 = {"name": "Milk", "age": 20} dict3 = dict([("name", "Milk"), ("age", 20)])
阅读全文
摘要:通用操作 序列的特性是 顺序是固定的,也就是有序的,可以根据下标操作元素 序列的每个元素对应一个下标,正向下标:从左边第一个开始(下标是正数,0 开始),反向下标:从右边第一个开始(下标是负数,-1开始) 可以根据下标操作元素(str 和 tuple 不能修改) 数学运算符 +:拼接另一个同类型的序
阅读全文
摘要:列表 声明列表 # 空列表 list = [] # 1,不限制类型;2,列表也可以作为一个元素 list1 = [1,2,'3',[4,'5']] 下标操作 # 获取 print(list1[0]) # 输出 1 # 长度 print(len(list1)) # 输出 4 # 修改 list1[0]
阅读全文
摘要:元组 声明元组 t = () t = (1,) t = (1, 2, '字符串也行') t = 100, 200, '300' # 这种方式也行,但是遇到写这种代码的还是直接开打吧 元组和列表的区别就是不可删除,所以列表的插入、删除等方法不适用,比如 pop()、append()、insert()、
阅读全文
摘要:字符串 声明字符串 s0: str = '张三' s1 = '张三' s2 = "李四" s3 = 'i\'m july' s4 = "i'm bob" s5 = "我是换行的\n字符串" s6 = '我是"四川"人' s7 = """我是换行的 字符串 """ s8 = '''我也是换行的 字符串
阅读全文

浙公网安备 33010602011771号