首页 > 其他 > 详细

基础复习

时间:2019-03-10 10:23:11      阅读:122      评论:0      收藏:0      [点我收藏+]

1.不要在模块之间相互调用,否则会出现麻绳现象,避免循环导入。

==:用来判断值是否相等(分别指向两个空间,但是空间里面的内容相同)

is:判断指向是否相等。

例:

a=[11,22,33]
b=[11,22,33]
a==b
#True
a is b
#False
id(a)
#1398041200093640
id(b)
#1398041200093600


面试常问:

深拷贝:能复制的东西比较多,能够把值传过去,但是指向的地址不相同。

潜拷贝:能复制的比较少,例如:把一个变量赋值给另一个变量,只是把地址传过去(两个变量指向同一个地址);,但是值没有传过去。

copy():有的时候能够完成想用的功能(对于可变类型)

           对于不可变类型:copy相当于浅拷贝


位运算:快速完成一个值得乘或除

<<:左移

>>:右移


 

私有化

 

1 class Test(object):
2     def __init__(self):
3             self.num=100
4 
5 t=Test()
6 t.num=200
7 print(t.num)

添加的时候有下划线,就后面都要带着,如果添加的时候没有,那就都没有
但是带着下划线的表示别的语言中的私有属性
方法名前面的叫私有方法,
在外面不能直接调用
class Test(object):
def __init__(self):
self.__num=100
t=Test()
t.__num=200 print(t.num)

xx:公有变量

_x:单前置下划线,私有化属性或方法。from somemodule import 禁止导入,但是类,对象和子类可以访问

__xx:前置下划线,用于避免与Python中的关键字冲突,后置下划线的效果一样。

__xx__:双前后下划线,用户名字空间的魔法对象或者属性

若 import 模块是直接可以导入的,所以Python中是伪私有

 

基础复习

原文:https://www.cnblogs.com/gaowenxingxing/p/10504378.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!