Python
黑默丁格
成长
展开
-
Python分解质因数
def func(a): ans = [] while a>1: for i in range(2,a+1): if a%i == 0: ans.append(i) a //= i break return ans原创 2019-02-21 16:29:13 · 447 阅读 · 2 评论 -
Python中的staticmethod
Python中有比较常见的三种方法: 实例方法 定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法); 调用:只能由实例对象调用。 类方法 定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法); ...原创 2019-03-01 19:50:31 · 1170 阅读 · 0 评论 -
Python 中两种方式创建列表的区别
class Student: def __init__(self, value): self.value = value self.next = None 假如我们创建了一个类Student,然后需要创建一个元素为Student类的列表,我们有两种方法。但这两种方法所得到结果是不一样的,其中第一个列表中的所有的Student都是同一个对象,其地址是相...原创 2019-04-07 09:36:12 · 942 阅读 · 0 评论 -
Python共享引用和原处修改
在Python中,变量总是一个指向对象的指针,而不是可改变的内存区域的标签:给一个变量赋一个新的值,并不是替换了原始对象,而是让这个变量去引用完全不同的一个对象。实际的效果就是对一个不支持原处修改的变量赋值,仅仅会影响那个被赋值的变量。但对于支持在原处修改的对象,共享引用时需倍加小心,因为对一个变量名的修改会影响其他的变量。 如下图: 可见,对不可变对象(数字,字符串,元组等)的共享引用,...原创 2019-04-07 14:21:57 · 570 阅读 · 0 评论 -
Python分片巧用
a = [1,2,3] a[len(a):0] = [4] #相当于a.append(4) a[:0] = [0] #相当于a.insert(0,0) a[::-1] #相当于a.reverse()原创 2019-04-07 15:00:20 · 118 阅读 · 0 评论