-
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'查看全部
举报