zoukankan      html  css  js  c++  java
  • python小白学习之旅4

    此次文章写完就意味着我们进入了python的高级语法门户

    1.oop面向对象编程(objected oriented programming)

    1.1类与属性

    首先用class来创建一个类,这里说明一下类名最好运用大驼峰的写法否则在pycharm的开发环境中会出现波浪线影响美观。类中包含方法也就是用def定义的函数,在类中我们默认所有的函数第一个形参是self,他是一个能指向实例本身的应用,让实例能访问类中的属性和方法。

    class Dog():
        def __init__(self,age,name): #注意类中的函数称为方法,__init__函数是一个特殊的方法,具有第一调用的特权
            self.age = age
            self.name = name
    my_dog = Dog(18,'hw') #实例化,可以创建多个实例来进行不同意义的表达
    my_dog.name #输出实例化的name 也可以输出a

     首先我们应该明确属性就是方法里的形参,关于修改属性的值有三种方法:第一直接修改 比如:self.age = 18;第二种是通过方法修改属性; 第三种是通过通过方法进行递增

    class wife():
        def __init__(self,name,age):
            self.name = name
            self.age = 19      #此处直接修改属性值
        def Describe(self):
            personal = str(self.name)+ ' ' + str(self.age)
            print(personal.title())
        def incre_age(self,age):
            self.age +=  age
    kiss = wife('lhs',18)   #通过实例修改属性的值
    kiss.Describe()
    print('*'*20)
    kiss.incre_age(10)    #通过设立一个加10的函数实现属性的改变
    kiss.Describe()

    1.2继承

     在定义的自类名字中的括号中写入父类的名字即是继承父类,子类可以使用父类中除私有成员之外的所有成员,子类与父类效果相同的情况下优先使用子类,同时子类可以自主增加新的方法;

    继承分为单继承和多继承,意义就如字面意思;

    多态是指同一个对象在不同情况下有不同的状态出现;

    mixin设计模式主要是用来对类功能的扩展。后续跟进;

    下面介绍类属性,property(函数1,函数2,函数3,'doc文档说明'),是一种附加属性的方法:

    class Person():
        def fget(self):
            return self.name * 3
    
        def fset(self, fname):
            self.name = fname.upper()
    
        def fdel(self):
            self.name = 'noname'
    
        fname = property(fget, fset, fdel, '说明文档')
    
    
    p1 = Person()   # 第一步实例化
    p1.fname = 'lhs'  # 给属性需要赋的值
    print(p1.fname)    # 属性函数运作

     tips:在属性名钱加两个下划线__表示这是个私有变量,只能在当前类中访问 pubic指的是公开的变量属性 

    super()是一类特殊函数,用于调取父类函数中的构造函数.在python3中一般用super().方法 来调用父类的方法

  • 相关阅读:
    穷举 迭代 while
    for 循环
    switch case
    if else 语句
    数据类型
    语句的输入、输出
    控件——DataGridview
    mysql-bin.000001文件的来源及处理方法
    /var/log目录下的20个Linux日志文件功能详解
    CountDownLatch
  • 原文地址:https://www.cnblogs.com/icetree/p/11038548.html
Copyright © 2011-2022 走看看