Python 08 ????????????

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 08 ????????????相关的知识,希望对你有一定的参考价值。

?????????return   ??????   bar   ?????????   pre   ide   detail   rip   ??????   

Python ????????????


1???????????????

2?????????????????????

3??????????????????

4???????????????

5???????????????

6???????????????????????????

7?????????


?????????????????? 

????????????????????????????????????+????????????+?????????????????????????????????????????????????????????????????? ??? ????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????? 

??????????????????(Procedural Programming)

???????????????????????????procedures?????????procedure??????????????????????????????????????????????????????????????????top-down languages??? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????? ???????????????????????????????????????

??????????????????(Object-Oriented Programming )

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????

??????class??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????variables(data)?????????????????????

?????? ???object????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????Encapsulation?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????Inheritance ???????????????????????????????????????????????????????????????????????????????????????????????????

?????????Polymorphism ???????????????????????????????????????,????????????:??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????

 1?????????????????????????????????????????????

??????????????????
 1 class dog: #dog?????????
 2     n = 123    #?????????
 3     def __init__(self,name):
 4         #????????????
 5         #?????????????????????????????????????????????
 6         self.name = name  #????????????????????????????????????????????????????????????
 7     def bulk(self):  #???????????????????????????????????????
 8         print("%s:wang wang wang !"% self.name)
 9 
10 d1 = dog("???") #d1 ??????dog????????????
11 d1.bulk()
????????????

2????????????????????????????????????????????????????????????

??????????????????
 1 #???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
 2 class dog: #dog?????????
 3     def __init__(self,name,age = 0):
 4         #????????????
 5         #?????????????????????????????????????????????
 6         self.name = name
 7         self.__age = age  #?????????????????????????????????????????????(????????????????????????????????????????????????_)
 8     def show_age(self):
 9         print("name:%s age:%s"%(self.name,self.__age))
10     def after_year(self):
11         self.__age += 1
12         print("????????????????????????")
13     def __del__(self):  #????????????
14         print(self.name)
15 r1 = dog("?????????")
16 r1.after_year()
17 r1.show_age()
View Code

????????????

1?????????

?????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????

??????????????????
1 class foo: #??????
2     def __init__(self,name,age):
3         self.name = name
4         self.age = age
5 pop1 = foo("zz",12)
6 pop2 = foo("aa",13)
7 # foo??????????????????????????????????????????pop1 = foo("zz",12)???
8 # ????????????foo??????self = poo1???pop1 = foo("zz",12) ??? pop1 = foo(por1,"zz",12)
9 # ???????????????????????????????????? pop1?????????pop1???????????????name ??? age ????????????????????????????????????
??????

?????????????????????????????????

??????????????????
class foo: #??????
    def __init__(self,name,age):
        self.name = name
        self.age = age
pop1 = foo("zz",12)

print(pop1.name,pop1.age)  #????????????????????????
????????????????????????
??????????????????
1 class foo: #??????
2     def __init__(self,name,age):
3         self.name = name
4         self.age = age
5     def detail(self):
6         print(self.name,self.age)
7 pop1 = foo("zz",12)
8 pop1.detail() #??????self????????????
??????self????????????

2?????????

??????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????
class People:
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def eat(self):
        print("%s is eating..."%self.name)
    def talk(self):
        print("%s is talking..."%self.name)
    def sleep(self):
        print("%s is sleeping..."%self.name)
class man(People):
    def __init__(self,name,age,money):
        # People.__init__(self,name,age)  #????????????????????????
        super(man,self).__init__(name,age)
        self.money = money
    def drink(self):
        print("%s is drinking..."%self.name)
    def sleep(self):
        People.sleep(self)   #??????????????????
        print("man is sleeping...")
class woman(People):
    def makeup(self):
        print("%s is makeuping..."%self.name)

m1 = man("zz",12,1)
m1.drink()
m1 .sleep()
m2 = woman("aa",10)
????????????

????????????

1???Python??????????????????????????????Java???C#???????????????????????????

??????????????????
 1 # ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
 2 # ???????????????????????????????????????????????????????????????object?????????????????????????????????????????????????????????
 3 #class People:  #?????????
 4 class People(object):   #?????????
 5     def __init__(self,name,age):
 6         self.name = name
 7         self.age = age
 8     def eat(self):
 9         print("%s is eating..."%self.name)
10     def talk(self):
11         print("%s is talking..."%self.name)
12     def sleep(self):
13         print("%s is sleeping..."%self.name)
14 class relation(object):
15     def make_friend(self,obj):
16         print("%s is making friend with %s"%(self.name,obj.name))
17 
18 class man(People,relation):
19     def __init__(self,name,age,money):
20         # People.__init__(self,name,age)  #????????????????????????
21         super(man,self).__init__(name,age)
22         self.money = money
23     def drink(self):
24         print("%s is drinking..."%self.name)
25     def sleep(self):
26         People.sleep(self)   #??????????????????
27         print("man is sleeping...")
28 class woman(People,relation):
29     def makeup(self):
30         print("%s is makeuping..."%self.name)
31 
32 m1 = man("zz",12,1)
33 w1 = woman("aa",10)
34 m1.make_friend(w1)
?????????

2???Python??????????????????????????????????????????????????????????????????????????????????????????????????????????????????

 ?????????????????? 

??????????????????
#?????????????????????????????????
class D:
    def bar(self):
        print (???D.bar???)
class C(D):
    def bar(self):
        print (???C.bar???)
class B(D):
    def bar(self):
        print (???B.bar???)
class A(B, C):
    def bar(self):
        print (???A.bar???)
a = A()
# ??????bar?????????
# ?????????A?????????????????????A???????????????????????????B??????????????????B???????????????????????????D??????????????????D???????????????????????????C?????????????????????????????????????????????
# ????????????????????????A --> B --> D --> C
# ???????????????bar??????????????????????????????????????????????????????????????????????????????????????????
a.bar()

#?????????????????????????????????
class D(object):
    def bar(self):
        print (???D.bar???)
class C(D):
    def bar(self):
        print (???C.bar???)
class B(D):
    def bar(self):
        print (???B.bar???)
class A(B, C):
    def bar(self):
        print (???A.bar???)
a = A()
# ??????bar?????????
# ?????????A?????????????????????A???????????????????????????B??????????????????B???????????????????????????C??????????????????C???????????????????????????D?????????????????????????????????????????????
# ????????????????????????A --> B --> C --> D
# ???????????????bar??????????????????????????????????????????????????????????????????????????????????????????
a.bar()

# ?????????????????????A?????????????????????A???????????????????????????B??????????????????B???????????????????????????D??????????????????D???????????????????????????C?????????????????????????????????????????????
# ?????????????????????A?????????????????????A???????????????????????????B??????????????????B???????????????????????????C??????????????????C???????????????????????????D?????????????????????????????????????????????
# ????????????????????????????????????????????????????????????????????????????????????????????????
py2???????????????????????????

???py3???????????????????????????????????????????????????

3?????????

 Pyhon?????????Java???C#?????????????????????????????????????????????????????????????????????Python???????????????????????????

???????????????????????????????????????

??????????????????
 1 class Animal(object):
 2     def __init__(self, name):  # Constructor of the class
 3         self.name = name
 4     def talk(self):              # Abstract method, defined by convention only
 5         raise NotImplementedError("Subclass must implement abstract method")
 6 
 7 class Cat(Animal):
 8     def talk(self):
 9         print(???%s: ?????????!??? %self.name)
10 
11 class Dog(Animal):
12     def talk(self):
13         print(???%s: ????????????????????? %self.name)
14 # c1 = Cat(?????????)
15 # c1.talk()
16 # d1 = Dog(?????????)
17 # d1.talk()
18 # ???????????????
19 def anmiaml(obj): #???????????????????????????
20     obj.talk()
21 c1 = Cat(?????????)
22 d1 = Dog(?????????)
23 anmiaml(c1)
24 anmiaml(d1)
??????

 ??????????????????

1???????????????

???????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????
 1 class dog(object):
 2     def __init__(self,name):
 3         self.name = name
 4     @staticmethod  #???????????????????????????????????????????????????
 5     def eat(self):
 6         print("%s is eating %s"%(self.name,"??????"))
 7 # ??????@staticmethod????????????????????????????????????????????????????????????
 8 # ??????????????????????????????????????????????????????????????????self.??????????????????????????????
 9 # ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
10 # ?????????????????????????????????????????????????????????????????????
11 d = dog("???")
12 # d.eat("??????")  ??????@staticmethod????????????
13 d.eat(d)
????????????

2????????????

????????????????????????????????????????????????

??????????????????
 1 class dog(object):
 2     name = "gou"
 3     def __init__(self,name):
 4         self.name = name
 5     @classmethod
 6     def eat(self):
 7         print("%s is eating %s"%(self.name,"??????"))
 8     def talk(self):
 9         print("%s is talking.."%self.name)
10 d = dog("???")
11 d.eat()  #gou is eating ??????  ??????????????????????????????????????????????????????
?????????

3???????????????

???????????????????????????????????????

??????????????????
 1 class dog(object):
 2     name = "gou"
 3     def __init__(self,name):
 4         self.name = name
 5         self.__food = "??????"
 6     @property  #?????????????????????????????????
 7     def eat(self):
 8         print("%s is eating %s"%(self.name,self.__food))
 9     @eat.setter     #????????????????????????
10     def eat(self,food):
11         print("set to food:",food)
12         self.__food = food
13     @eat.deleter
14     def eat(self):
15         del self.__food
16         print("????????????food???")
17     def talk(self):
18         print("%s is talking.."%self.name)
19 d = dog("???")
20 d.eat  #?????????????????????????????????????????????????????????????????????d.eat()
21 d.eat = "??????"  #????????????????????????
22 d.eat   #??? is eating ??????
23 del d.eat
24 d.eat  #??????
????????????

??????????????????????????????

??????????????????
 1 class dog(object):
 2     ???????????????????????????????????????
 3     ????????????????????????????????????????????????????????????????????????
 4     name = "gou"
 5     def __init__(self,name):
 6         self.name = name
 7     def eat(self):
 8         print("%s is eating.."%self.name)
 9     def talk(self):
10         print("%s is talking.."%self.name)
11     def __call__(self, *args, **kwargs):
12         print("run in call..",args,kwargs)
13     def __str__(self):
14         return "<obj:%s>"%self.name
15 # 1??? __doc__  ???????????????????????????
16 print(dog.__doc__)    #??????????????????????????? (?????????????????????)
17 # 2???__module__ ??????????????????????????????????????????
18 # 3???__class__  ??????????????????????????????????????????
19 print(dog.__module__)  #__main__  ??????????????????import?????????????????????????????????????????????
20 print(dog.__class__)   #<class ???type???> ?????????????????????
21 # 4???__init__ ????????????????????????????????????????????????????????????
22 # 5???__del__????????????????????????????????????????????????????????????????????????
23 # 6???__call__ ????????????????????????????????????
24 d = dog("???")
25 d(1,2,3,name = 321)   #?????????run in call.. (1, 2, 3) {???name???: 321}
26 # 7???__dict__ ????????????????????????????????????
27 print(dog.__dict__)  #????????????????????????????????????????????????????????????????????????????????????
28 print(d.__dict__)   #?????????{???name???: ?????????} ?????????????????????????????????????????????
29 # 8???__str__ ???????????????????????????__str__???????????????????????? ?????????????????????????????????????????????
30 print(d)  #?????????<obj:???>
31 # 9???__getitem__???__setitem__???__delitem__ ????????????????????????????????????????????????????????????????????????
32 class Foo(object):
33     def __getitem__(self, key):
34         print(???__getitem__???,key)
35     def __setitem__(self, key, value):
36         print(???__setitem__???,key,value)
37     def __delitem__(self, key):
38         print(???__delitem__???,key)
39 obj = Foo()
40 result = obj[???k1???]   # ?????????????????? __getitem__
41 obj[???k2???] = ???zz???   # ?????????????????? __setitem__
42 del obj[???k1???]      # ?????????????????? __delitem__
43 # 10???__new__  __metaclass__
44 class Foo(object):
45     def __init__(self,name):
46         self.name = name
47 f = Foo("zz")
48 print(type(f))  #<class ???__main__.Foo???>  ?????????obj ?????????Foo?????????
49 print(type(Foo))  #<class ???type???>   ?????????Foo???????????? type ?????????
50 # ??????Foo?????????type????????????????????????
51 # ?????????????????????????????????
52 # ????????????
53 class Foo(object):
54     def func(self):
55         print("in Foo!")
56 #????????????
57 def func(self):
58     print("in func!")
59 foo = type(???foo???,(object,), {???func???: func})
60 #type????????????????????????
61 #type????????????????????????????????????
62 #type??????????????????????????????
63 # ??? ?????? type ??????????????????
64 # ??????????????? type ?????????????????????type??????????????????????????????:
65 # ????????????????????? __metaclass__?????????????????????????????????????????????????????????????????? __metaclass__ ????????????type???????????????????????????????????????????????????
66 # ????????????????????????????????? __new__ --> __init__ --> __call__
??????????????????

????????????

????????????????????????????????????????????????????????????????????????

??????????????????
 1 def bulk(self):
 2     print("%s is bulking..."%self.name)
 3 class Dog(object):
 4     def __init__(self,name):
 5         self.name = name
 6     def eat(self):
 7         print("%s is eating..."%self.name)
 8 
 9 d = Dog("???")
10 choice = input(">>:").strip()
11 #??????eat
12 print(hasattr(d,choice)) #True
13 #hasattr???obj,name_str??? ??????????????????obj?????????????????????name_str????????????????????????
14 # print(getattr(d,choice)) #<bound method Dog.eat of <__main__.Dog object at 0x0000022F8A69C7F0>> ????????????
15 #getattr???obj,name_str??? ????????????????????????obj??????????????????????????????????????????
16 if hasattr(d,choice):
17     func = getattr(d,choice)
18     func()
19 else:
20     setattr(d,choice,bulk)
21     d.bulk(d)
22 #setattr(obj,???y???,z) ?????????????????????????????????
23 #delattr
24 delattr(d,choice)
??????

 

以上是关于Python 08 ????????????的主要内容,如果未能解决你的问题,请参考以下文章

Python Qt GUI设计:QTableViewQListViewQListWidetQTableWidgetQTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)(代码片

Python Qt GUI设计:QTableViewQListViewQListWidetQTableWidgetQTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)(代码片

如何升级到python3版本并且安装pip3及ipython3

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片

三子棋(九宫棋)游戏的实现(详细片)