
6-2 Python简单的面向对象概念
在面向对象的程序设计(Object Oriented Programming)概念里,所有数据都算作一个对象(Object),例如,整数、浮点数、字符串或是本章所提的列表都是一个对象。我们可以为所建立的对象设计一些方法,供这些对象使用,在这里所提的方法就是函数。目前Python有为一些基本对象提供默认的方法,要使用这些方法可以在对象名后先输入小数点,再输入方法名称,其基本语法格式如下。
对象.方法()
下面将分成几节一步一步以实例说明。
6-2-1 字符串的方法
几个字符串操作常用的方法如下。
(1)lower():将字符串转成小写字母。
(2)upper():将字符串转成大写字母。
(3)title():将字符串转成第一个字母大写,其他字母是小写。
(4)rstrip():删除字符串尾端多余的空白。
(5)lstrip():删除字符串开始端多余的空白。
(6)strip():删除字符串头尾两边多余的空白。
程序实例ch6_17.py:将字符串改成小写,将字符串改成大写,以及将字符串改成第一个字母大写,其他是小写。

执行结果

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

执行结果

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

执行结果

上述第4行是将bmw改为BMW。
6-2-3 dir()获得系统内部对象的方法
6-2-1节列举了字符串常用的方法,dir()函数可以列出对象有哪些内建的方法可以使用。
实例1:列出字符串对象的方法,处理方式是可以先设置一个字符串变量,再列出此字符串变量的方法。

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

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

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