-
实例方法 就是在类中定义的函数, 实例方法的第一个参数永远都是self
self 指向调用该方法的实例对象本身
实例对象 具体化的类
查看全部 -
定义类 class className()
类实例话 a = className()
查看全部 -
偏函数指的就是“创建一个调用另外一个部分参数或变量已经预置的函数”的函数的用法,如上所示,int()函数的base参数,没有指定的时候,默认是以十进制工作的,当指定base=2的时候,int2实际上就变成了部分参数(base)已经预置了的偏函数。
functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。
查看全部 -
匿名函数使用lambda定义:lambda x: x * x,就可以完成原来显式定义的f(x)函数的功能,冒号前面的x表示匿名函数的参数,后面的是一个表达式,匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
查看全部 -
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
查看全部 -
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
查看全部 -
sorted接受key参数,用来指定排序的字段,key的值是一个函数,接受待排序列表的元素作为参数,并返回对应需要排序的字段。因此,sorted()函数也是高阶函数。
查看全部 -
和map函数一样,reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map() 类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
查看全部 -
类方法可以访问类属性
类方法有专门的标签@classmethod
类方法可以通过set函数修改类属性
查看全部 -
不能被外部访问的属性称为私有属性。私有属性是以双下划线'__'开头的属性。
可从类内部访问,私有属性是为了保护类或实例属性不被外部污染而设计的。
查看全部 -
在类属性和实例属性同时存在的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。
当实例没有和类同名的时候,通过实例对象,依然可以访问到类属性。
过实例是无法修改类的属性的
查看全部 -
实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。
类属性也是可以动态添加和修改的
查看全部 -
实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。
类属性也是可以动态添加和修改的
查看全部 -
实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。
类属性也是可以动态添加和修改的
查看全部 -
在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用
__init__() 方法的第一个参数必须是 self
定义类后,就可以相应的实例化对象了,需要注意的是,在实例化的时候,需要提供除self以外的所有参数。
查看全部 -
HTTP服务器是一种特殊的Socket服务器,它在网络连接之上,定义了HTTP协议,使得网页、手机H5等数据,都可以以标准的HTTP协议进行传输。
Python提供了简易的HTTP服务器,可以直接运行起来。
在终端,输入这条命令,就可以启动一个HTTP服务器。python -m http.server
启动成功后,会输出以下信息:
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
提示HTTP服务器在本机8000端口运行,接着就可以在浏览器输入http://127.0.0.1:8000看到由这个服务器提供的网页。
这个HTTP服务器会把运行目录的所有文件列出来,并提供下载功能。
任务:
# Python自带的HTTP服务器,默认的端口为8000端口,同时默认的目录是当前终端启动运行的目录,请启动Python自带的HTTP服务器,指定端口为9999,并指定目录路径为C:/。
python -m http.server 9999 -d C:/
查看全部 -
进行网络通信,需要建立起通信双方的连接,连接的双方分别称为客户端和服务端,在Python中,使用套接字socket来建立起网络连接。
套接字包含在socket模块中:
import socket socket.socket()
服务端使用socket建立连接需要四个步骤:
1. 新建socket
2. 绑定IP和端口(bind)
3. 监听连接(listen)
4. 接收连接(accept)
客户端使用socket建立连接需要两个步骤:
1. 新建socket
2. 连接服务端(connect)
网络连接上以后,客户端和服务端就可以进行数据通信了,套接字通过send()函数发送数据,通过recv()函数接收数据。
# server.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()
# client.py import socket client = socket.socket() # 1. 新建socket client.connect(('127.0.0.1', 8999)) # 2. 连接服务端(注意,IP和端口要和服务端一致) client.send(bytes('Hello World. Hello Socket', encoding='utf-8')) # 发送内容,注意发送的是字节字符串。 client.close()
接着在一个终端先运行服务端:
python server.py
然后再在另外一个终端运行客户端:
python client.py
在服务端的终端,将会输出以下信息:
connect addr:('127.0.0.1', 50382) b'Hello World. Hello Socket'
查看全部 -
网络编程:
查看全部
举报