python刷题笔记 --2019.3.12

2019.3.12

^不出现在中括号里面,则表示匹配开始字符

^出现在中括号里面,则表示匹配除中括号中出现的所有字符

 

堆排序本质是完全二叉树,最小元素位于根部

 

排序算法中,初始数据集的排列顺序对算法性能无影响的是堆排序

 

正则表达式的特殊字符 匹配字母,数字,字符串的是\ w

 

正则非贪婪模式使用 \? 设置

 

python中的heapq 是一种 树型数据结构

heapq是python自带的完全二叉树的类型

 

python中的list可以看成是一种stack(),栈

 

tuple.append()之后,print会抛出异常(An exception is thrown)

因为元组不可修改,可以看做是只读的list

 

type(lambda:None)

python2的运行结果是<type 'function'>

python3的运行结果是<class 'function'>

 

x or y and z   先计算and再计算or

 

对象中的__dict__除了能返回一个字典,key为对象的属性,value为属性的值,还可以对对象新增属性。

对象的__dict__可以存储全局变量,静态函数,类函数和内置的属性等等,所以包含id

 

def temp(a,*b)

python在函数定义*b时前边*号,表示这是一个不定长定位参数,会将后边的不定长个定位参数打包为一个tuple(元组)

 

BIFs中的getattr和setattr:

setattr可以对一个对象动态添加属性,而getattr负责读取某类的指定属性的值

 

isinstance()是判断某对象是否属于某类的函数,返回值是True或False。

例如:isinstance(1,int)

 

python深度拷贝和浅拷贝:

分为三种:

1.直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变

2.浅拷贝,copy,没有拷贝子对象,所以原始数据改变,子对象会改变

3.深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变     copy模块里面的deepcopy方法实现深拷贝

 

首先,我们知道Python3中,有6个标准的数据类型,他们又分为可变和不可变。

不可变数据(3个):

  • Number(数字)
  • String(字符串)
  • Tuple(元组)

可变数据(3个):

  • List(列表)
  • Dictionary(字典)
  • Set(集合)

 

def foo():

     "This is a cool simple function that return 1"

     return 1

foo.__doc__[-8:-2]

执行结果为:'return'

解析:与类的内置属性有关。__doc__是Python中类的魔法属性,通常为在类及函数定义时的第一行字符串,作为文档供使用者使用.__doc__进行调用,返回值是字符串类型

 

python类的常见内置属性:

__dict__:          实例自定义属性

__doc__:          类文档,子类不继承

__class__:      实例所在的类        

__init__:           构造初始化函数,在__new__后

__new__:          创建实例时,生成实例所需属性 

__setattr__(s,name,value):  调用时,设置name属性

__getattribute__:    属性访问拦截器

__str__:           实例字符串表示,可读性

__del__:           析构函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值