Python 私有化、import、封装继承多态

私有化

默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似JAVA、C++中public,private等关键词来修饰成员函数和成员变量。
在python中定义私有变量只需要在变量名或函数名前加上双前置下划线   ” __  “ ,那么这个函数或变量就是私有的了。

    x      :公有变量
  _x      :单前置下划线,私有化属性或方法,禁止通过from modules import *导入,但是类对象和子类可以访问
__xx    :双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到),类对象和子类不能访问
__xx__:双前后下划线,(公有)用户名字空间的魔法对象或属性。例如: __init__  __ 尽量不要自定义这种形式的。
    xx_  :单后置下划线,用于避免与Python关键词的冲突(不建议使用) 
 

 

import导入模块

import搜索路径

路径搜索

 

重新导入模块( 可用在不可停的服务器中修改代码,from xxx 时不可用 )

 

多模块开发注意点

在一个文件中 使用 import 导入其他模块时,import xxx 代表的是定义了一个 xxx变量 指向了这个xxx.py模块

所以当需要使用 xxx.py模块 的某些值时, 使用  xxx.变量名(方法名)  调用,即如果修改或者重新赋值变量

对应的xxx.py模块的值也会改变,相应的,当其他文件同时使用 import xxx  调用 xxx.py 模块时,值也为修改后的

 

而在一个文件中 使用 form xxx  import  变量名 导入其他模块时,

此时则代表着 定义了一个'变量名' 指向 了xxx.py模块 变量名  对应的值  ,所以调用时,直接在文件中使用 xxx 即可

***  假如 变量名 对应的是一个列表,此时对列表进行 append 等类似操作,对应的 xxx.py模块 变量名  对应的值 也会改变,因为是 指向其模块对应的值

但是如果对变量名重新赋值   如, =  这种操作,会使得 当前文件里定义的 ‘变量名’ 指向 新的赋值,相应的  xxx.py模块 变量名  对应的值 不会改变   

例如, a = 100,a = 200  定义了变量a 指向100,第二步,使变量a 指向200 ,并不是 将变量a指向的100变成200

 

 

封装继承多态

封装的好处(面向对象)

继承的好处

多态即多种形态,在运行时确定其状态,在编译阶段无法确定其类型,这就是多态。Python中的多态和Java以及C++中的多态有点不同,Python中的变量是弱类型的,在定义时不用指明其类型,它会根据需要在运行时确定变量的类型(个人觉得这也是多态的一种体现),并且Python本身是一种解释性语言,不进行预编译,因此它就只有在运行时确定其状态,故也有人说Python是一种多态语言。在Python中很多地方都可以体现多态的特性,比如内置函数len(object),len函数不仅可以计算字符串的长度,还可以计算列表、元组等对象的数据个数,这里在运行时通过参数类型确定其具体的计算过程,正式多态的一种体现。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值