- Python王者归来
- 洪锦魁
- 1042字
- 2020-08-28 21:54:52
6-2 Python简单的面向对象观念
在面向对象的程序设计(Object Oriented Programming)观念里,所有数据皆算是一个对象(Object),例如,整数、浮点数、字符串或是本章所提的列表皆是一个对象。我们可以为所建立的对象设计一些方法(method),供这些对象使用,在这里所提的方法就是函数,其实方法与函数还是有一些差异,后面还会解说。目前Python有为一些基本对象提供默认的方法,要使用这些方法可以在对象后先放小数点,再放方法名称,基本语法格式如下:
对象.方法( )
下列将分成几个小节一步一步以实例说明。
6-2-1 字符串的方法
几个字符串操作常用的方法(method)如下:
● lower( ):将字符串转成小写字。
● upper( ):将字符串转成大写字。
● title( ):将字符串转成第一个字母大写,其他是小写。
● rstrip( ):删除字符串尾端多余的空白。
● lstrip( ):删除字符串开始端多余的空白。
● strip( ):删除字符串头尾两边多余的空白。
程序实例ch6_17.py:将字符串改成小写,与将字符串改成大写,以及将字符串改成第一个字母大写,其他小写。

执行结果

删除字符串开始或结尾多余空白是一个很好用的方法(method),特别是系统要求读者输入数据时,一定会有人不小心多输入了一些空格符,此时可以用这个方法删除多余的空白。
程序实例ch6_18.py:删除开始端与结尾端多余空白的应用。

执行结果

6-2-2 更改字符串大小写
如果列表内的元素字符串数据是小写,例如:输出的车辆名称是“benz”,其实我们可以使用前一小节的title( )让开头车辆名称的第一个字母大写,可能会更好。
程序实例ch6_19.py:将upper( )和title( )应用在字符串。

上述第4行是将bmw改为BMW。
执行结果

6-2-3 dir( )获得系统内部对象的方法
6-2-1节笔者列举了字符串常用的方法(method),dir( )函数可以列出对象有哪些内置的方法可以使用。
实例1:列出字符串对象的方法,处理方式是可以先设定一个字符串变量,再列出此字符串变量的方法(method)。

上述圈起来的,笔者在6-2-1节已有解说。看到上述密密麻麻的方法,不用紧张,也不用想要一次学会,需要时再学即可。如果想要了解上述特定方法可以使用4-1节所介绍的help( )函数,可以用下列方式:
help(对象.方法名称)
实例2:延续前一个实例,列出对象string,内置的islower的使用说明,同时以string对象为例,测试使用结果。

由上述说明可知,islower( )可以传回对象是否是小写,如果对象全部是小写或至少有一个字符是小写将传回True,否则传回False。在上述实例,由于string对象的内容是“abc”,全部是小写,所以传回True。
上述观念同样可以应用在查询整数对象的方法。
实例3:列出整数对象的方法,同样可以先设定一个整数变量,再列出此整数变量的方法(method)。

上述bit_length是可以计算出要多少位以2进位方式存储此变量。
实例4:列出需要多少位,存储实例3的整数变量num。
