博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类中的变量
阅读量:4356 次
发布时间:2019-06-07

本文共 1146 字,大约阅读时间需要 3 分钟。

类变量和类的属性:
如下代码所示:
x=1 class Test:       x = 1       def __init__(self):            self.y = 2       def create():          j=1

x即为类Test的变量,各个Test的实例中的x都是一样的,而y为Test的属性,每个Test实例的y都是独立的。

类中的变量:

a.全局变量:在模块内,在所有函数外又在class外面,就是全局变量。就如class 外的x

b.局部变量:在函数内,在函数内或在class的方法内(未用self修饰的),这是局部变量。在上面就是变量j

c.静态变量:在class内,但是不在class的方内。就是上面的class中的x

d.实例变量:在class的方法内,用self修饰过的,就是self.y

 

类和对象的命名空间

这里需要简单了解一下python的命名空间。

python中,命名空间是名字到对象映射的结合,不同命名空间中的名字是没有关联的。这种映射的实现有点类似于python中的字典

根据上下文的不同,可以通过"."或者是直接访问到命名空间中的名字。举个例子

class MyClass(object):    # 在类的命名空间内,不需要用"."访问    class_var = 1        def __init__(self, i_var):        self.i_var = i_var## 不在类的命名空间内,需要用"."访问MyClass.class_var## 1

python中,类和对象都有自己的命名空间,可以通过MyClass.__dict__是输出类的数据属性和函数属性(以字典的形式)

a = MyClass(3)

 

a.__dict__

是输出对象的属性 。

关键点:类无法访问对象实例的属性,但对象可以访问类属性(类变量)

 

关于初始化__init__()方法:

 

1.先产生一个空对象

2.类调用__init(空对象,参数)

 

 

 在python3中:一切皆对象

l1=[1,2,3]l1.append(4)print(l1)l=list([3,4,5,6])l.append(11)print(l)

 

结果:

[1, 2, 3, 4][3, 4, 5, 6, 11]

l1直接定义,默认append方法。而按照实例的模式list()。对象l也默认append方法。

print(list) print(type([1,3])) 结果:

<class 'list'>

<class 'list'>

 

转载于:https://www.cnblogs.com/z18271397173/p/9126273.html

你可能感兴趣的文章
Tool
查看>>
5.__魔法方法__开会喽
查看>>
Word2013代码高亮插件使用
查看>>
什么是SDN(软件定义网络)(转载)
查看>>
二叉树的广度优先遍历、深度优先遍历的递归和非递归实现方式
查看>>
docker-compose部署kafka
查看>>
IOS中NSUserDefaults的用法(轻量级本地数据存储)
查看>>
cms项目技术心得!
查看>>
Camera Binning Mode
查看>>
Django模板系统
查看>>
位(Bit)与字节(Byte)
查看>>
关于两次指针(struct型)传参数的问题
查看>>
自己制作Linux镜像,CentOS 6.5 Docker自制CentOS镜像
查看>>
linux配置scp交互传输,Linux间传输文件的几种方法scp、sftp
查看>>
linux安装nginx映射目录,centos8自定义目录安装nginx(教程详解)
查看>>
linux cpu scheduler,A Temporal Partition-Based Linux CPU Scheduler
查看>>
c语言怎么写最小公倍数的函数,C语言 · 最小公倍数
查看>>
c语言中的头文件string.h的作用,C语言常用头文件及库函数——string.h
查看>>
c语言字符-1代表什么,玩儿转C语言:符号和字符(1)
查看>>
知道商洛学院c语言章节答案,C语言程序设计(商洛学院)知到章节答案
查看>>