随笔分类 - Python
摘要:一、Python包管理历史 最初的时候,我们有了Python,但是没有干净的方法来安装软件包,早期的时候,当用户想安装包时,需要先从网上把文件下载下来,解压,然后执行Python setup.py install,就能将包安装好。 后来有了PyPI,开发者可以把他们的包上传到上面,然后其他开发者可以
阅读全文
摘要:pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 Python 3.4+ 以上版本都自带 pip 工具。 一、pip 常用命令 显示版本和路径 pip --version 获取帮助 pip --help 升级 pip pip install -U
阅读全文
摘要:在python中,给你一个函数或者类的字符串名称,你怎么得到该函数和类,以下方式: 1.通过getattr获取方法名,再运行 class TestA(object): def get_test(self): print("我是函数1") def instance(self): print("我是函数
阅读全文
摘要:一、对象表示形式 Python 提供了两种获取对象的字符串表示形式的标准方式。 repr() : 以便于开发者理解的方式返回对象的字符串表示形式。 str() : 以便于用户理解的方式返回对象的字符串表示形式。 二、classmethod 与 staticmethod 这两个是python内置提供的
阅读全文
摘要:with 语块定义了 运行时刻上下文环境; 在执行 with 语句时将“进入”该上下文环境,而执行该语块中的最后一条语句将“退出”该上下文环境。 with后面跟的对象必须有一个__enter__()方法,一个__exit__()方法。 所编写代码 Python 实际调用 with x: x.__en
阅读全文
摘要:在python中,下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,程序员应该避免用下划线作为变量名的开始。 1.单前导下划线:_var 表示变量或方法仅供内部使用。 Python不像Java那样在“私有”和“公共”变量之间有很强的区别,仅仅作为一种对程序员的提示。 2.单末尾下划线 var
阅读全文
摘要:copy 模块提供的 deepcopy 和 copy 函数能为任意对象做深复制和浅复制。 import copy bus1 = Bus(['Alice', 'Bill', 'Claire', 'David']) bus2 = copy.copy(bus1) bus3 = copy.deepcopy(
阅读全文
摘要:1.把对象当函数调用 如果类定义了 __call__ 方法,那么它的实例可以作为函数来调用。 如果想判断对象能否调用,可以使用内置的 callable() 函数。 [callable(obj) for obj in (abs, str, 13)] [True, True, False] #abs是函
阅读全文
摘要:键的次序取决于添加顺序,但是往字典里添加新键可能会改变已有键的顺序 无论何时往字典里添加新的键,Python 解释器都可能做出为字典扩容的决定。扩容导致的结果就是要新建一个更大的散列表,并把字典里已有的元素添加到新表里。这个过程中可能会发生新的散列冲突,导致新散列表中键的次序变化。要注意的是,上面提
阅读全文
摘要:1.序列类型 容器序列 list、tuple 和 collections.deque 这些序列能存放不同类型的数据。 扁平序列 str、bytes、bytearray、memoryview 和 array.array,这类序列只能容纳一种类型。 序列类型还能按照能否被修改来分类。 可变序列 list
阅读全文
摘要:不管在哪种框架下写程序,都会花费大量时间去实现那些会被框架本身调用的方法。 Python 解释器碰到特殊的句法时,会使用特殊方法去激活一些基本的对象操作,这些特殊方法的名字以两个下划线开头,以两个下划线结尾 比如 obj[key] 的背后就是 __getitem__ 方法,为了能求得my_colle
阅读全文
摘要:由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。 函数对象有一个__name__属性,可以拿到函数的名字 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装
阅读全文
摘要:每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。 内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回 import fibo, sys dir(fibo) #['__name__', 'fib', 'fib2']
阅读全文
摘要:re.match(pattern, string, flags)从字符串的起始位置匹配一个模式,失败就返回none。 import re print(re.match('www', 'www.runoob.com').span()) #(0, 3) print(re.match('com', 'ww
阅读全文
摘要:open(filename, mode='r+')方法用于打开一个文件,并返回文件对象。 f = open(r'C:/Users/admin/Desktop/123.txt',"r+") #注意路径中的字符,r表示路径 print (f.name) 注意:使用 open() 方法一定要保证关闭文件对
阅读全文
摘要:字典:值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 dict = {} dict['one'] = "测了个试1" dict[2] = "测了个试2" tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
阅读全文
posted @ 2020-11-13 18:12
盲仔不瞎忙
摘要:Python的作用域一共有4种,分别是: L (Local) 局部作用域 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内置作用域(内置函数所在模块的范围) 以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的
阅读全文
摘要:迭代器有两个基本的方法:iter() 和 next()。 字符串,列表或元组对象都可用于创建迭代器: import sys # 引入 sys 模块 list=[1,2,3,4] it = iter(list) # 创建迭代器对象 while True: try: print (next(it)) e
阅读全文
摘要:abs(x) 函数返回数字的绝对值。 a=abs(-20.3) print(a) #20.3 math.ceil(x)向上取整。 import math y=math.ceil( 3.2 ) print(y) #4 math.floor(x)向下取整。 import math y=math.floo
阅读全文
摘要:现在,捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。 字母A用ASCII编码是十进制的65,二进制的01000001; 字符0用ASCII编码是十进制的48,二进制的00110000,注意字符'0'和整数0是不同的; 汉字中已经超出了A
阅读全文

浙公网安备 33010602011771号