joinose
导航
BlogJava
首页
新随笔
联系
聚合
管理
统计
随笔 - 30
文章 - 0
评论 - 24
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
Argox(1)
(rss)
Java(1)
(rss)
My Favorites(2)
(rss)
My news(3)
(rss)
Python(13)
(rss)
Ruby(5)
(rss)
Sqlite(2)
(rss)
随笔档案
2011年1月 (1)
2010年3月 (2)
2007年6月 (2)
2007年4月 (2)
2007年3月 (1)
2006年9月 (2)
2006年7月 (1)
2006年6月 (4)
2006年5月 (5)
2006年4月 (10)
搜索
最新评论
1. re: [FAQ]Sqlite中有没有像Oracle中的decode函数一样的功能?[未登录]
asdasdasdasdasdasdasda
--123
2. re: [FAQ]Sqlite中有没有像Oracle中的decode函数一样的功能?
laji
--afds
3. re: [FAQ]Sqlite中有没有像Oracle中的decode函数一样的功能?[未登录]
看不见啊
--aaa
4. re: 让你的网站支持淘宝搜索(完整版)
楼主 爱死你了!
--注解
5. re: [FAQ]Sqlite中有没有像Oracle中的decode函数一样的功能?
感谢!!
--Sunix
阅读排行榜
1. [FAQ]Sqlite中有没有像Oracle中的decode函数一样的功能?(3807)
2. [病毒提示]smss.exe病毒(3783)
3. [FAQ]Sqlite中如何返回本地化当前时间?(3196)
4. [Q&A]do是什么意思?(2107)
5. [Interest]ClinicOS(03):数据库设计与SQLite初体验(1449)
评论排行榜
1. [FAQ]Sqlite中有没有像Oracle中的decode函数一样的功能?(5)
2. [Q&A]do是什么意思?(4)
3. [病毒提示]今晚有人黑我(3)
4. TestCase内部方法之间如何实现调用?(2)
5. [病毒提示]smss.exe病毒(2)
[FAQ]如果我想在同一个类中共用一个变量,但不希望子类继承,该怎么办呢?
问:如果我想在同一个类中共用一个变量,但不希望子类继承,该怎么办呢?
答:那就在类中将这个变量加上global修饰符,
示例代码中:
1)x可被类parent内部使用,但不能被子类调用
2)y的作用域只是在parent.__init__方法内
3)z可被类parent内部使用也可被子类调用
示例代码如下:
testGlobal.py
1
#
!/usr/bin/python
2
#
-*- coding: utf-8 -*-
3
#
Filename: testGlobal.py
4
#
Author : 水晶鱼
5
#
Date : 2006-06-08
6
class
parent:
7
global
x
#
这就是只能供类内部使用的变量,子类不能访问
8
x
=
'
xxxx
'
#
注意:赋值与定义要分开写
9
def
__init__
(self):
10
y
=
'
yyyy
'
11
self.z
=
'
zzzz
'
12
def
test(self):
13
print
"
test.x=
"
+
x
14
15
class
child(parent):
16
def
__init__
(self):
17
parent.
__init__
(self)
18
19
if
__name__
==
'
__main__
'
:
20
#
试图访问实例中的x
21
p
=
parent()
22
try
:
23
print
p.x
24
except
:
25
print
"
1.不能直接访问实例中的global变量
"
26
27
#
可以供类中其它方法访问:
28
print
'
2.通过test方法才可以访问x:
'
,
29
p.test()
30
31
c
=
child()
32
#
试图访问父类中的变量----x,结果是:失败
33
try
:
34
print
c.x
35
except
:
36
print
"
3.不能访问父类中的global变量
"
37
38
print
"
4.但可以通过父类中的test方法得到:
"
,
39
c.test()
40
41
print
"
5.可以访问父类中的self变量
"
,c.z
示例代码输出结果为:
C:\Documents and Settings\Administrator\桌面>testGlobal.py
1.不能直接访问实例中的global变量
2.通过test方法才可以访问x: test.x=xxxx
3.不能访问父类中的global变量
4.但可以通过父类中的test方法得到: test.x=xxxx
5.可以访问父类中的self变量 zzzz
posted on 2006-06-08 18:08
水晶鱼
阅读(241)
评论(0)
编辑
收藏
所属分类:
Python
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
[MyDemo]鼠标事件演示程序
[FAQ]如果我想在同一个类中共用一个变量,但不希望子类继承,该怎么办呢?
[FAQ]怎样探测一个变量是否存在?
[Interest]ClinicOS(10):病历组合查询
[Interest]ClinicOS(09):当天登记信息一览表
[Interest]ClinicOS(08):病人资料修改
[Interest]ClinicOS(07):病人资料登记
[Interest]ClinicOS(06):主界面
[Interest]ClinicOS(05):登录模块
[Interest]ClinicOS(04):PySQLite连接SQLite