随笔分类 - Python
摘要:import glob # path = r"E:\Python\code\*.txt" # * 匹配0个或多个字符 匹配后缀名 .txt 的文件 # path = r"E:\Python\code\z?.*" # ? 匹配 z1.py z9.py ze.py z3.num.sort.py z9.t
阅读全文
摘要:可迭代对象,有__iter__方法迭代器(iterator)实现__next__方法和__iter__方法,每次按顺序返回一个值 直接使用for循环打印range(1,3) for i in range(1,3): print('这是通过for循环打印出来的i值:'+str(i)) 使用分解代码模拟
阅读全文
摘要:迭代器表示的是一个元素流,可以被next()函数调用并不断返回下一个元素,直到没有元素时抛出StopIteration错误。 可以把这个元素流看做是一个有序序列,但却不能提前知道序列的长度,只能不断通过next()函数得到下一个元素,所以迭代器节省内存和空间。 凡是可作用于for循环的对象都是可迭代
阅读全文
摘要:Pycharm中print函数有end= 参数,控制台不打印输出 for i in range(1, 256): # 寻找对称平方数 square = str(i*i) # 转为字符串 if square == square[::-1]: print(i, end='\t') 循环中 print函数
阅读全文
摘要:变量前单星号表示将参数转化成元组 变量前双星号表示将参数转化成字典 函数传参顺序 从左到右(一般):位置参数、默认参数、单星号参数、关键字传参、双星号参数 传参解压功能 单星号对list或元组进行解压,输入的参数不是一个list或元组,而是其中的元素。 双星号对字典进行解压,输入的参数变成 " a=
阅读全文
摘要:>>> import sys >>> sys.getrefcount(a) 82 >>> a = 'hello' >>> sys.getrefcount(a) 2 # a作为实参传入getrefcount函数中,会进行一次参数复制,引用次数加1。 所以显示的是 2 >>> b = a >>> sys
阅读全文
摘要:数据类型的操作一般分为三类:1、构造操作: 这类操作主要是基于一些已知信息,产生这个类的实例对象。类似银行进行开通账户 2、解析操作:这类操作是获取对象的一些有用信息,其结果反应了对象的一些特征,但返回的不是对象本身。类似银行查询账户余额 3、变化操作 :这类操作是修改对象内部的信息和状态。比如一个
阅读全文
摘要:import random # 随机函数前不要 seed()方法 print('随机数0:',random.random()) print('随机数000:',random.random()) # 随机数不一样 # 当seed()没有参数时,每次生成的随机数是不一样的 random.seed() p
阅读全文
摘要:stdout用于print和状态表达式的结果输出,及input()的瞬时输出 print 等价于sys.stdout.write() print结束自动加换行,sys.stdout.write结束不加换行,要手动增加 import sys sys.stdout.write("hello world"
阅读全文
摘要:sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n’忽略 sys.stdin.readline( ).strip() 去掉末尾的换行符, import sys a=sys.stdin.readline().strip() b=input()
阅读全文
摘要:range 类型相比常规 list 或 tuple 的优势在于一个 range 对象总是占用固定数量的(较小)内存,不论其所表示的范围有多大(因为它只保存了 start, stop 和 step 值,并会根据需要计算具体单项或子范围的值)。 # class range(object): # rang
阅读全文
摘要:property 是 Python 内置的功能,常用来修饰类方法,用于以访问属性的方式调用函数。 描述符对象为了能够实现访问属性就调用某个函数,这里将利用 描述符对象 作为本文的实现起点,当某个类定义了 __get__ 方法后,通过其方法名称可以直接调用 __get__ proptery 主要依赖于
阅读全文
摘要:当实例对象做p[key] 运算时,会调用类中的方法__getitem__ 形式一:__getitem__(self, index) 形式二: __getitem__(self, key) 魔法方法__getitem__ 可以让对象实现迭代功能,这样就可以使用 for…in… 来迭代该对象了 在用 f
阅读全文
摘要:flatten()是对多维数据的降维函数。flatten(),默认缺省参数为0,也就是说flatten()和flatte(0)效果一样。 from numpy import * a=array([[1,2],[3,4],[5,6]]) a array([[1, 2], [3, 4], [5, 6]]
阅读全文
摘要:slice()函数创建一个slice对象,该对象可用于对字符串,列表,元组等进行切片。slice对象用于切片给定的序列(字符串,字节,元组,列表或范围)或任何支持序列协议的对象(实现__getitem__()和__len__()方法)。 slice 语法:class slice(stop)class
阅读全文
摘要:copy是浅拷贝,只拷贝可变对象的父级元素。 deepcopy是深拷贝,递归拷贝可变对象的所有元素
阅读全文
摘要:Python作用域简单说就是一个变量的命名空间。代码中变量被赋值的位置,就决定了哪些范围的对象可以访问这个变量,这个范围就是变量的作用域。在Python中,只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域。Python的变量名解析机制也称为 LEGB 法则
阅读全文
摘要:欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数假如需要求 18 和 30 两个正整数的最大公约数: 调用函数:print(gcd(18, 30)),a,b值变化如下a b30 ÷ 18 = 1……121
阅读全文
摘要:内置方法 callable() 会检查是否可调用,并返回 True 或者 False。callable(object) 可能有少数情况 callable() 返回 true,但对 object 的调用失败。 def Geek(): return 5 let = Geek print(callable
阅读全文
摘要:xrange函数在Python3中已经取消 xrange并不是生成序列,而是作为一个生成器。即他的数据生成一个取出一个。xrange比range性能优化很多,因为他不需要一下子开辟一块很大的内存,特别是数据量比较大的时候。当需要输出一个列表的时候,就必须要使用range了。
阅读全文

浙公网安备 33010602011771号