-
pyhton之如何将类的属性和方法设置成私有类型
所属栏目:[Python] 日期:2020-12-20 热度:130
平常都没注意python是如何将属性和方法设置成私有的,今天看到了就记一下。 要想将属性和方法设置成私有的,只需要在属性前面或者方法前面加上__(注意,是双下划线)。 class Student: def __init__ (self,name,age): self.name = name self.age = age __ p[详细]
-
python之子类继承父类时进行初始化的一些问题
所属栏目:[Python] 日期:2020-12-20 热度:74
直接看代码: class Person: def __init__ (self): self.name = " jack " Student(Person): (self): self.school = 一中 " stu = Student() print ( 学生的姓名是: " ,stu.name) 此时,程序是不能正常运行的,运行之后报错: 这是为什么呢? __init__相当于[详细]
-
python之数字型数据类型
所属栏目:[Python] 日期:2020-12-20 热度:99
一、数据类型基础介绍 在python中变量定义时是不需要声明类型的。 python中的数据类型可以分为数字型和非数字型。 数字型:整型、浮点型、布尔型、复数型。 非数字型:字符串、列表、元组、字典。 使用type可以查看变量的类型:type(变量名) 二、不同数据类[详细]
-
python程序执行的原理
所属栏目:[Python] 日期:2020-12-20 热度:123
首先得了解 CPU、内存、硬盘 。 CPU:中央处理器,是一块超大的规模集成电路。负责处理数据/计算。 内存:临时存储数据(断电之后,数据会消失)。速度快、空间[详细]
-
python的特点
所属栏目:[Python] 日期:2020-12-20 热度:169
(1)Python是完全面向对象的语言 函数、模块、数字、字符串都是对象,在python中一切皆对象 完全支持继承、重载、多重继承 支持重载运算符,也支持泛型设计 (2)python拥有一个强大的标准库。python语言的核心只包含数字、字符串、列表、字典、文件等常见[详细]
-
python之多继承中的一些问题
所属栏目:[Python] 日期:2020-12-20 热度:65
python与Java不同,是支持多继承的。这里的多继承指的的是多重继承,即一个子类可以同时继承多个父类。而多层继承就是一层一层的继承,比如A继承B,Bj继承C等。直接看代码: 多重继承: class A: def testA(self): print( " 这是父类A的test方法 " ) B: def[详细]
-
python之类也是一个对象
所属栏目:[Python] 日期:2020-12-20 热度:148
python中一切皆对象: class A:是一个类对象 a = A():是一个实例对象 在程序运行时,类同样会被加载到内存。 在python中,类是一个特殊的对象--类对象。 在程序运行时,类对象在内存中只有一份,使用一个类可以创建出多个对象实例。 除了封装实例的属性和[详细]
-
python中各种操作的时间复杂度
所属栏目:[Python] 日期:2020-12-20 热度:119
以下的python操作的时间复杂度是Cpython解释器中的。其它的Python实现的可能和接下来的有稍微的不同。 一般来说,“n”是目前在容器的元素数量。 “k”是一个参数的值或参数中的元素的数量。 (1)列表:List 一般情况下,假设参数是随机生成的。 在内部,列[详细]
-
python中的any和all函数
所属栏目:[Python] 日期:2020-12-20 热度:174
1、all函数用来判断元素是否都为真,其接受一个迭代器 例子: all([1,2,3,4]) 输出:True 需要注意的是,凡是不为0的数都被认为是真,只要其中出现了0,那么整个结果就是False 2、any函数用来判断至少有一个为真,其接受一个迭代器 例子: any([0,1]) 输出:[详细]
-
python之利用魔术方法实现自己定义的二维向量
所属栏目:[Python] 日期:2020-12-20 热度:56
from math import hypot class Vector: def __init__ (self,x,y): self.x = x self.y = y # 将一个对象以字符串的形式表示,对比java的tostring方法 __repr__ (self): return " Vector(%r,%r) " % (self.x,self.y) 用于计算向量的模 __abs__ return hypot(se[详细]
-
python十进制转二进制、八进制、十六进制
所属栏目:[Python] 日期:2020-12-20 热度:62
1、十进制转二进制 bin(10) 输出:'0b1010' 2、十进制转八进制 oct(9) 输出:'0o11' 3、十进制转十六进制 hex(15) 输出:'0xf' ?[详细]
-
python之使用魔术方法__getitem__和__len__
所属栏目:[Python] 日期:2020-12-20 热度:196
(1)像__getitem__这种由两个双下划线构成的方法,被称为魔术方法。 (2)魔术方法是为了给python解释器用的。当使用len(collection)时,实际上调用的就是collection.__len__方法。而在使用obj[key]的形式来访问元素时,实际上调用的是object.__getitem__(k[详细]
-
python之单例设计模式
所属栏目:[Python] 日期:2020-12-20 热度:158
所谓单例,就是让类创建对象的时候,在系统中只有唯一的一个实例。 (1)定义一个类属性,初始值是None,用于记录单例的引用。 (2)重写__new__方法。 (3)如果类属性是None,调用父类方法分配空间,并在属性中记录结果。 (4)返回属性中记录的对象引用。[详细]
-
python之如何执行用字符串表示的代码
所属栏目:[Python] 日期:2020-12-20 热度:151
比如说现在有这么一段字符串,"print('helloworld')",那么怎么将其转换成python认识的格式运行? s= " print('helloworld') " r = compile(s, string " ,1)">exec ) exec (r) 输出:helloworld[详细]
-
python中ascii和十进制之间的转换
所属栏目:[Python] 日期:2020-12-20 热度:159
1、十进制转换成ascii,使用chr函数 chr(65) 输出:'A' 2、ascii转成十进制,使用ord函数 ord( ' A ' ) 输出:65 ?[详细]
-
【python错误集锦】
所属栏目:[Python] 日期:2020-12-20 热度:140
1、RuntimeWarning: invalid value encountered in true_divide 除数中出现了无效的数,比如0 ? 陆续更新,遇到了就记一笔,慢慢积累[详细]
-
python之__new__方法
所属栏目:[Python] 日期:2020-12-20 热度:93
使用类名()创建对象时,python解释器会调用__new__方法来为对象分配空间。__new__是一个由object基类提供的内置静态方法,主要作用有两个: (1)在内存中为对象分配空间 (2)返回对象的引用 python的解释器在获得对象的引用之后,将引用作为第一个参数,传[详细]
-
python中的容器序列类型collections
所属栏目:[Python] 日期:2020-12-20 热度:140
collections中的内容: 1、namedtuple():构造带字段名的元组 具名元组的特有属性: 类属性? _fields:包含这个类所有字段名的元组 类方法? _make(iterable):接受一个可迭代对象来生产这个类的实例 实例方法? _asdict():把具名元组以 collections.OrdereDic[详细]
-
python之面向对象中的多态
所属栏目:[Python] 日期:2020-12-20 热度:137
直接看代码: class Dog: def __init__(self,name): self.name = name def play(self): print( " %s在汪汪汪 " % self.name) SonDog(Dog): def play(self): print( %s不仅会汪,还会飞 Person: def __init__(self,1)"> name def game(self,dog): print( %s正[详细]
-
python之列表推导和生成器表达式
所属栏目:[Python] 日期:2020-12-20 热度:74
首先来看一下代码: chars = " abcd " tmp = [] for char in chars: tmp.append(ord(char)) print (tmp) 这是一般的写法,将字符串中的每一个字符转换称ASCII码,然后存进一个tmp数组。 利用 列表推导的方式 : tmp = [ord(char) in chars] 输出:[97,98,99,[详细]
-
python之容器序列和扁平序列
所属栏目:[Python] 日期:2020-12-20 热度:186
容器序列 :list、tuple、collections.deque 扁平序列 :str、bytes、bytearray、memoryview、array.array 容器序列和扁平序列的区别? 容器序列 可以存放不同类型的数据。即可以存放任意类型对象的引用。 扁平序列 只能容纳一种类型。也就是说其存放的是值[详细]
-
python中的__call__和__repr__魔术方法
所属栏目:[Python] 日期:2020-12-20 热度:180
__call__:实现了__call__的对象是可调用的 __repr__:实现了__repr__的对象可以输出对象的相应属性信息 比如说: class Student: def __init__ (self,id,name): self.id = id self.name = name __repr__ (self): return ' id= ' +str(self.id)+ ,name= ' +[详细]
-
python堆队列算法heapq
所属栏目:[Python] 日期:2020-12-20 热度:93
摘自官方文档:https://docs.python.org/zh-cn/3.7/library/heapq.html ? 这个模块提供了堆队列算法的实现,也称为优先队列算法。 堆是一个二叉树,它的每个父节点的值都只会小于或大于所有孩子节点。它使用了数组来实现:从零开始计数,对于所有的 ? k ? ,[详细]
-
python数组二分查找算法bisect
所属栏目:[Python] 日期:2020-12-20 热度:174
摘自官方文档:https://docs.python.org/zh-cn/3.7/library/bisect.html ? 这个模块对有序列表提供了支持,使得他们可以在插入新数据仍然保持有序。对于长列表,如果其包含元素的比较操作十分昂贵的话,这可以是对更常见方法的改进。这个模块叫做 ? bisect ?[详细]
-
可变数据类型不能作为python函数的参数
所属栏目:[Python] 日期:2020-12-20 热度:73
可变数据类型:列表、字典 不可变数据类型:整型、浮点型、字符串、元组 为什么可变数据类型不能作为python函数的参数? 请看以下例子: def foo(a= []): a.append( 1 ) return a print (foo()) print (foo()) 结果: [1 ][ 1,1 我们继续打印下每次函数的返[详细]
