python中常见的数据结构_2018年秋招面试常见python和数据结构知识点总结

python中的深拷贝和浅拷贝的定义:

在python中对象的赋值就是对象的引用,当创建一个对象把他赋值给另一个变量时,Python只是拷贝了对象的引用而已。

浅拷贝:拷贝了最外围对象本身,内部的元素只是拷贝了一个引用而已,也就是只复制对象,对象的引用不复制。

深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用,把对象复制了一遍,并且该对象中引用的其他对象也复制。

python中的函数:def foo(): 定义函数

return 1

foo() 调用函数

定义类:class 类名:

def 方法1(self,参数列表):

self指哪一个对象调用的方法就是哪一个对象的引用。

pass

def 方法2(self,参数列表):

pass

python捕获异常:try:

执行的代码

except:

错误的代码

面向对象和面向过程面向过程:强调的是步骤。

面向对象:强调的是功能。

封装:根据职责将属性和方法封装到一个抽象的类中。

继承:实现代码的重用

多态:不同的子类调用相同的方法产生不同的结果

python中的闭包:闭包指根据不同的配置信息得到不同的结果。

id命令:python中的id命令用来查看内存地址。

python中的装饰器:为了给某段程序添加功能,但该程序已经上线或已经被使用,那么不需要批量修改源代码装饰器用于拓展原来

函数功能,特殊之处在于他的返回值也是一个函数。使用@符号可以将装饰器应用到函数。

@outer 一个修饰符就是一个函数。

python中的kwargs和*args:****kwargs参数表示的就是一个字典。

*args用来将参数打包成tuple给函数用。

python的内存分配以及垃圾回收:python采用计数的方式来管理分配内存,python的每个对象都有一个引用计数,这个引用计数表明了有多少个对象指

向他,计数为0即表示释放。

python中的GC模块主要运用了引用计数来跟踪和回收垃圾,还可以通过‘标记--清除’解除可能出现的回环问题。

python多线程:1.解耦降低关联性

2.支持并发

3.支持忙闲不均,防止以此制造太多来不及处理,等生产者慢下来再处理。

python遍历列表的4种方法:app_list = [1234,5678,9999]

for app_id in app_list:

print app_id

for index,app_id in enumerate(app_list):

print index,app_id

enumerate()说明

enumerate()是python的内置函数

enumerate在字典上是枚举、列举的意思

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以

同时获得索引和值enumerate多用于在for循环中得到计数

for i in range (len(app_list)):

print i,app_list[i]

for app_id in iter(app_list):

print app_id

iter()函数有两种用法,一种是传一个参数,一种是传两个参数。结果都是返回一个iterator对象。

python类型转换:num_list=[1,2,3,4]

type(num_list)

num=tuple(num_list) 转换为元祖类型

type(num_list)

python删除列表重复数据:b=list(set(num_list))会从大到小排列

python如何复制对象:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值