Python-对象类型

来源:互联网 发布:非农数据修正时间 编辑:程序博客网 时间:2024/06/01 15:07

字符串

Find和replace操作

>>>S='Spam'

>>>S.find('pa')

1

>>>S.replace('pa','XYZ')

'SXYZm'

>>> S

'Spam'

Replace具体替换第几个匹配的字符串:

>>> S ='xxxxSPAMxxxxSPAMxxxx'

>>>S.replace('SPAM','EGGS')

'xxxxEGGSxxxxEGGSxxxx'

>>>S.replace('SPAM','EGGS',1)

'xxxxEGGSxxxxSPAMxxxx'

Join

>>>'SPAM'.join(['aaa','bbb','ccc'])

'aaaSPAMbbbSPAMccc'

字符串的一些操作函数:

Split, upper,isalpha, rstrip

字符串支持格式化的替代操作:

>>>'%s,eggs,and %s' %('spam','SPAM!')

'spam,eggs,andSPAM!'

>>> '{0},eggs,and {1}'.format('spam','SPAM!')

'spam,eggs,andSPAM!'

%-6d:6位的左对齐格式化

%0d:6位补零的格式化

>>>'%-6.2f | %05.2f | %+06.1f' %(1.234568,1.234568,1.234568)

'1.23   | 01.23 | +001.2'

要查询某个字符串支持的操作,用:

>>> dir(S)

['__add__','__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__','__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__','__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__','__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__','__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__','__subclasshook__', '_formatter_field_name_split', '_formatter_parser','capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs','find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace','istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition','replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip','split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate','upper', 'zfill']

查询每个操作是做什么的:

>>>help(S.replace)

字符串的模式匹配re

>>> import re

>>> match = re.match('Hello[\t]*(.*)world','Hello      Python world')

>>> match.group(1)

'Python '

>>> match =re.match('/(.*)/(.*)/(.*)','/usr/bin/jk')

>>> match.groups()

('usr', 'bin', 'jk')

字符串代码转换

Ord函数将单个字符转化成其对应的ASCII码,chr函数执行相反操作

>>> S = '5'

>>> S = chr(ord(S) + 1)

>>> S

'6'

列表

列表的大小可变。可以通过赋值修改列表,列表是可变的,而字符串是不可变的。

列表的一些操作函数

Append, pop, sort, reverse

>>> M = ['bb','aa','cc']

>>> M.sort()

>>> M

['aa', 'bb', 'cc']

>>> M.reverse()

>>> M

['cc', 'bb', 'aa']

列表解析

>>> doubles = [c*2 for c in'spam']

>>> doubles

['ss', 'pp', 'aa', 'mm']

字典

字典的创建

>>> D={}

>>> D['name']='zfj'

>>> D['job']='soft'

>>> D['age']=25

>>> D

{'age': 25, 'job': 'soft', 'name': 'zfj'}

>>> print(D['name'])

Zfj

键的排序:for循环,sorted()

>>>D={‘a’:1, ‘c’:3, ‘b’:2}

>>>for keyin sorted(D):

         Print(key,‘=>’, D[key])

a=>1

b=>2

c=>3

while循环也可以用来迭代

列表解析相关的函数编程工具,如map,filter比for快两倍

不存在的键In

查询一个键是否在字典中

>>>if not ‘f’ in D:

         Print(‘missing’)

Has_keys()

Try语句

元组(不可变性)

元组真正的不同在于一旦创建后就不能再改变。

文件

文件的读写

>>>f=open(‘data.txt’)

>>>text=f.read()

Read可以接受一个字节大小

Readline每次读一行

Seek

Iterator

其他文件类工具

管道,FIFO,套接字,键,对象持久,描述符

类型检验

Type

If Type(L) == list:

Isinstance

If isinstance(L,list):

定义类

class worker:

   def _init_(self,name,pay):

       self.name = name

       self.pay = pay

   def lastName(self):

       return self.name.split()[-1]

   def giveRaise(self,percent):

       self.pay *= (1.0 + percent)

 

bob = worker('Bob smith',500)

sub = worker('sub joe',400)

>>> bob.lastName()

>>>sub.giveRaise(0.1)

0 0
原创粉丝点击