找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
深拷贝和浅拷贝
# 深拷贝:拷贝出的新对象和原对象是不一样的,原文件怎么改变都不会影响深拷贝的,修改拷贝后的数据不影响元数据
# 浅拷贝:对象不一样,但是对象里面的可变元素的地址相同
# import copy
# c=[['北京多测师','成都多测师'],'上海多测师','武汉多测师']
# # s=copy.deepcopy(c)#深拷贝
# # print(s)
# # print(id(c))
# # print(id(s))#两个列表的id不一致,子列表id也会不一样
#
# #浅拷贝:藕断丝连:修改拷贝后的内容,原内容会随之改变
# list1=copy.copy(c)
# print(id(c))
# print(id(list1))
# print(id(c[0]))
# print(id(list1[0]))

# a=1
# print(id(a))#6252848
# print(type(a))
# b=2
# print(id(b))#6252880
# print(type(b))
# b=1
# print(id(b))#6252848
# print(type(b))

# 上述代码可理解为2和3是两个人,a、b分别是他们的名字,就算3这个人的名字给到2这个人,2这个人也是不会变的
# ,这里的比变指的是他们的内存中的地址;

# 类:class,用来描述具有相同属性和方法的对象的集合(可以理解为一个模板)通过它可以创建无数个具体实列
#对象:类不能直接使用,通过类产生的实例对象,类实列化就是对象
# 属性:类中的所有变量为属性
# 在python中定义类是通过class来定义(class后面接类的名称:class Xu(object)一般大写开头,
# 后面的object表示该类从那个类继承下来的,如果没有合适的类,则用object类)

#类名称的定义:
# 不要以纯数字,python中保留的字符,文件名 命名

# class xu():
#     def add(self,a,b):
#         return a+b
#     def reduce(self,a,b):
#         return a-b
#     def ride(self,a,b):
#         return a * b
#     def excrpt(self,a,b):
#         return a / b
# s=xu()
# print(s.add(2,3))
# print(s.ride(4,3))
# print(s.excrpt(2,4))
# print(s.reduce(9,3))

# class xu():
#     def __init__(self,a,b):#构造函数
#         self.a=a
#         self.b=b
#     def add(self):
#         return self.a + self.b
#     def reduce(self):
#         return self.a-self.b
#     def ride(self):
#         return self.a * self.b
#     def excrpt(self):
#         return self.a / self.b
# p=xu(4,2)
# print(p.add())
# print(p.reduce())
# print(p.ride())
# print(p.excrpt())

# class A(object):新式类:python中默认继承object类
# a=300#全局变量
# class cs():
#     a1=200#类变量
#     def __init__(self,name):#构建函数
#         self.a2=name#把形参变为实例变量
#     def A1(self):
#         print(self.a2)#调用实例变量
#         print(self.a1)#调用类变量
#         print(a)
# if __name__ == '__main__':
#     c=cs(100)
#     c.A1()

# a=300#全局变量
# class cs():
#     a1=200#类变量
#     def __init__(self,name):#构建函数
#         self.a2=name#把形参变为实例变量
#     def A1(self):
#         x=self.a1-self.a2#调用实例变量
#         print(x)#调用
#         s=self.a1/self.a2
#         print(s)
#         d=a*self.a2
#         print(d)
# c=cs(100)
# c.A1()


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册