python进阶1
2021/12/4 17:17:06
本文主要是介绍python进阶1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、python中的标识符: 1)第一个字符必须是字母表中字母或下划线 _ 。 2)标识符的其他的部分由字母、数字和下划线组成。 3)标识符对大小写敏感。 4)不可以是python中的关键字,如False、True、None、class等。 注意:self不是python中的关键字。类中参数self也可以用其他名称命名,但是为了规范和便于读者理解,推荐使用self。
2、参数: 一般在定义函数的时候,我们可能不知道也不限制参数的数量,这个时候就可以用*args、**kwargs,*args表示参数在被传入的时候自动组装为一个元组,**kwargs要用=连接键和值。 例如: def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw) >>> person('Bob', 35, city='Beijing') name: Bob age: 35 other: {'city': 'Beijing'} a、b是位置参数,除了位置参数、变长参数、关键字参数外,还有默认参数、命名关键字参数
3、元组的定义: 正确:(1, ),(1,2 ),(1, 2,(2,3)) 错误:(1)——>(1)会被python认为是int类型,所以必须是(1,) >>> print(type((1,))) <class 'tuple'> >>> print(type((1))) <class 'int'>
4、装饰器定义:返回函数名or函数 如果外层函数返回的是一个函数名的话,运行结果应该是:正在装饰 如果外层函数返回的是函数调用的话,运行结果是:正在装饰 正在验证权限 def w1(): print('正在装饰') def inner(): print('正在验证权限') return inner() w1()
5、类型判断: isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 issubclass() 函数用于判断参数是否是类型参数的子类。 EG: class A(object): pass class B(A): pass b = B() 结论: isinstance(b, A) == True issubclass(B, A) == True issubclass(b, B) == True isinstance(b, object) == False
6、python中__new__和__init__的区别 (1)__init__ 方法为初始化方法, __new__方法才是真正的构造函数。 (2)__new__方法默认返回实例对象供__init__方法、实例方法使用。 (3)__init__ 方法为初始化方法,为类的实例提供一些属性或完成一些动作。 (4)__new__ 方法创建实例对象供__init__ 方法使用,__init__方法定制实例对象。 (5)__new__是一个静态方法,而__init__是一个实例方法。
7、静态方法和非静态方法: 1、静态方法属于类所有,类实例化前即可使用; 2、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员; 3、因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存; 4、static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类; 5、静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁; 6、静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
8、python socket sk.recv(bufsize[,flag]):接受套接字的数据。数据以字符串形式返回,bufsize指定最多可以接收的数量。flag提供有关消息的其他信息,通常可以忽略。 sk.recvfrom(bufsize[.flag]):与recv()类似,但返回值是(data,address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。 sk.getsockname():返回套接字自己的地址。通常是一个元组(ipaddr,port) sk.connect(address):连接到address处的套接字。一般,address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。 sk.listen(backlog):开始监听传入连接。backlog指定在拒绝连接之前,可以挂起的最大连接数量。
这篇关于python进阶1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python