1 .列表对象
数据容器中的列表,它是一个类,用内置函数可以找到类的名字:
>>> a = [1,2,3] >>> print(a) ___________ [1, 2, 3]
根据返回的结果,a属于list(列表)类型。
所谓的类型就是对象所属的类的名字。
每个列表都属于这个
list类。
这个类是
Python自带的,已经提前定义好的,所以称为内置类。
新建一个表实际上是在创建
list类的一个对象。
还可以用其他两个内置函数来进一步调查类的信息:dir()和help()。
函数dir()用来查询一个类或者对象的所有属性。
你可以尝试一下:
>>> dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__'] >>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] #dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
help()函数可以查询函数的说明文档,还可以用于显示类的说明文档。
>>>help(list) ______________ Help on class list in module builtins: class list(object) | list(iterable=(), /) | | Built-in mutable sequence. | | If no argument is given, the constructor creates a new empty list. | The argument must be an iterable if specified. | | Methods defined here: | | __add__(self, value, /) | Return self+value. | | __contains__(self, key, /) | Return key in self. ...... sort(self, /, *, key=None, reverse=False) | Sort the list in ascending order and return None. | | The sort is in-place (i.e. the list itself is modified) and stable (i.e. the | order of two equal elements is maintained). | | If a key function is given, apply it once to each list item and sort them, | ascending or descending, according to their function values. | | The reverse flag can be set to sort in descending order. | | ---------------------------------------------------------------------- | Static methods defined here: | | __new__(*args, **kwargs) from builtins.type | Create and return a new object. See help(type) for accurate signature. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __hash__ = None (END)
返回的不但有关于list类的描述,还简略说明了它的各个属性。
顺便提一下,制作类的说明文档的方式,与制作函数说明文档类似,只需在类定义下用多行字符串加入自己想要的说明就可以了:
class HelpDemo(object): """ This is a demo for using help() on a class """ pass print(help(HelpDemo)) _______________________ Help on class HelpDemo in module __main__: class HelpDemo(builtins.object) | This is a demo for using help() on a class | | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) (END)
程序中的pass是Python的一个特殊关键字,用于说明在该语法结构 中“什么都不做”。
这个关键字保持了程序结构的完整性。
2.元组与字符串对象下面是一些 list的方法,可以返回列表的信息:
>>>a = [1, 2, 3, 5, 9.0, "Good", -1, True, False, "Bye"]
>>>a.count(5)
>>>a.index(3)
#计数,看总共有多少个元素5
#查询元素3第一次出现时的下标
有些方法还允许对列表进行修改 *** 作:
>>>a.append(6)
#在列表的最后增添一个新元素6
>>>a.sort()
#排序
>>>a.reverse()
#颠倒次序
>>>a.pop()
#去除最后一个元素,并将该元素返回。
>>>a.remove(2)
#去除第一次出现的元素2
>>>a.insert(0^9)
#在下标为。
的位置插入
9>>>a.clear()
#清空列表
通过对方法的调用,列表的功能大为增强。
元组与列表一样,都是序列。
但元组不能变更内容。
因此,元组只能进行查询 *** 作,不能进行修改 *** 作:
>>>a =(1, 3, 5)
>>>a.count(5)
#计数,看总共有多少个元素5
>>>a.index(3)
#查询元素3第一次出现时的下标
字符串是特殊的元组,因此可以执行元组的方法:
>>> a="abc"
>>> a.index("c")
2
3 .词典对象尽管字符串是元组的一种,但字符串(string)有一些方法能改变字符串。
这听起来似乎违背了元组的不可变性。
但这些方法并不是修改字符串对象,而是删除原有字符串,再建立一个新的字符串。
下面总结了字符串对象的方法。
str为一个字符串,sub为str的一个子字符串。
s为一个序列,它的元素都是字符串。
width为一个整数,用于说明新生成字符串的宽度。
这些方法经常用于字符串的处理。
>>>str = "Hello World!
>>>sub = "World"
>>>str.count(sub)
#返回:sub在str中出现的次数
>>>str.find(sub)
#返回:从左开始,查找sub在str中第一次出现的位置。
#如果str中不包含sub,返回-1
>>>str.index(sub)
#返回:从左开始,查找sub在str中第一次出现的位置。
#如果str中不包含sub,举出错误
>>>str.rfind(sub)
#返回:从右开始,查找sub在str中第一次出现的位置
#如果str中不包含sub,返回-1
>>>str.rindex(sub)
#返回:从右开始,查找sub在str中第一次出现的位置
#如果str中不包含sub,举出错误
>>>str.isalnum()
#返回:True,如果所有的字符都是字母或数字
>>>str.isalpha()
#返回:True,如果所有的字符都是字母
>>>str.isdigit()
#返回:True,如果所有的字符都是数字
>>>str.istitle()
#返回:True,如果所有的词的首字母都是大写
>>>str.isspace()
#返回:True,如果所有的字符都是空格
>>>str.islower()
#返回:True,如果所有的字符都是小写字母
>>>str.isupper()
#返回:True,如果所有的字符都是大写字母
>>>str.splitz([sep,[max]])
#返回:从左开始,以空格为分隔符(separator),
#将str分割为多个子字符串,总共分割max次。
#将所得的子字符串放在一个表中返回。
可以以
# str.split("/')的方式使用其他分隔符
>>>str.rsplit([sep, [max]])
[max]]) #返回:从右开始,以空格为分隔符(separator),
#将,切分割为多个子字符串,总共分割max次。
#将所得的子字符串放在一个表中返回。
可以以
# str.rsplitC'j")的方式使用其他分隔符
>>>str.join(s)
#返回:将s中的元素,以str为分隔符,
#合并成为一个字符串。
>>>str.strip([sub])
#返回:去掉字符串开头和结尾的空格。
#也可以提供参数sub,去掉位于字符串开头和结尾的sub
>>>str.capitalize()
#返回:将str第一个字母大写
>>>str.lower()
#返回:将str全部字母改为小写
>>>str.upper()
#返回:将str全部字母改为大写
>>>str.swapcase()
#返回:将str大写字母改为小写,小写字母改为大写
>>>str.title()
#返回:将str的每个词(以空格分隔)的首字母
#大写
>>>str.center(width)
#返回:长度为width的字符串,将原字符串放入 #该字符串中心,其他空余位置为空格。
>>>str. replace (sub new_sub) # 返回:用一个新的字符串 new_sub 替换 str 中的 sub
>>>str.ljust(width) #返回:长度为width的字符串,将原字符串左对齐放入该字符串,其他空余位置为空格。
>>>str.rjust(width) #返回:长度为width的字符串,将原字符串右对齐放入 #该字符串,其他空余位置为空格。
词典同样是一个类:
>>> example_dict ={"a":1,"b":2}
>>> type(example_dict)
我们可以通过词典的keys()方法,来循环遍历每个元素的键:
example_dict ={"a":1,"b":2}
for k in example_dict.keys():
print(example_dict[k])
_____________________________
1
2
通过values()方法,可以遍历每个元素的值;或者用items()方法,直接遍历每个元素:
example_dict ={"a":1,"b":2}
for v in example_dict.values():
print(v)
for k,v in example_dict.items():
print(k,v)
_______________________________
1
2
a 1
b 2
我们也可以用clear()方法,清空整个词典:
example_dict ={"a":1,"b":2}
example_dict. clear()
print(example_dict)
______________________
{}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)