| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6664 人关注过本帖
标题:python 例
只看楼主 加入收藏
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
每个Python模块都有它的__name__ 属性,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作.

程序代码:
#!/usr/bin/python
# Filename: using_name.py

if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module'


[ 本帖最后由 madfrogme 于 2012-9-2 12:40 编辑 ]

The quieter you become, the more you can hear
2012-09-01 11:28
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
你可以使用内建的dir()函数来列出模块定义的标识符。标识符有函数、类和变量。

>>> import sys
>>> dir(sys)

['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
>>>

The quieter you become, the more you can hear
2012-09-01 22:36
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
对list 的操作

>>> shoplist = ['apple', 'mango', 'carrot', 'banana']
>>> shoplist.append('rice)
>>> shoplist.sort()
>>> del shoplist[0]
>>> shoplist.count('apple')            看apple出现的次数
>>> shoplist.reverse()                    反转list

The quieter you become, the more you can hear
2012-09-02 11:10
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
元组  和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。
程序代码:
>>> zoo = ('wolf', 'elephant', 'penguin')
>>> new_zoo = ('monkey', 'elephant',zoo)
>>> print len(new_zoo)
3
>>> print new_zoo[2][2]
penguin
>>> 


[ 本帖最后由 madfrogme 于 2012-9-2 12:41 编辑 ]

The quieter you become, the more you can hear
2012-09-02 11:39
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
含有单个元素的元组就不那么简单了。你必须在第一个(唯一一个)项目后跟一个逗号
singleton = (2 , )

元组最通常的用法是用在打印语句中
print '%s is %d years old' % (name, age)

The quieter you become, the more you can hear
2012-09-02 11:45
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
字典的基本用法
程序代码:
#!/usr/bin/python

ab = {  'wzj'   :   'madfrogme@',
        'Larry' :   'larry@'
     }

print "wzj's address is %s" % ab['wzj']

ab['Guido'] = 'guido@'

del ab['Larry']

for name, address in ab.items():

    print "Contact %s at %s" % (name, address)

if 'Guido' in ab:

    print "Guido's address is %s" % ab['Guido']


$ ./ab.py
wzj's address is madfrogme@

Contact wzj at madfrogme@

Contact Guido at guido@

Guido's address is guido@


[ 本帖最后由 madfrogme 于 2012-9-2 14:24 编辑 ]

The quieter you become, the more you can hear
2012-09-02 13:22
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。你一定很奇怪Python如何给self赋值以及为何你不需要给它赋值。举一个例子会使此变得清晰。假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了.

The quieter you become, the more you can hear
2012-09-03 22:35
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
我们使用class语句后跟类名,创建了一个新的类。这后面跟着一个缩进的语句块形成类体。在这个例子中,我们使用了一个空白块,它由pass语句表示。
使用类名后跟一对圆括号来创建一个对象/实例
程序代码:
 
class Person:
    pass # 空语句

p = Person()    # 建立一个实例
print p

$ ./test.py
<__main__.Person instance at 0x109cec170>
存储对象的计算机内存地址也打印了出来

The quieter you become, the more you can hear
2012-09-04 08:44
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
类/对象可以拥有像函数一样的方法,这些方法与函数的区别只是一个额外的self变量
程序代码:
class Person:
       def sayHi(self):
              print 'Hello, how are you?'

p = Person()
p.sayHi() # 还可以被写成Person().sayHi()

注意sayHi方法没有任何参数,但仍然在函数定义时有self

The quieter you become, the more you can hear
2012-09-04 08:53
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
__init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。__init__方法类似于C++、C#和Java中的 constructor 。
程序代码:
class Person:
    def __init__(self, name):
        self.name = name
    def sayHi(self):
        print 'Hello, my name is', self.name

p = Person('Wang')
p.sayHi()


$ ./t.py
Hello, how are you? Wang

The quieter you become, the more you can hear
2012-09-04 23:34
快速回复:python 例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016111 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved