-
socket 通信? 服務端,servsr.py
import socket server = socket.socket() # 1. 新建socket server.bind(('127.0.0.1', 8999)) # 2. 綁定IP和端口(其中127.0.0.1為本機回環IP) server.listen(5) # 3. 監聽連接 s, addr = server.accept() # 4. 接受連接 print('connect addr:{}'.format(addr)) content =s.recv(1024) print(str(content, encoding='utf-8')) # 接受來自客戶端的消息,并編碼打印出來 s.close()查看全部 -
pip install django查看全部
-
class Class:
def __init__(self, students):
??? self.students = students
def __len__(self):
????? return len(self.students)
students = ['Alice', 'Bob', 'Candy']
class_ = Class(students)
len(class_) # ==> 3查看全部 -
num = 12 str(num) # ==> '12'
str() 相當于 __str__查看全部 -
__str__ 雙下滑線開頭,雙下滑線結尾,就是特殊方法查看全部
-
class A(object): def __init__(self, a): print ('init A...') self.a = a class B(A): def __init__(self, a): super(B, self).__init__(a) print ('init B...') class C(A): def __init__(self, a): super(C, self).__init__(a) print ('init C...') class D(B, C): def __init__(self, a): super(D, self).__init__(a) print ('init D...')
多重繼承查看全部 -
class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score class Teacher(Person): def __init__(self, name, gender, course): super(Teacher, self).__init__(name, gender) self.course = course p = Person('Tim', 'Male') s = Student('Bob', 'Male', 88) t = Teacher('Alice', 'Female', 'English')
子類實現父類構造方法查看全部 -
在定義繼承類的時候,有幾點是需要注意的: class Student()定義的時候,需要在括號內寫明繼承的類Person 在__init__()方法,需要調用super(Student, self).__init__(name, gender),來初始化從父類繼承過來的屬性查看全部
-
私有屬性是以雙下劃線'__'開頭的屬性查看全部
-
class Animal(object): localtion = 'Asia' def __init__(self, name, age, localtion): self.name = name self.age = age self.localtion = localtion
類屬性和實例屬性同時存在的情況下,且屬性一樣,實例屬性的優先級高于類屬性查看全部 -
class Animal(object): localtion = 'Asia' def __init__(self, name, age): self.name = name self.age = age
location屬于類屬性,所有實例對象都可以獲得該屬性且一致 類似于java中父類屬性,子類共享查看全部 -
class Person(object): def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age
_init_ 方法,相當于java的帶參構造方法;self參數不能省略,但是創建實例的時候不需要賦值查看全部 -
創建類有三種方法,01. class Person : pass
;02.class Person() : pass ;03.class Persion(Object) : pass查看全部 -
有必要注意的是,返回函數和返回函數值的語句是非常類似的,返回函數時,不能帶小括號,而返回函數值時,則需要帶上小括號以調用函數。
# 返回函數
def myabs():
? ?return abs
# 返回函數值
def myabs(x):
? ?return abs(x)查看全部 -
如果要限制添加的屬性,例如,Student類只允許添加 name、gender和score 這3個屬性,就可以利用Python的一個特殊的__slots__來實現。
class Student(object):
? ?__slots__ = ('name', 'gender', 'score')
? ?def __init__(self, name, gender, score):
? ? ? ?self.name = name
? ? ? ?self.gender = gender
? ? ? ?self.score = score使用__slots__ = ('name', 'gender', 'score') 限定Student類的屬性,這個時候在外部再次添加動態屬性age,將會報錯。
>>> student = Student('Bob', 'Male', 99)
>>> student.age = 12 # ==> 動態添加年齡age屬性
Traceback (most recent call last):
AttributeError: 'Student' object has no attribute 'age'查看全部
舉報