如何进行实现Python的配置

发布时间:2021-10-27 19:00:46 作者:柒染
来源:亿速云 阅读:135

今天就跟大家聊聊有关如何进行实现Python的配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Python配置中的一个文本区域,其中某个名字空间可以直接访问,“直接访问” 这里指的是使用不加修饰的名字就直接找到名字空间中的对象,可以直接学习Python不必先从C下手。

例如,所有方法名用大写字母开头,所有数据属性名前用一个***的字符串开头(或者只是一个下划线),或方法名用动词而数据名用名词。数据属性可以被方法引用也可以被普通用户(“客户”)引用。换句话说,类不能用来构造抽象数据类型。实际上。

Python中没有任何办法可以强制进行数据隐藏——这些都是基于惯例。(另一方面,Python的实现是用C写的,它可以完全隐藏实现细节,必要时可以控制对象存取;用C写的Python扩展模块也有同样特性)。

客户要自己小心使用数据属性——客户可能会因为随意更改类对象的数据属性而破坏由类方法维护的类数据的一致性。注意客户只要注意避免名字冲突可以任意为实例对象增加新数据属性而不需影响到方法的有效性——这里,有效的命名惯例可以省去许多麻烦。

从方法内要访问本对象的数据属性(或其它方法)没有一个简写的办法。我认为这事实上增加了程序的可读性:在方法定义中不会混淆局部变量和实例变量。习惯上,方法的***自变量叫做self。这只不过是一个习惯用法:名字self在Python配置中没有任何特殊意义。但是。

因为用户都使用此惯例,所以违背此惯例可能使其它Python配置不容易读你的程序,可以想象某些类浏览程序会依赖于此惯例)。作为类属性的任何函数对象都为该类的实例定义一个方法。函数的定义不一定必须在类定义内部:只要在类内把一个函数对象赋给一个局部变量就可以了。例如:

>>> class Complex:  ...     def __init__(self, realpart, imagpart):  ...         self.r = realpart ...         self.i = imagpart ...   >>> x = Complex(3.0,-4.5)  >>> x.r, x.i  (3.0, -4.5)

现在f、g和h都是类C的属性且指向函数对象,所以它们都是C的实例的方法——其中h与g 完全等价。注意我们应该避免这种用法以免误导读者。方法可以用代表所属对象的self自变量来引用本类其它的方法,如:

class VirtualAttributes:      __vdict = None     __vdict_name = locals().keys()[0]             def __init__(self):          self.__dict__[self.__vdict_name] = {}            def __getattr__(self, name):          return self.__vdict[name]            def __setattr__(self, name, value):          self.__vdict[name] = value

方法可以和普通函数一样地引用全局名字。方法的全局作用域是包含类定义的模块。(注意类本身并不被用作全局作用域!)虽然我们很少需要在方法中使用全局数据,全局作用域还是有许多合法的用途:

例如,导入全局作用域的Python配置和模块可以被方法使用。在同一模块中定义的函数和方法也可以被方法使用。包含此方法的类一般也在此全局作用域中定义,下一节我们会看到一个方法为什么需要引用自己的类!

一段需要以某种抽象数据类型作为输入的Python程序经常可以接受一个类作为输入,该类只是模仿了应输入的数据类型的方法。例如,如果你有一个函数是用来格式化一个文件对象中的数据,就可一个定义一个具有方法read()和readline()的类,该类可以不从文件输入而是从一个字符串缓冲区输入,把这个类作为自变量。

看完上述内容,你们对如何进行实现Python的配置有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. pytest框架怎么在python中进行配置
  2. 使用Python怎么对properties配置文件进行读取

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:如何探讨C++模板限制方式

下一篇:Mysql数据分组排名实现的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》