`

Python:Dir及str函数

 
阅读更多

使用python写脚本时,使用到字符串的使用方法,和Java略有不同,还要翻Python文档。尽管Python文档很赞,但是总不如罗列方法,放入本文,以备随时查看。还有另外一点,如果能够随时得到对象的属性和方法,那最好不过啦,于是就有了本文。

Python有一部分内置函数相当有用,这部分内置函数被集中起来,其它函数被分到了各个模块中,这种设计非常高明,避免了核心语言像其它的脚本语言一样臃肿不堪。

内置参数有很多,本文主要讲解这两个,typedir

type函数返回任意对象的数据类型,对于处理多数据类型的help函数非常管用。

 

 

>>> type(1)
<type 'int'>
>>> li = []
>>> type(li)
<type 'list'>
>>> li = {}
>>> type(li)
<type 'dict'>
>>> type(type(li))
<type 'type'>

 

type 可以接收任何东西作为参数――我的意思是任何东西――并返回它的数据类型。整型、字符串、列表、字典、元组、函数、类、模块,甚至类型对象都可以作为参数被type 函数接受。

type 可以接收变量作为参数,并返回它的数据类型。

type 还可以作用于模块。

 

 

dirpython内建函数,能够返回任意对象的属性和方法列表,相当多的东西,这个函数是本文的重点介绍的函数。

 

>>> li = ''
>>> dir(li)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__str__', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> li = ()
>>> dir(li)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__str__']
>>> li = []
>>> dir(li)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>> li = {}
>>> dir(li)
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
 

看完这几个dir例子,应该了解的差不多了吧。

下面列下str的各个方法使用的简要说明,作为以后使用Python的备忘。

 

str.capitalize():首字母大写
str.center(width[, fillchar]):居中,多余的空白用fillchar填充,默认空格
str.count(sub[, start[, end]]):查询sub在出现的次数,能够配置start和end
str.decode([encoding[, errors]]):解码
str.encode([encoding[, errors]]):编码
str.endswith(suffix[, start[, end]]):
str.expandtabs([tabsize]):Tab替换为Space
str.find(sub[, start[, end]]):查找,可以设置start和end
str.format(*args, **kwargs):格式化规范比较多,可以细看文档
str.index(sub[, start[, end]]):查找
str.isalnum():
str.isalpha():
str.isdigit():
str.islower():
str.isspace():
str.istitle():
str.isupper():
str.join(iterable):连接,这个功能好用
str.ljust(width[, fillchar]):左对齐
str.lower()
str.lstrip([chars]):默认去除左边的空格,还可以去除左边的chars
str.partition(sep):V2.5以上可用
str.replace(old, new[, count])
str.rfind(sub[, start[, end]]):从右侧开始查找
str.rindex(sub[, start[, end]]):从右边开始查找索引
str.rjust(width[, fillchar]):右对齐
str.rpartition(sep):
str.rsplit([sep[, maxsplit]])
str.rstrip([chars])
str.split([sep[, maxsplit]]):拆分
str.splitlines([keepends])这个拆分支持CR、LF、CRLF
str.startswith(prefix[, start[, end]]):以prefix开头
str.strip([chars]):默认去除空格,还可以去除两边的chars
str.swapcase():大小写反转
str.title():单词首字母大写,注意是单词
str.translate(table[, deletechars]):这个算是映射吧,可以这样理解
str.upper()
str.zfill(width):width长度内左边补零
 

Tuple:这个变量的声明就是为了速度,没有提供扩展和修改方法。

List:提供了常用的insertpopremoveappend等方法

Dict:提供了常用的popcopycleariter等方法。

 

总之一句话,如果有不懂的python方法或者对象,dir一下总是没错的。

大家可以执行下这句话看下:

 

>>> import __builtin__
>>> dir(__builtin__)

 

更多的内置函数看这里:http://docs.python.org/2/library/functions.html

 

Python中万物皆为对象,这种查看内存中以对象形式存在的模块和函数的功能被称为是自省,用这种自省方法,你可以定义没有名字的函数;不按函数声明的参数顺序调用;甚至引用你事先不知道名称的函数;这种自省的方法在Python中使用起来更加方便、顺手,大家平时在工作中办点比较琐碎的事情,那Python就是首选了。

分享到:
评论

相关推荐

    Python:内置函数

    原文地址 内置函数总表 内置函数 ...dir() divmod() enumerate() eval&#40;&#41; exec&#40;&#41; filter() float() format() frozenset() getattr() globals() hasattr() hash() help()

    Python核心编程第二版

     7.3.1 标准类型函数[type()、str()和cmp()]   7.3.2 映射类型相关的函数   7.4 映射类型内建方法   7.5 字典的键   7.5.1 不允许一个键对应多个值   7.5.2 键必须是可哈希的   7.6 集合...

    Python3 菜鸟查询手册

    03.04 数据类型转换 str() 函数.png 03.05 数据类型转换 repr() 函数.png 03.06 数据类型转换 eval&#40;&#41; 函数.png 03.07 数据类型转换 tuple 函数.png 03.08 数据类型转换 list()方法.png 03.09 数据类型...

    Python核心编程第二版(ok)

     4.6.3 str()和repr()(及``操作符)   4.6.4 type()和isinstance()   4.6.5 Python类型操作符和内建函数总结   4.7 类型工厂函数   4.8 标准类型的分类   4.8.1 存储模型   4.8.2 更新...

    Python3基础之list列表实例解析

    通常来说Python中任何值都是一个对象,因此任何类型(int、str、list…)都是一个类。而类就必然有它的方法或属性,我们要记下这么多类的所有方法显然是不可能的,对此本文介绍两个小技巧: dir() :内置函数,用来...

    Python核心编程(第二版).pdf (压缩包分2部分,第二部分)

     7.3.1 标准类型函数[type()、str()和cmp()]   7.3.2 映射类型相关的函数   7.4 映射类型内建方法   7.5 字典的键   7.5.1 不允许一个键对应多个值   7.5.2 键必须是可哈希的   7.6 集合...

    基于python内置函数与匿名函数详解

    内置函数 Built-in Functions abs() dict() help() min() setattr() all()  dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() ...

    Python3.6.x中内置函数总结及讲解

    Python3.6.x中内置函数总结 # -*- coding:utf-8 -*- """ abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() ...

    Python核心编程(第二版).pdf (压缩包分2部分,第一部分)

     7.3.1 标准类型函数[type()、str()和cmp()]   7.3.2 映射类型相关的函数   7.4 映射类型内建方法   7.5 字典的键   7.5.1 不允许一个键对应多个值   7.5.2 键必须是可哈希的   7.6 集合...

    python-snippets::100:最有用的python代码段

    使用名称空间链接爬升继承树,显示带有高度缩进的高级超类混合类,提供格式化的print()或str() 混合类,提供格式化的print()或str()(使用dir()来收集实例attr和从其类继承的名称) 与相同,但格式更多...

    Python-函数和内存分析 2.zip

    089.构造函数__init__ 090.实例属性_内存分析 091.实例方法_内存分析方法调用过程_dir()_isinstance 092.类对象 093.类属性_内存分析创建类和对象的底层 094.类方法_静态方法_内存分析图示 095.__del__()析构方法和...

    如何基于python实现脚本加密

    这篇文章主要介绍了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作... ori_dir = str(from_dir.resolve()) _p = str(p.resolve()) return to_dir.joinpath(_p.split(ori_dir)[-1]

    在python中求分布函数相关的包实例

    为了了解(正态)分布的方法和属性,我们首先引入norm &gt;&gt;&gt;from scipy.stats import norm &gt;&gt;&gt;rv = norm() &gt;&gt;&gt;dir(rv) # reformatted [‘__class__', ‘__...‘__repr__', ‘__setattr__', ‘__str__', ‘__wea

    dive into python

    4.3. 使用 type、str、dir 和其它内置函数 4.3.1. type 函数 4.3.2. str 函数 4.3.3. 内置函数 4.4. 通过 getattr 获取对象引用 4.4.1. 用于模块的 getattr 4.4.2. getattr 作为一个分发者 4.5. 过滤列表 4.6....

    python判断文件夹内是否存在指定后缀文件的实例

    该代码主要是基于python实现判断指定文件夹下是否存在指定后缀的文件。代码如下: import os Your_Dir='\u4f60\u7684\u6587\u4ef6\u5939/' Files=os.listdir(Your_Dir) for k in range(len(Files)): # 提取文件夹...

    深入解析Python中的__builtins__内建对象

    你会不会有好奇:Python为什么可以直接使用一些内建函数,不用显式的导入它们,比如 str() int() dir() …? 原因是Python解释器第一次启动的时候 __builtins__ 就已经在命名空间了(Note: 有s) 进Shell看看: &gt;&gt;&gt; ...

    深入Python_zh-cn[中文版]

    使用 type、str、dir 和其它内置函数..................................................................52 4.4. 通过 getattr 获取对象引用....................................................................

    Python常用模块用法分析

    常用内置函数: help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str) 表示合法的...

    Python入门教程完整版从入门到精通(懂中文就能学会)视频.zip

    004-面向对象-04-内置的dir函数查询对象的方法列表 005-定义简单类-01-基本语法 006-定义简单类-02-案例演练. 007-定义简单类-03-接收对象的变量同样是对对象的引用. 008-定义简单类-04-创建多个猫对象 009-self-01-...

    Ptyhon自学笔记(很全哦)

    dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表 help(obj.func) # 查询obj.func的具体介绍和用法 #-- 测试类型的三种方法,推荐第三种 if type(L) == type([]): print("L is list") if ...

Global site tag (gtag.js) - Google Analytics