当前位置:首页>开发>正文

python是不是面向对象编程语言 python面向对象编程作业

2023-04-19 12:05:14 互联网 未知 开发

 python是不是面向对象编程语言 python面向对象编程作业

python是不是面向对象编程语言

面向程面象种编程思想能说某某语言面象或面向程某某语言否支持面象或面向程归主题python支持面象支持面向程即使支持面向象语言比c语言用面象思想写程序理解面象模块化恰巧python做点自编写函数文件用import引用模块即使使用class定义类实现面象思

python面向对象编程作业

import re
class derivative:
    def __init__(self,s):
        self.s= s if s[0] not in [ ,-] else s

    def __analysis__(self):
        self.ite=list(re.finditer([ -],self.s))

        self.items=[x for x in re.split(r[ -],self.s) if x!=]
        self.pm=[self.s[i.span()[0]] for i in self.ite]
        self.var=[k[k.find(^)-1] for k in self.items if k.find(^)>-1][0]

        self.ratio=[]
        self.power=[]

        for item in self.items:
            j=item.find(^)
            k=item.find(self.var)
            if j>-1:
                self.power.append(int(item[j 1]))
            elif k>-1:
                self.power.append(1)
            else:
                self.power.append(0)

        for item in self.items:
            k=item.find(*)
            if k>-1:
                self.ratio.append(int(item[k-1]))
            elif item.find(self.var)>-1:
                self.ratio.append(1)
            else:
                self.ratio.append(int(item))

        self.items=[t[1] for t in sorted(list(zip(self.power,self.items)),reverse=True)]
        self.ratio=[t[1] for t in sorted(list(zip(self.power,self.ratio)),reverse=True)]
        self.pm=[t[1] for t in sorted(list(zip(self.power,self.pm)),reverse=True)]
        self.power.sort(reverse=True)

    def __derivative__(self):
        power=[x-1 if x>1 else 0 for x in self.power]
        ratio=[]
        for i in range(len(self.power)):
            if self.power[i]>1:
                ratio.append(self.power[i]*self.ratio[i])
            elif self.power[i]==1:
                ratio.append(self.ratio[i])
            else:
                ratio.append(0)

        items=[]
        for i in range(len(self.power)):
            if ratio[i]==0:
                continue
            item=self.pm[i]

            if ratio[i]>0:
                item =str(ratio[i])
            if power[i]>0:
                item =* self.var
            if power[i]>1:
                item =^ str(power[i])
            items.append(item)

        self.out_s=.join(items)
        if self.out_s[0] ==  :
            self.out_s=self.out_s[1:]

    def der(self):
        self.__analysis__()
        self.__derivative__()
        return self.out_s
s=2*x^3 3*x^2 5*x 1
d=derivative(s)
print(d.der())
s=-5*x^6-3*x^3 12-4*x^4
d=derivative(s)
print(d.der())“不恰当的输入”不知道要处理什么级别的错误,所以没搞。自己根据需求去搞吧。

Python中面向对象是什么意思?

Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。比如说C主要面向过程,而JAVA主要面向对象。

Python 是否支持对象之间的组合关系?

# 由一堆组件构成一个完整的实体,组建本身独立,但又不能自己运行,必须跟宿主组合在一起,运行。class Dog: #狗
def __init__(self,name,dog_type,attack_val):
self.name = name #姓名
self.dog_type = dog_type #种类
self.attack_val = attack_val #攻击力
self.life_val = 100 #生命值class Person: #人
def __init__(self,name,sex,attack_val):
self.name = name #姓名
self.sex = sex #种类
self.attack_val = attack_val #攻击力
self.life_val = 100 #生命值
self.weapon = Weapon() #直接实例化武器类

def attack(self,obj,weapon_name,weapon_val):
agg = weapon_val self.attack_val #人的攻击力等于自身攻击力加上武器的攻击之和
life_val = obj.life_val - agg #狗的生命值减去人的攻击力,得到狗的剩余生命
print({}使用{}攻击了{},{}损失{}点生命值,剩余生命值{}.format(self.name,weapon_name,obj.name,obj.name,weapon_val,life_val))class Weapon: #武器

def stick(self): #打狗棒
self.name = 打狗棒
self.attack_val = 25 return self.name,self.attack_val def knife(self,obj): #屠龙刀
self.name = 屠龙刀
self.attack_val = 40 def gun(self,obj): #AK47
self.name = AK47
self.attack_val = 40d = Dog(小黑,哈士奇,20) #小黑p = Person(wdc,男,30) #wdcweapon_name,weapon_val = p.weapon.stick() #使用对象p执行武器类中的方法:这里选择的武器是stick()方法下的"打狗棍"p.attack(d,weapon_name,weapon_val) #执行p对象下的attack(攻击)方法,人攻击狗(狗的对象,武器名称,武器攻击力)

C 和python相比哪一个更加面向对象

python。

python就是以面向对象的思想设计的
C 是C的扩展,同时支持面向过程和面向对象
面向对象的特征他们都有,所以我不知道该如何来进行你需要的这个比较
并且一个是直译型语言,一个是编译型语言,两者从编写方式来讲就存在很大区别

如果一定要做一个选择的话,我会选择python,因为在python里面没有简单类型,所见皆是对象。

最新文章

随便看看