- 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:将字符串改成小写,与将字符串改成大写,以及将字符串改成第一个字母大写,其他小写。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42302.jpg?sign=1739431618-RAjvXZEfUSOF55my60tE1V76LDvBMOPC-0-db327f418ab675ed17d1f55bd3b3286c)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42308.jpg?sign=1739431618-azVvnGL4HD7nMCMv8GUN07xbM24EKiN9-0-f1b7a083019a9c2b770162d0a6de306f)
删除字符串开始或结尾多余空白是一个很好用的方法(method),特别是系统要求读者输入数据时,一定会有人不小心多输入了一些空格符,此时可以用这个方法删除多余的空白。
程序实例ch6_18.py:删除开始端与结尾端多余空白的应用。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42311.jpg?sign=1739431618-WaGF4dJPxtEC6YWqKYnfnE0D4mk7lODY-0-7da723f3ff485b08e52862642b460902)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42317.jpg?sign=1739431618-g9NbFqGHRfJFOGCW5BUSd9hlExPR9Uyh-0-c37a7651579e5bf1f04cb77044cd48e0)
6-2-2 更改字符串大小写
如果列表内的元素字符串数据是小写,例如:输出的车辆名称是“benz”,其实我们可以使用前一小节的title( )让开头车辆名称的第一个字母大写,可能会更好。
程序实例ch6_19.py:将upper( )和title( )应用在字符串。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42321.jpg?sign=1739431618-jUN0XclWpPW2fqEGNBZjxpJ2nB2le8l9-0-cfd827ac87af619b50bb17f4c0086051)
上述第4行是将bmw改为BMW。
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P69_42327.jpg?sign=1739431618-TrDiG6CKUoWbhMpK34naIkwZl7XTedAE-0-f126841435dc71ab063ad275763202f1)
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=1739431618-ub9W1Kaqq3cwcb1EEq8vUqN1XAAZpTCq-0-43fb6c450c4c9cd0c66ac405e6ec0c74)
上述圈起来的,笔者在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=1739431618-xZYRSfWO6wbKLqrE0JLuKIWqIvf3NImA-0-5ada877e00429f15c1750dc994394de8)
由上述说明可知,islower( )可以传回对象是否是小写,如果对象全部是小写或至少有一个字符是小写将传回True,否则传回False。在上述实例,由于string对象的内容是“abc”,全部是小写,所以传回True。
上述观念同样可以应用在查询整数对象的方法。
实例3:列出整数对象的方法,同样可以先设定一个整数变量,再列出此整数变量的方法(method)。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P70_42742.jpg?sign=1739431618-VkzHCxEFTvTXInvFZRDpIktuPSfAyW02-0-fc4618419499b6fc6e5fac5afc6355b1)
上述bit_length是可以计算出要多少位以2进位方式存储此变量。
实例4:列出需要多少位,存储实例3的整数变量num。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P70_42745.jpg?sign=1739431618-YD2ZHra3pM1oFMTJQBGuGE7Oi2jKbPmt-0-e28bed95deb9989356acff952a1abfda)