• python学习笔记(五)


    面向对象方法

    元组的二义性:不明确参数代表的含义

    circle=(2,4,6)
    def distance_from_origin(x,y):
    	return "返回x,y坐标"
    def edge_distance_from_origin(x,y,radio):
    	return "返回 x,y,radio"
    >>> distance_from_origin(*circle[:2])
    '返回x,y坐标'
    >>> edge_distance_from_orgin(*circle)
    '返回 x,y,radio' 

    通过使用指定的元组,解决货值元组顺序的问题以及使用元组拆分的问题

    >>> Person=collections.namedtuple("Person",'name age sex')
    >>> p=Person("tsui",18,'man')
    >>> p
    Person(name='tsui', age=18, sex='man')
    

     附加方法的实现(应避免使用两个_来头来命名方法)

    +   -->__add__()

    len -->__len__()

    -   -->__sub__()

    python中的类从object衍生而来

    子类中任何方法都可能被重写

    使用super()调用父类方法

    自定义类

    语法:

      class className:

        suite

      class className(base_classes):

        suite

    pass 代表空语句,什么也不做

    属性和方法

    Person类

    class Person:
    	def __init__(self, name="",age=0,sex="man"):
    		self.name = name
    		self.age=age
    		self.sex=sex
    
    	def __eq__(self,other):
    		return self.name==other.name and self.age==other.age and self.sex==other.sex
    		
    	def __str__(self):
    		return "{0.x!r},{0.y!r}".format(self)
    
    	def Speak(self):
    		print("{0.name} say i'm {0.age} ".fromat(self))
    

      

    import Animal
    
    a=Animal.Person(name="hiuyeung",age=18,sex="man")
    if a.name=="hiuyeung":
    	print(" good guy !")
    else:
    	print(" bad guy !")
    

    在对方法进行调用时,python会自动提供一个参数,对对象本身的引用self,所有对象属性都必须由self进行限定。

    对象创建过程

    1,调用__new__(),(自身的或者父类的)

    2,调用__init__()

  • 相关阅读:
    LWE Open Question
    Lattice Problem
    Small Program about Error Distribution
    Photon Server伺服务器在LoadBalancing的基础上扩展登陆服务
    Photon PUN 三 RPCs & RaiseEvent
    Photon PUN 二 大厅 & 房间
    Photon PUN 一 介绍
    通用麻将胡牌算法
    一款麻将小游戏的准备工作
    ABC203
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/6897581.html
Copyright © 2020-2023  润新知