跳至主要内容

Python学习笔记20100117

映射list
 
Dictionary 是用{}. list 是一那个[]. turple是用()
当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来
当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list.
链接与分割字符串的
li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)
 
自省 <---这是啥
之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。
下载该脚本s,然后上传至指定位置。
>>>import sys
>>>sys.path
>>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。
删除
>>>sys.path.pop()
定义一个参数是 def info(test, test1=10.test2=12):
info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值
 
以上是外部函数的调用,下面转到内部函数
内部函数有type,str,dir及其他
 
---type
返回任意字符的类型,模块也可以。types模块
>>> type(1)
<type 'int'>
>>> li=[]
>>> type(li)
<type 'list'>
>>> import odbchelper
>>> type(odbchelper)
<type 'module'>
>>> type(sys)
<type 'module'>
>>> import types
>>> type(odbchelper) == types.ModuleType
True
 
 
---str
str将强制转换字符串
>>> str(horsemen)
"['war', 'pestilence', 'famine', 'testing']" <---这个是一个字符串""
>>> str(odbchelper)
"<module 'odbchelper' from '/home/xtuulei/py/odbchelper.py'>"
str 还允许作用于模块。注意模块的字符串形式表示包含了模块在磁盘上的路径名,所以你的显示结果将会有所不同。
>>> str(None) ---书上说这个很重要,对空值的使用
'None'
 
---dir
相比较而言,不是很熟这个,但是貌似可以列出来所有li,d,funcation所包含的key
--callable
 
type、str、dir 和其它的 Python 内置函数都归组到了 __builtin__
你可以在其中使用
>>>form apihelper import info
>>>import __builtin__
>>>info(__buitin__)
 
---getattr
>>getattr(li,"pop")
该语句也是返回 pop 方法的引用,但是此时,方法名称是作为一个字符串参数传递给 getattr 函数的。getattr 是一个有用到令人无法致信的内置函数,可以返回任何对象的任何属性。
>>>getattr(li,"append")("Moe")
>>>li
getattr 的返回值 是 方法,然后你就可以调用它就像直接使用 li.append("Moe") 一样。但是实际上你没有直接调用函数;只是以字符串形式指定了函数名称。
getattr 也可以作用于字典
getattr 不仅仅适用于内置数据类型,也可作用于模块
 
getattr也可以做为一个分发者
getattr作为一个分发者的实例
statsout是附带的脚本,里面已经定义了output_html,output_xml,output_text
 
import statsout
def output(data, format="text"):
    output_function = getattr(statsout, "output_%s" % format, statsout.output_text)
    return output_function(data)
output_function第三个参数是被定义为缺省参数,在调用 getattr 时添加了第三个参数。第三个参数是一个缺省返回值,如果第二个参数指定的属性或者方法没能找到,则将返回这个缺省返回值
 

--
Alex Tu
-----------------------------------------------------------
ShangHai,China

评论

此博客中的热门博文

mod

apache安装后,如果想再添加模块,往往不想重新安装一次,再者,我在安装中发现,并不是安装文件中所有的modules都会被默认安装,即使在安装中使用了 ./configure --prefix=/usr/local/apache --enable-so --enable-modules=all --enable-mods-shared=all也是如此。我使用上述方法安装的apache2.2.6就没有安装proxy相关模块。这时,需要手工生成so文件,但会自动的被复制到你的apache安装目录的modules中,然后修改apache的配置文件,加载相关模块,验证apache配置并重启服务即可。以上描述的具体操作步骤如下: 操作系统:linux redhat 4.5 ES apache版本:2.2.6 可自行下载tar包 1. 拷贝安装包到/usr/local,并在目标目录下进行解压。[root@localhost local]# cd /usr/local[root@localhost local]# tar -zxvf httpd-2.2.4.tar.gz2. 配置安装参数,安装的目标目录为/usr/local/apache,建议设置enable-mods-shared=all,不用的module注释掉就行了![root@localhost local]# cd httpd-2.2.4[root@localhost httpd-2.2.4]# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all3. 编译并安装。[root@localhost httpd-2.2.4]# make[root@localhost httpd-2.2.4]# make install4. 启动Apache,并测试。[root@localhost httpd-2.2.4]# cd /usr/local/apache/bin[root@localhost bin]# ./apachectl start 打开浏览器,并在地址栏中输入主机的IP地址如 http://192.168.1.254/ 如果出现以下画面则说明安装成功。It works! 注意:安装完成后检查系统服务中的HTTPD服务是否已...

繁忙的周末

回了杭州,周五跟老爹吃夜宵,周六跟一群人玩,好乐迪9折加对折,然后夜宵,长肉。 跟老妈逛街。。花了我一千大洋,买了2件外套了受不了了。 结果。。唉。。去赶火车结果没坐上,改签,跟老妈发脾气。。让我多睡了10分钟结果拉下了火车。 然后做七点四十七的车,一路出战一路狂奔赶地铁。。 终于赶上了。 真不容易,还是要提早啊

Words

给自己的嘴巴安上一把锁,不要试图讲出全部的想法。培养低调和富有感染力的言谈。说话的方式比内容更为重要。 少作承诺,并保证它们的信誉。一旦作出承诺,无论付出多大代价都要履行。 永远不要错过赞赏和鼓励别人的机会。不论是谁做的漂亮的工作,都给予称赞。如果需要提出意见,请以一种帮助的态度,而不是鄙夷的态度。关心别人的需要、工作、家庭和家人。与快乐的人一起快乐;与悲伤的人一起悲伤。 让每一个与你交往的人,不论多么卑微,都能感觉到你对他的重视。 做一个快乐的人。不要将自己不足一提的伤痛和失望传染给了周围的人。请记住,每个人都承担着某些压力。 保持开放的心态。讨论但不要争论,不同意但不愤岔,是伟大心灵的标志。 让你的美德自己来说话。拒绝谈论别人的短处,不要传播谣言。这些将浪费你宝贵的时间,并会极大地破坏你的人际关系。 谨慎地对待别人的情感。揶揄和幽默并不值得以伤害别人为代价,尤其当你认为可能性很小的时候。 无需担心关于你的流言。请记住,散播流言的人并非世界上最准确的报道员。以不变应万变。紧张不安加上坏心眼一般是背后议人是非的原因。 别太着急属于自己的信誉。将你自己做到最好,并要有耐心。忘记你自己,让别人来”记住”你。这样的成功更令人愉悦。