zoukankan      html  css  js  c++  java
  • Python_day7

    • sys模块
    import sys
    
    def _add(a, b):
        return a + b
    
    def _sub(a, b):
        return a - b
    
    def _mul(a, b):
        return a * b
    
    def _div(a, b):
        return a / b
    
    def caculate(num1, num2, op):
        '''四则运算'''
        '''
        op_ls = ['+', '-', 'x', '/']
        fun_ls = [_add, _sub, _mul, _div]    
        for i in range(len(op_ls)):
            if op_ls[i] == op:
                return (fun_ls[i])(num1, num2)
        '''
        op_fun = {'+':_add, '-':_sub, 'x':_mul, '/':_div}
        for k in op_fun:
            if k == op:
                return (op_fun[k])(num1, num2)
        
    
    # print(sys.argv)
    if __name__ == '__main__':
        '''
        argv = sys.argv
        if len(argv) >= 4:
            res = caculate(int(argv[1]), int(argv[3]), argv[2])
            print('{} {} {} = {}'.format(argv[1], argv[2], argv[3], res))
        '''
        sys.exit(0) # 终止
    
        print(sys.builtin_module_names)
    • time模块
    import time
    
    # 时间戳
    tm = time.time()
    # 时间结构
    ltime = time.localtime()
    print(ltime.tm_year)
    # 时间字符串
    str_time = time.strftime("%Y-%m-%d %H:%M:%S", ltime)
    print(str_time)
    
    •   验证模块的使用
    __author__='zhang'
    
    # import pag.moduler as pm
    # from pag.moduler import _test
    from pag.moduler import * # 私有函数(_或__开头的函数)没导入
    import hw
    import sys
    
    if __name__ == '__main__':
    	print(__name__)
    	print(__doc__)
    	print(__author__)
    
    	# 得到模块的搜索路径
    	print(sys.path)
    
    	# pm._test()
    	test()
    

     导用模块的目录下应:touch __init__.py 

    import main
    
    print(main.__name__)
    print(main.__doc__)
    print(main.__author__)
    • 面向对象(oop):

      类:抽象概念,类型

      方法类中的函数称为方法;你前面学到的有关函数的一切都适用于方法,就目前而言,唯一重要的差别是调用方法的方式。__init__()是一个特殊的方法。

       对象:实际物体,类实例化对象

      属性:
      描述类---》类属性
      描述对象---》实例属性

    # 面向过程描述学生的成绩
    d = {'m':80, 'yang:88, 'zh':100, 'liu':12}
    
    # 抽象类型
    class Student(object):
        count = 0 # 类属性:类名.属性名
        def __init__(self, score): # --->构造函数:实例化对象时自动调用的
            # print('__init__ is called')
            # self : 当前对象
            self.score = score
            Student.count += 1
    
        # 实例方法
        def setName(self, name):
            if 1 < len(name) < 32:
                self.name = name
                return True
            else:
                return False
    
        def run(self):
            print('%s is running' % self.name)
    
        def __del__(self): # 析构方法:对象销毁的时候自动调用调用
            print('delete.....')
    
    # 实例化对象
    s1 = Student(100)
    # 访问对象的属性
    print(s1.score)
    s1.name = 'chenyunliang'
    print(s1.name)
    
    del s1
    
    s2 = Student(98)
    print(s2.score)
    
    # 调用方法
    s2.setName('python')
    print(s2.name)
    
    s2.run()
    
    print('学生对象有%d个'%Student.count)
    # 抽象类型
    class Student(object):
        count = 0 # 类属性:类名.属性名
        def __init__(self, score): # --->构造函数:实例化对象时自动调用的
            self.__score = score # 私有属性,只允许在本类中访问
            Student.count += 1
    
        # 实例方法
        def setName(self, name):
            if 1 < len(name) < 32:
                self.name = name
                return True
            else:
                return False
    
        def run(self):
            print('%s is running' % self.name)
    
        def getScore(self):
            self.__privateFun()
            return self.__score
    
        # 私有方法
        def __privateFun(self):
            print('private....')
    
        def __del__(self): # 析构方法:对象销毁的时候自动调用调用
            print('delete.....')
    
    # 实例化对象
    s1 = Student(100)
    # 访问对象的属性
    print(s1.getScore())
    
    # 私有属性---》解释器做了名字的修改
    print(s1._Student__score)
    
    # 私有方法
    # s1.__privateFun()
    s1._Student__privateFun()
    • 继承
      class Animal(object):
          def __init__(self, name, age=1, color='white'): # 重写
              self.name = name
              self.age = age
              self.__color = color  # _Animal__color
      
          def show(self):
              print(self.name, self.age, self.__color)
      
      
      class Dog(Animal):
          def __init__(self, name, age, breed):
              # 调用父类方法
              # Animal.__init__(self, name, age)
              # super(Dog, self).__init__(name, age)
              super().__init__(name, age)
              self.breed = breed
          
          def show(self):
              Animal.show(self)
              print('品种是%s' % self.breed)
      
      
      class Cat(Animal):
          '''
          def getColor(self):
              return self.__color # 子类中不能直接访问继承的私有属性
              # return self._Animal__color
          '''
          pass
      
      animal1 = Animal('花花')
      animal1.show()
      
      d1 = Dog('旺财', 1, '哈士奇')
      d1.show()
      
      cat1 = Cat('来福', 2, '花色')
      cat1.show()
      
      print(cat1.getColor())
  • 相关阅读:
    算法
    日常
    算法
    算法
    算法
    算法
    NaviCat连接mysql出现加密方式错误的解决方案:
    Sql sugar的使用
    报表体联查详情页面
    第一次用临时表的感受:
  • 原文地址:https://www.cnblogs.com/ZHang-/p/10115883.html
Copyright © 2011-2022 走看看