-
socket 通信? 服務(wù)端,servsr.py
import socket server = socket.socket() # 1. 新建socket server.bind(('127.0.0.1', 8999)) # 2. 綁定IP和端口(其中127.0.0.1為本機(jī)回環(huán)IP) server.listen(5) # 3. 監(jiān)聽連接 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() 相當(dāng)于 __str__查看全部 -
__str__ 雙下滑線開頭,雙下滑線結(jié)尾,就是特殊方法查看全部
-
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')
子類實(shí)現(xiàn)父類構(gòu)造方法查看全部 -
在定義繼承類的時候,有幾點(diǎn)是需要注意的: class Student()定義的時候,需要在括號內(nèi)寫明繼承的類Person 在__init__()方法,需要調(diào)用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
類屬性和實(shí)例屬性同時存在的情況下,且屬性一樣,實(shí)例屬性的優(yōu)先級高于類屬性查看全部 -
class Animal(object): localtion = 'Asia' def __init__(self, name, age): self.name = name self.age = age
location屬于類屬性,所有實(shí)例對象都可以獲得該屬性且一致 類似于java中父類屬性,子類共享查看全部 -
class Person(object): def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age
_init_ 方法,相當(dāng)于java的帶參構(gòu)造方法;self參數(shù)不能省略,但是創(chuàng)建實(shí)例的時候不需要賦值查看全部 -
創(chuàng)建類有三種方法,01. class Person : pass
;02.class Person() : pass ;03.class Persion(Object) : pass查看全部 -
有必要注意的是,返回函數(shù)和返回函數(shù)值的語句是非常類似的,返回函數(shù)時,不能帶小括號,而返回函數(shù)值時,則需要帶上小括號以調(diào)用函數(shù)。
# 返回函數(shù)
def myabs():
? ?return abs
# 返回函數(shù)值
def myabs(x):
? ?return abs(x)查看全部 -
如果要限制添加的屬性,例如,Student類只允許添加 name、gender和score 這3個屬性,就可以利用Python的一個特殊的__slots__來實(shí)現(xiàn)。
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類的屬性,這個時候在外部再次添加動態(tài)屬性age,將會報錯。
>>> student = Student('Bob', 'Male', 99)
>>> student.age = 12 # ==> 動態(tài)添加年齡age屬性
Traceback (most recent call last):
AttributeError: 'Student' object has no attribute 'age'查看全部
舉報