最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python如何导入类

    正文概述    2020-02-17   287

    python如何导入类

    导入类是一种很有效的编程方式。 这样我们就可以把大部分逻辑存储在独立的文件中,然后在主程序编写高级逻逻辑。

    1 导入一个类

    假设有一个 User 类,文件名为 User.py,这个待导入的文件,一般称为模块:

    class User():
     '''账号信息'''
     
     def __init__(self, name, pwd):
      '''初始化'''
      self.name = name
      self.pwd = pwd
      # 登陆次数
      self.login_count = 0
     
     def print_login_count(self):
      '''打印登陆次数'''
      print('登陆次数=' + str(self.login_count))
     
     def update_login_count(self, num):
      '''更新登陆次数'''
      self.login_count = num
     
     def valid(self):
      '''是否验证通过'''
      print(self.name + ' 验证通过')

    我们再定义一个名为 deniro.py 的文件,来导入刚刚定义的 User 类:

    from User import User
    deniro = User('deniro', '1')
    print('账号名:' + deniro.name)

    运行结果

    账号名:deniro

    2 导入一个模块多个类

    可以根据需要,在同一个模块中定义任意数量的类,不过这些在同一个模块中的类最好是相关的。

    我们在 User.py 中定义了一个  Privilege 类,并作为 User 类的属性:

    class User():
     '''账号信息''' 
     def __init__(self, name, pwd):
      '''初始化'''
      self.name = name
      self.pwd = pwd
      # 登陆次数
      self.login_count = 0
      # 拥有的权限
      self.privileges = Privilege(['修改某某账号密码', '禁用某某账号'])
     
     def print_privileges(self):
      '''打印拥有的权限'''
      print(self.privileges.contents) 
    ...
    class Privilege():
     '''权限''' 
     def __init__(self, contents):
      self.contents = contents

    然后在新的文件中调用它:

    # 导入一个类
    from User import User
    deniro = User('deniro', '1')
    print('拥有的权限:' + str(deniro.privileges.contents))

    运行结果

    拥有的权限:['修改某某账号密码', '禁用某某账号']

    3 导入多个类

    可以在一个模块中导入多个类, 用逗号分隔这些需要导入类。 导入后, 就可以根据应用场景,来创建任意数量的类实例。

    from User import User,Privilege

    from User import User,Privilege
     
    p=Privilege(["删除账号权限"])
    print('权限内容:'+str(p.contents))

    运行结果

    权限内容:['删除账号权限']

    4 导入模块

    我们还可以一次性导入整个模块, 这需要使用句点表示法来调用相应的类:

    import User
    ...
    p=User.Privilege(["删除账号权限"])
    ...

    导入所有类

    from User import *

    非必要,不使用这种导入方式,因为:

    通过文件开头定义良好的 import 语句, 我们就可以清楚地知道使用了哪些类。但这种导入方式没有提供这种好处。

    如果不小心导入了一个与本程序文件中同名的类, 就会引发难以诊断的错误。

    如果确实需要从一个模块中导入很多类,那么建议导入整个模块, 然后使用 module_name.class_name 语法来调用它们。

    5 在模块中导入另一个模块

    为了避免模块太大或者保证模块中的类都是相关的, 这时就需要将类分散到多个模块中。这样, 可能一个模块中的类会依赖另一个模块中的类。这种场景下, 我们就会在一个模块中导入另一个模块。因为导入语法相同,所以在此就不赘述啦O(∩_∩)O~

    建议一开始让代码结构尽可能简单。 即先尽可能在一个文件中完成所有的工作, 确定一切都能满足业务要求正确执行后,再将类移到独立的模块中。


    下载网 » python如何导入类

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元