美文网首页
第四章 朝思暮想是对象

第四章 朝思暮想是对象

作者: XavieR_ZzQ | 来源:发表于2019-11-10 22:33 被阅读0次

4.1 轻松看对象

除了面向过程的编程范式,Python还支持面向对象的编程范式。

2.类

把相近的东西归为一类,而且给这个类起一个名字。

需要用到:class函数

用法:class 类名(对象类别)

           statement

区分属性:①数据性:e.g. feature=True

                  ②行为:e.g. def (行为名)(self,参数)

                                statement

3.对象

定义:对象是类的实例:summer=Bird()

对属性的引用:对象.属性:summer.chirp("jijiji")

对对象个性的修改:

①通过行为和self:def set_color(self,color)

                                     self.color=color(给定的参数)

②特殊方法:_init_()、_add_().....(在方法名前后加两个下划线)

在引入对象的同时定义参数

self:可以在一个方法内部调用同一类的其他方法

4.2 继承者们

1.子类

①子类:拥有父类的所有属性,同时可定义子类的特有属性,还可替换。

②继承:子类拥有父类的所有属性。

2.属性覆盖

使用同名属性名,父类的属性会被子类覆盖。

super():一个内置类,能产生指代父类的对象。通过super,我们在子类的同名方法中调用了父类的方法。

4.3 那些年,错过的对象

查找类的名字:type()

查询类的属性:dir()、help()

①列表对象:

pass:特殊关键字,用于说明,在该语法结构中“什么都不做”,保持结构完整性

我们看到类还有许多“隐藏技能”。比如下面一些list的方法,可以返回列表的信息:

>>>a = [1, 2, 3, 5, 9.0, "Good", -1, True, False, "Bye"]

>>>a.count(5) # 计数,看总共有多少个元素5

>>>a.index(3) # 查询元素3第一次出现时的下标

>>>a.append(6) # 在列表的最后增添一个新元素6

>>>a.sort() # 排序

>>>a.reverse() # 颠倒次序

>>>a.pop() # 去除最后一个元素,并将该元素返回。

>>>a.remove(2) # 去除第一次出现的元素2

>>>a.insert(0,9) # 在下标为0的位置插入9

>>>a.clear() # 清空列表

②元组与字符串对象

>>>a = (1, 3, 5)

>>>a.count(5) # 计数,看总共有多少个元素5

>>>a.index(3) # 查询元素3第一次出现时的下标

>>>a="abc"

>>>a.index("c")

>>>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.split([sep, [max]]) # 返回:从左开始,以空格为分隔符(separator),# 将str分 割为多个子字符串,总共分割max次。# 将所得的子字符串放在一个表中返回。可以以 # str.split(",")的方式使用其他分隔符

>>>str.rsplit([sep, [max]]) # 返回:从右开始,以空格为分隔符(separator),# 将str分 割为多个子字符串,总共分割max次。# 将所得的子字符串放在一个表中返回。可以以 # str.rsplit(",")的方式使用其他分隔符

 >>>str.join(s) # 返回:将s中的元素,以str为分隔符, # 合并成为一个字符串。

>>>str.strip([sub]) # 返回:去掉字符串开头和结尾的空格。 # 也可以提供参数sub,去掉位于字符串开头和结尾的sub

>>>str.replace(sub, new_sub) # 返回:用一个新的字符串new_sub替换str中 # 的sub

>>>str.capitalize() # 返回:将str第一个字母大写

>>>str.lower() # 返回:将str全部字母改为小写

>>>str.upper() # 返回:将str全部字母改为大写

>>>str.swapcase() # 返回:将str大写字母改为小写,小写字母改为大写

>>>str.title() # 返回:将str的每个词(以空格分隔)的首字母# 大写

>>>str.center(width) # 返回:长度为width的字符串,将原字符串放入# 该字符串中 心,其他空余位置为空格。

>>>str.ljust(width) # 返回:长度为width的字符串,将原字符串左对# 齐放入该字符串,其 他空余位置为空格。

>>>str.rjust(width) # 返回:长度为width的字符串,将原字符串右对齐放入# 该字符串,其 他空余位置为空格。

③词典对象

for k in example_dict.keys():

print(example_dict[k])

for v in example_dict.values():

          print(v)

for k,v in example_dict.items():

          print(k, v)

用clear()方法,清空整个词典:

example_dict.clear() # 清空example_dict,example_dict变为{}

4.4 意想不到的对象

①循环对象:包含有一个_next_()方法,这个方法的目的是生成循环的下一个结果。在生成过循环的所有结果之后,该方法将抛出StopIteration异常。循环接收到这个异常,就会知道循环已经结束,将停止调用__next__()。

手动循环例子:

>>>example_iter = iter([1, 2])

 >>>example_iter.__next__() # 显示1

>>>example_iter.__next__() # 显示2

>>>example_iter.__next__() # 出现StopIteration异常。

我们可以把 循环对象包裹在for中自动进行循环:

for itemin iter([1, 2]):

 print(item)

相对于序列,循环对象的好处在于:不用在循环还没开始的时候,就生成要使用的元素。所有要使用的元素可以在循环过程中逐渐生成。这样,不仅节省了空间,提高了效率,还会使编程更加灵活。

生成器:自定义循环对象。

②函数对象

任何一个有_call_()特殊方法的对象:

class SampleMore(object):

def __call__(self, a):

return a + 5

add_five = SampleMore() # 生成函数对象

print(add_five(2)) #像一个函数一样调用函数对象,结果为7。

③模块对象

Python中的模块对应一个.py文件

语法:import xxx、from xxx import xxx

引入模块的所有属性:from xxx import *

也可以用对象.属性的方式调用。

④异常对象

try等捕捉到的程序中出现的异常。

except… as…:用新的变量代表捕获到的类型对象。

相关文章

  • 第四章 朝思暮想是对象

    4.1 轻松看对象 除了面向过程的编程范式,Python还支持面向对象的编程范式。 2.类 把相近的东西归为一类,...

  • 第四章 朝思暮想是对象 总结

    一、对象 1.1 类和对象的作用 ①提高了程序的可复用性 ②加强了程序模拟真实世界的能力 Python的一条哲学理...

  • 朝思暮想

    一连十几天的夜班,看惯了风尘仆仆,也体验了沦落街头,上了台面,才知幕后艰辛。于是喜欢在下班回到宿舍后搬个凳...

  • 朝思暮想

    有人呼求天上的飞鸟, 有人在暗夜中 学着舍弃 假装洒脱。 请给我一个故事, 让我明白, 什么是你的内心? 什么,又...

  • 朝思暮想

    一首歌听了又听,一年又一年,不是有什么无法忘怀,而是习惯。 年年岁岁,朝朝暮暮。 我体味着当下的心情,也看着别人的...

  • 朝思暮想

    两千三百八十公里 徒步渡船火车与飞的 隔着两个忽明忽暗的屏息 心思一沉却不入底 风儿轻拂草木娇羞恰似如你 牛儿弹琴...

  • 朝思暮想

    朝思暮想,自家空恁添清瘦。 不曾想,一个从未曾相识过的人,却能字句都提到我心坎里去,而公子,你不知道,是吧,或许你...

  • 朝思暮想

    我朝思暮想。 手捧香根鸢尾,漫步在法国巴黎的街头,看路上情侣旁若无人浪漫地亲吻。 我朝思暮想。 踏上普罗旺斯小镇的...

  • 朝思暮想

    《朝思暮想》 【王洪】 细雨亲亲荷, 相思轻轻折。 深情召日月, 吾爱满山河。

  • 朝思暮想

    那年桃花园 你束发纶巾 一袭白衣,打马而过 篱笆院落,浣洗之际 抬眼望去 遍地的蒲公英 朵朵金黄,都是你 就此饮下...

网友评论

      本文标题:第四章 朝思暮想是对象

      本文链接:https://www.haomeiwen.com/subject/ehnabctx.html