当前位置:首页 » 编程语言 » python编写类

python编写类

发布时间: 2022-12-27 11:02:34

⑴ 如何设计好一个python的类

理解好python类是理解面向对象的编程语言的很重要一部分。首先我们明确一下:

  • 什么是class?简单来说,class是数据和函数有逻辑的组合。所谓逻辑的组合指的是数据和class里的函数都是息息相关的。所以class “can be thought of asblueprints for creating objects”。 这里我举一个简单的例子:

  • classCustomer(object):
    """.:Attributes:name:'sname.balance:'saccount."""

    def__init__(self,name,balance=0.0):
    """*name*andstartingbalanceis*balance*."""
    self.name=name
    self.balance=balance

    defwithdraw(self,amount):
    """*amount*dollars."""
    ifamount>self.balance:
    raiseRuntimeError('.')
    self.balance-=amount
    returnself.balance

    defdeposit(self,amount):
    """*amount*dollars."""
    self.balance+=amount
    returnself.balance
  • 所以我们可以看到,class里面重要的两个元素: Attributes and Methods。因为我们需要理清楚这两者之间的关系。Attribute就是这个属于这个class 的对象的属性。比如这个例子里的名字(name)和余额(balance)。基于这些属性的对象,我们定义了方法取钱(withdraw)和存钱(deposit)。所以整个class就显得非常清晰了。

  • 除此之外,当class复杂起来的时候,我们还需要考虑比如哪些methods是static的;以及有没有必要建立abstract base class让我们去inherit。

纯手码 希望对你有帮助!

⑵ 用Python编写

classCube:
def__init__(self,length):
self.length=length

defset_color(self,color):
self.color=color

defvolume(self):
returnself.length**3,self.color


if__name__=='__main__':
test=Cube(3)
test.set_color('green')
print(test.volume())

这是简单的类的定义

⑶ 什么是python编程

Python是一门新兴的编程语言,编程语言有很多,比如C++、Java、C#、PHP、JavaScript等,Python也是其中之一,在学习Python前,我们需要对它有一定的了解。
Python支持多种编程范型,如函数式、指令式、结构化、面向对象和反射式编程。
Python解释器易于扩展,可以使用C或C++或其他可以通过C调用的语言扩展新的功能和数据类型。
Python编写的程序不需要编译成二进制代码,可以直接从源代码运行程序,在计算机内部,Python解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
语法简洁而清晰,具有丰富和强大的类库,使用Python快速生成程序的原型,然后对其中有特别要求的部分,用更合适的语言改写,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。
只有基础建牢固了,才会更利于我们以后的发展及进步,现如今Python的发展十分迅速,已经将C++语言甩在了后边,在不久的将来,可能会超过C和Java这些主流语言。

⑷ python中如何定义类

输入class ......(......处自己写):
然后在四个空格后面输入def ......(......)(建议加一个self)

⑸ python中类的组合与创建

在一个类里再嵌套多个类,叫做类的组合,组合类可以更加有条理的组合类的各种信息。
我们可以将每一个小类的构造的对象作为参数传入大类中,这样就可以通过使用 大类构造的对象.大类的属性.小类的属性 ,来访问每一个具体的属性。
我们以一台电脑为例,大类就是指计算机类其属性包含了小类:基本信息、硬件信息、操作系统信息、用户信息,而这些小类又包含了一系列具体的信息。如果我们想访问具体的属性,就需要通过组合类来实现;

这样就打印输出电脑基础信息中的品牌和型号。

computer_detail.py

computer.py

⑹ Python:编写一个Employee类

classEmployee:
firstName=''
def__init__(self,firstName,lastName,salary):
self.firstName=firstName
self.lastName=lastName
self.salary=salary
defgive_raise(self,increase=5000):
self.salary+=increase
defdisplayEmployee(self):
print("firstName:",self.firstName,",lastName:",self.lastName,",Salary:",self.salary)
defsetUp():
deftest_give_default_raise(emp):
emp.give_raise()
deftest_give_custom_raise(emp):
emp.give_raise(3000)
emp=Employee("William","Shakespeare",3000)
emp.displayEmployee()
test_give_default_raise(emp)
emp.displayEmployee()
test_give_custom_raise(emp)
emp.displayEmployee()
setUp()

⑺ python中如何定义类

一、类定义:

class <类名>:

<语句>

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性

如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象

类的私有属性:

__private_attrs两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问

在类内部的方法中使用时self.__private_attrs

类的方法

在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数

私有的类方法

__private_method两个下划线开头,声明该方法为私有方法,不能在类地外部调用

在类的内部调用slef.__private_methods

类的专有方法:

__init__构造函数,在生成对象时调用

__del__析构函数,释放对象时使用

__repr__打印,转换

__setitem__按照索引赋值

__getitem__按照索引获取值

__len__获得长度

__cmp__比较运算

__call__函数调用

__add__加运算

__sub__减运算

__mul__乘运算

__div__除运算

__mod__求余运算

__pow__称方

示例:

[python]view plain

  • #类定义

  • classpeople:

⑻ Python-类的创建和使用

创建一个宠物 Pet 类,根据该类创建的每个实例都将存储名字和物种,赋予每个宠物吃饭(eat())和睡觉(sleep())的能力:

根据类创建实例

调用方法

给上面的例子进行补充,设置一个宠物到家的初始时间默认值为 0,对某个属性设定默认值可以不提供形参。

调用一下read_time()

增加一个 update_time() 的方法,指定初始时间

调用

新增一个 increment_time() 方法,表示较初始值而言增加的时间

调用

一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

创建一个 Cat 类,继承 Pet 的属性,同时可以定义 Cat 特有的属性。

调用

如果子类中的某些属性与父类不一样,可以在子类新建方法重新定义来改写父类。

类的导入和函数的导入相同。

⑼ Python元类编程 之 new、init、call

这是一个普通的类对象,其中

类对象之于实例对象,正如元类对象之于类对象,他们之间的关系是完全相同的

我们同样可以推断出

我们不妨根据其作用来推断

我们在metaclass的init处打断点,便可以看到num:10在参数当中

当然我们也可以手动定义类对象,就像创建实例那样简单

如果按类推,DemoMeta()是调用元类的 __ call __() 。
没错,是这样,按理来说这是个无限的循环,当然实际上python解释器不会允许这样的情况。

唯一的不同是,有些动作,python帮我们自行实现了。例如定义类时,会自动执行元类的实例化。

⑽ Python写一个类,能将任意多条记录性数据写入二进制文件,能自动读出任意一条记录并解码为原始消息

importrandom
classWRB(object):
defWrite(self,Text):
withopen(r'a.text','ab')asf:
f.write((Text+' ').encode('utf-8'))
print((Text+' ').encode('utf-8'))
defRead(self):
withopen('a.text','rb')asf:
text=f.readlines()
a=random.sample(text,1)
print(a[0].decode('utf-8').strip(' '))

test=WRB()
test.Write('测试')
test.Write('测试数据2测试数据2测试数据2测试数2')
test.Read()

热点内容
给定一个算法 发布:2024-05-19 17:50:08 浏览:864
恋爱生物种离线缓存 发布:2024-05-19 17:49:15 浏览:578
卡巴斯基服务器如何连接外网更新 发布:2024-05-19 17:42:06 浏览:560
手机虚荣怎么连接服务器 发布:2024-05-19 17:41:47 浏览:730
linux修改保存文件 发布:2024-05-19 17:30:38 浏览:666
网络有你脚本 发布:2024-05-19 17:29:55 浏览:770
黎明我的世界服务器 发布:2024-05-19 17:17:34 浏览:539
雷神g50如何设置安卓原生模式 发布:2024-05-19 16:50:04 浏览:121
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:525
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:835