zoukankan      html  css  js  c++  java
  • Python学习 第6天 类、模块、包

    逼着自已再学一点,真想拿出零食看场电影玩玩游戏

    先存张图,来自http://www.cnblogs.com/xuanye/archive/2010/02/25/1673682.html

    一、类

    1、声明

    class A:
        pass
    
    a = A();
    a.b = 1;
    print a.b

    和js差不多,属性随时声明随时调用

    2、初始化

    class A:
        def __init__(self):
            self.b = 1
    
    a = A();
    print a.b

    __init__类似构造函数,至少要一个参数self,类似于js的this,可以有多个参数

    3、析构

    __del__,但一般用不到,C#也是,靠自动回收就行

    4、静态成员

    类里面定义的,实例化后同名元素不改成静态成员

    5、私有成员

    没有访问修饰符,用__(两个下划线)可以限制直接访问,但通过调用时加下划线的方法仍可访问

    6、类的方法

    类里面的方法一定要至少带一个参数self

    7、静态方法

    静态成员可以直接定义直接用,静态方法不行,要加修饰符@staticmethod

    class A:
        @staticmethod
        def a():
          print "a"
    A.a()

    8、方法重载、运算符重载

    无方法重载,也无必要,后面的覆盖前面的

    运算符重载使用__(两个下划线)

    9、继承:在括号里填上父类即可。也可多重继承,逗号分开

    class A:
        y = 1
    class B(A):
        x = 2
    print B.x,B.y

    10、反射

    比较常用的应该是id()、xxxattr()那几个吧

    二、模块

    用import导入模块,也可以加as作为别名

    三、包

    package,会判断目录下有没有__init__.py

    像C#的引用第三方dll,也像js引入一些框架,功能强大,不要重复造轮子,基本日常工作上要用到的,都有人提供差不多的功能包,要善于运用

  • 相关阅读:
    20180530
    vue路由配置出错,导致页面跳转会有闪屏问题
    20180528
    vuecli+ivew项目搭建
    centos6安装mysql
    华为云服务ESC
    centos6安装nginx
    国产操作系统aarch64编译filebeat
    Python常见问题
    Git
  • 原文地址:https://www.cnblogs.com/liuyouying/p/6430932.html
Copyright © 2011-2022 走看看