Python标识符:
在 Python 中,标识符用于标识变量、函数、类、模块和其他对象的名称。
在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
Python变量的查找顺序:
step1:Local:在当前函数或代码块内定义的变量属于局部作用域。在函数内部定义的变量只能在该函数内访问,而不会影响其他函数或全局作用域中的同名变量
step2:Enclosing(封闭):如果在一个函数内部嵌套了另一个函数,那么内部函数可以访问外部函数的变量。如果内部函数引用了一个在外部函数中定义的变量,Python 会首先在封闭作用域中查找这个变量。
step3:Global(全局):全局作用域包含了模块级别的变量,也就是在脚本或模块中定义的变量。这些变量可以在模块中的任何函数中访问,但是要注意不要意外地覆盖全局变量。
step4:Built-in(内置):Python 还有一些内置的全局变量,如len()
、range()
等,以及内置函数和对象,如int
、str
等。如果在前面的三个作用域中都找不到变量,Python 将尝试在内置作用域中查找
按照这个顺序,Python 解释器会依次查找变量,直到找到第一个匹配的变量为止。如果没有找到匹配的变量,Python 将引发NameError
异常
Python的socket操作:
Python 提供了两个级别访问的网络服务:
- 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统 Socket 接口的全部方法。
- 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发
什么是 Socket?
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯
socket()函数
Python 中,我们用 socket()函数来创建套接字,语法格式如下:
socket.socket([family[, type[, proto]]])
参数
- family: 套接字家族可以使 AF_UNIX 或者 AF_INET。
- type: 套接字类型可以根据是面向连接的还是非连接分为
SOCK_STREAM
或SOCK_DGRAM
。 - protocol: 一般不填默认为 0。
socket操作: