Python学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记相关的知识,希望对你有一定的参考价值。
一、类和构造函数的定义
class 类名(object):
def __init__(self,name,score):
self.name = name
self.score = score
def show_info(self):
print("name=",name,"score=",score)
类名通常大写
二、通过变量生成实例
student1 = Student("cq",100)
三、自由的为对象实例添加属性
student1 = Student("cq",100)
student1.school = "school"
四、访问权限限制
name : public的,外界可访问
__name__ :特殊的,外界可以访问
__name:私有的
_name:私有的,外界可访问,但请将其视为私有的
五、获取对象信息
type(对象)
type(123)==int
import types
type(fn) = types.FunctionType #判断是否为函数类型
type(fn) == types.BuiltinFunctionType
type(fn) == types.LambdaType
type(fn) == types.GeneratorType
isinstance(对象,类型)
dir(对象)
六、__XX__特殊方法
类似__XX__的是特殊方法,在Python中有特殊用途,例如使用len()函数时将自动调用对象中的__len__
七、动态增加实例属性
对象.属性 = 属性值
八、类属性
类属性是属于类的,可以在类中直接定义,但其实例也可以访问类属性
class Person:
name = "CQ"
def __init__(self):
pass
九、动态绑定方法
def show_info(self):
print("Hello World!")
from types import MethodTypes
s.show_info = MethodTypes(show_info(),s)
s.show_info()
十、动态绑定类方法
from types import MethodTypes
calss S(object):
pass
def show(self):
print("Hello")
s1 = S()
s1.show()
十一、限制动态添加的实例属性
Python语言支持限制可以动态添加的实例属性,通过__slots__可指定动态添加的属性
class S(object):
__solts__ = ("name","age")
十二、为类设置属性
通过使用Python内置的装饰器@property可以将方法中的变量设置为属性,@property设置于getter方法
class Student(object):
def __init__(self,name,age):
self.__name = name
self.__age = age
@property
def name(self):
return self.__name
@name.setter
def name(self,value):
self.__name = value
@proprety
def age(self):
return self.__age
本实例中将 get_name 和 set_name 合并封装为了类的属性name,并将age封装设置为了类的只读属性
以上是关于Python学习笔记的主要内容,如果未能解决你的问题,请参考以下文章