当前位置:首页 » 编程语言 » python添加属性值

python添加属性值

发布时间: 2022-12-13 19:39:45

1. 如何用python 给CAD添加扩展属性

2012可以安装,但是需要修改安装文件。

2. Python如果一个父类已经实例化了,现在想新建一个子类,给父类的这一个实例添加两个属性,如何实现

class People(object):
def __init__(self, name, age):
self.name = name
self.age = age
class worker(People):
def __init__(self,name,age,salary):
super(worker,self).__init__(name,age)
self.salary = salary
tom = People("Tom", 22)
print type(tom).__name__
#not a safe way, but no new object
tom.__class__=worker
print type(tom).__name__
tom.salary = 250
print tom.salary
#safe way, but create a new object
workerTom = worker("Tom", 22, 200)
tom.__dict__ = workerTom.__dict__
print type(tom).__name__
print tom.salary

3. python 类属性为类时,如何进行赋值

因为b.name[0]
=
'zhang'修改的是类属性,类属性是全局的,所有的实例共享,如果想私有化,可以添加
def
__init__(
self
):
self.name
=
list(
self.name
)
就可以了.

4. python类里边给方法添加属性进列表

往列表里添加多个值可以用 extend():

classUser():

def__init__(self,first_name,last_name):
self.first=first_name
self.last=last_name

deftitl(self):
list=[]
#list.append(self.first_name)
#list.append(self.last_name)
list.extend([self.first,self.last])
print(list)

me=User('ssx','xing')
print(me.first+','+me.last)
me.titl()

5. python 新手: 已存在的object添加属性!

for obj in obj_list:
obj.c = None #直接设置属性即可

6. python怎么给子类添加属性

#请修改一下子类IceCreamStand中的代码,代码如下:
class IceCreamStand(Restaurant):
def __init__(self,name,cuisine,num_serverd,flavours = "sweet"):#重点修改行
super(IceCreamStand, self).__init__(name,cuisine,num_serverd)
self.flavours = flavours
def show_flavours(self):
print("Ice is "+self.flavours+" .")
b = IceCreamStand("冰工厂","Haagen-Dazs(哈根达斯)",25,"chocolate")
b.describe()
b.show_flavours()

7. 谈谈python中类属性和类实例的属性的区别

一般来说,在Python中,类实例属性的访问规则算是比较直观的。

但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此。

在这里,我们需要明白以下几个地方:

1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。
2.一个类定义了一个作用域。
3.类实例也引入了一个作用域,这与相应类定义的作用域不同。
4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。
5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类中定义的同名属性。

下面看一个例子,加深对上述几点的理解:

复制代码
代码如下:

class A:
cls_i = 0
cls_j
= {}
def __init__(self):
self.instance_i =
0
self.instance_j =
{}

在这里,我们先定义类A的一个实例a,然后再看看类A的作用域和实例a的作用域中分别有什么:

复制代码
代码如下:

>>> a = A()
>>>
a.__dict__
{'instance_j': {}, 'instance_i': 0}
>>>
A.__dict__
{'__init__': , '__mole__': '__main__', 'cls_i': 0, 'cls_j': {},
'__doc__': None}

我们看到,a的作用域中有instance_i和instance_j,A的作用域中有cls_i和cls_j。

我们再来看看名字查找是如何发生的:

复制代码
代码如下:

>>> a.cls_i
0
>>>
a.instance_i
0

在查找cls_i的时候,实例a的作用域中是没有它的,却在A的作用域中找到了它;在查找instance_i的时候,直接可在a的作用域中找到它。

如果我们企图通过实例a来修改cls_i的值,那会怎样呢:

复制代码
代码如下:

>>> a.cls_i = 1
>>>
a.__dict__
{'instance_j': {}, 'cls_i': 1, 'instance_i': 0}
>>>
A.__dict__
{'__init__': , '__mole__': '__main__', 'cls_i': 0, 'cls_j': {},
'__doc__': None}

我们可以看到,a的作用域中多了一个cls_i属性,其值为1;同时,我们也注意到A作用域中的cls_i属性的值仍然为0;在这里,我们其实是增加了一个实例属性,并没有修改到类属性。

如果我们通过实例a操纵cls_j中的数据(注意不是cls_j本身),又会怎么样呢:

复制代码
代码如下:

>>> a.cls_j['a'] =
'a'
>>> a.__dict__
{'instance_j': {}, 'cls_i': 1, 'instance_i':
0}
>>> A.__dict__
{'__init__': , '__mole__': '__main__',
'cls_i': 0, 'cls_j': {'a': 'a'}, '__doc__': None}

我们可以看到a的作用域没有发生什么变化,但是A的作用域发生了一些变化,cls_j中的数据发生了变化。

实例的作用域发生变化,并不会影响到该类的其它实例,但是类的作用域发生变化,则会影响到该类的所有实例,包括在这之前创建的实例:

复制代码
代码如下:

>>> A.cls_k = 0

8. Python创建空DataFrame及添加行数据

在pandas中创建一个空DataFrame的方法,类似于创建了一个空字典(dict)。
例如:zhuanempty = pandas.DataFrame({"name":"","age":"","sex":""})
想要向empty中插入一行数据,shu可以用同样的方法。
(1)首先,要创建一个DataFrame。要注意,在这里需加入index属性,new = pandas.DataFrame({"name":"","age":"","sex":""},index=["0"])。
(2)然后,开始插值。ignore_index=True,可以帮助忽略index,自动递增。
empty.append(new,ignore_index=True)
(3)最重要的,赋值给empty.
empty = empty.append(new,ignore_index=True)
否则,数据始终没有写入。

9. 为什么python中基本类型如 str int 的对象不能动态添加属性

比较简单的方式是把str和int理解为“原始数据类型”,其结构是不可以修改的。理由是,str和int是python中提供的标准数据类型,大家已经对这种数据类型的性质和用法有了普遍的共识和预定。如果硬要自己进行修改或者加上一些自定义的属性,就很容易破坏这种“共识”,进而导致程序可读性下降,甚至引入潜在的bug。
如果需要动态添加属性,就自己去定义一个专门的class,并在注释中写清楚该class可能会具有的属性,这样就显得很清楚。

10. 关于python动态添加属性和方法的意义

通过对象的实例,在外部为其添加属性,这种做法应该是很少见的。原因很简单:破坏封装。虽然Python可以做到,但并不代表随意使用这种做法是妥当的。

添加的属性可以和原有的组合使用的,有回答已经给出了例子。

我觉得有必要提一下self或者说方法的第一个参数是什么。

需要注意的是,通过实例为类属性赋值[7],会“遮盖”类属性。即,赋值只是为实例的属性赋值,而未改动类的属性。需要改动类属性的话,应该使用类名的方式。

感兴趣的话可以查查Python的Mixin,这是通过动态继承添加属性和方法的做法。

热点内容
怎么访问暗网 发布:2025-01-23 07:02:04 浏览:665
无线配置代理选什么 发布:2025-01-23 06:52:54 浏览:824
c程序汇编程序 发布:2025-01-23 06:49:42 浏览:840
cmd命令与linux命令 发布:2025-01-23 06:40:26 浏览:806
linux用户目录权限 发布:2025-01-23 06:37:49 浏览:233
学计算机避免编程 发布:2025-01-23 06:29:09 浏览:661
易语言机器人源码 发布:2025-01-23 06:24:03 浏览:320
汇编语言的编译可以叫解释吗 发布:2025-01-23 06:23:22 浏览:35
tomcat编译后的文件 发布:2025-01-23 06:05:46 浏览:254
惠普畅游人14是什么配置表 发布:2025-01-23 05:57:39 浏览:296