![Python王者归来](https://wfqqreader-1252317822.image.myqcloud.com/cover/412/31794412/b_31794412.jpg)
6-2 Python简单的面向对象观念
在面向对象的程序设计(Object Oriented Programming)观念里,所有数据皆算是一个对象(Object),例如,整数、浮点数、字符串或是本章所提的列表皆是一个对象。我们可以为所建立的对象设计一些方法(method),供这些对象使用,在这里所提的方法就是函数,其实方法与函数还是有一些差异,后面还会解说。目前Python有为一些基本对象提供默认的方法,要使用这些方法可以在对象后先放小数点,再放方法名称,基本语法格式如下:
对象.方法( )
下列将分成几个小节一步一步以实例说明。
6-2-1 字符串的方法
几个字符串操作常用的方法(method)如下:
● lower( ):将字符串转成小写字。
● upper( ):将字符串转成大写字。
● title( ):将字符串转成第一个字母大写,其他是小写。
● rstrip( ):删除字符串尾端多余的空白。
● lstrip( ):删除字符串开始端多余的空白。
● strip( ):删除字符串头尾两边多余的空白。
程序实例ch6_17.py:将字符串改成小写,与将字符串改成大写,以及将字符串改成第一个字母大写,其他小写。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42302.jpg?sign=1738862897-2Cmc8rW8jJ5utbvjVAqjwSv4YnC1SFp6-0-9f6600ffe53384f72c40084cc2120a39)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42308.jpg?sign=1738862897-5MVMog2DAyqS42jJp4ZQHbS2EwXd1Isy-0-ad9e789f9b645768f3123e01b03fc9ee)
删除字符串开始或结尾多余空白是一个很好用的方法(method),特别是系统要求读者输入数据时,一定会有人不小心多输入了一些空格符,此时可以用这个方法删除多余的空白。
程序实例ch6_18.py:删除开始端与结尾端多余空白的应用。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42311.jpg?sign=1738862897-TUIV7jXXaglMGBJGOpaxyBRvAUG2pyxb-0-ff816eedcf684aebf606172651869f85)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42317.jpg?sign=1738862897-2iEhniriL61atY70U8hx9MKfefLvISPb-0-e06b8419d1c5dd8c14f33f473d536f55)
6-2-2 更改字符串大小写
如果列表内的元素字符串数据是小写,例如:输出的车辆名称是“benz”,其实我们可以使用前一小节的title( )让开头车辆名称的第一个字母大写,可能会更好。
程序实例ch6_19.py:将upper( )和title( )应用在字符串。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42321.jpg?sign=1738862897-JXJAI5UxN3jSh59Fzc068LOa1N2DLB2H-0-1c524315352d20a39f692eaddcf2ee74)
上述第4行是将bmw改为BMW。
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42327.jpg?sign=1738862897-sQELgLC4Pw6GX6agWTioYMqZYmw3KBfV-0-56beb29ec49dcbd7d9e71c3c31043b8e)
6-2-3 dir( )获得系统内部对象的方法
6-2-1节笔者列举了字符串常用的方法(method),dir( )函数可以列出对象有哪些内置的方法可以使用。
实例1:列出字符串对象的方法,处理方式是可以先设定一个字符串变量,再列出此字符串变量的方法(method)。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P70_42736.jpg?sign=1738862897-BzORXRgGB77TwUPIrD569lwbwshHcyjg-0-316c7816e6c4263eb696f3bd60155818)
上述圈起来的,笔者在6-2-1节已有解说。看到上述密密麻麻的方法,不用紧张,也不用想要一次学会,需要时再学即可。如果想要了解上述特定方法可以使用4-1节所介绍的help( )函数,可以用下列方式:
help(对象.方法名称)
实例2:延续前一个实例,列出对象string,内置的islower的使用说明,同时以string对象为例,测试使用结果。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P70_42739.jpg?sign=1738862897-WI80bhFc3Em3A2nOITEV0JsF6ItJQaNl-0-494dd8987f9daed072f98ea2ec693c24)
由上述说明可知,islower( )可以传回对象是否是小写,如果对象全部是小写或至少有一个字符是小写将传回True,否则传回False。在上述实例,由于string对象的内容是“abc”,全部是小写,所以传回True。
上述观念同样可以应用在查询整数对象的方法。
实例3:列出整数对象的方法,同样可以先设定一个整数变量,再列出此整数变量的方法(method)。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P70_42742.jpg?sign=1738862897-1gTS3eg8uvg81bl4D0oOeTUa7RrYne7D-0-d609ca980172bf0218cb8a17a804ce17)
上述bit_length是可以计算出要多少位以2进位方式存储此变量。
实例4:列出需要多少位,存储实例3的整数变量num。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P70_42745.jpg?sign=1738862897-cROErc4f6HU9uJIe9ELMBv8olMyXvNcV-0-d299b574a52be5707e7c8708f2856d46)