Python基础 第7章 再谈抽象】的更多相关文章

1. 1 多态 多态,即便不知道变量指向的是哪种对象,也能对其执行操作,且操作的行为将随对象所属的类型(类)而异. 1.2 多态与方法 当无需知道对象是什么样的就能对其执行操作时,都是多态在起作用. # 使用random模块种的choice函数,随机从序列中选择一个元素 from random import choice x = choice(['Hello world!', [1, 2, 'e', 'e', 4]]) print(x.count('e')) 结果:1 1.3 封装 封装是指,向…
1.对象魔法 在面对对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法. 使用对象而非全局变量以及函数的原因有多个,而最重要的好处不过以下几点: 多态:可对不同类型的对象执行相同的操作,而这些操作全部能够正常运行. 封装:对外部隐藏有关对象工作的具体细节. 继承:可基于通用类创建专用类. 1.1多态 术语多态源于希腊语,意思是有多种形态,这大致意味着即使你不知道变量指向的是哪个对象,也能够对其执行操作,且操作的行为随着对象所属的类型(类)而异. 1.2多态和方法 >…
字符串的方法非常之多,重点学习一些最有用的,完整的字符串方法参见<Python基础教程(第三版)>附录B. 模块string,虽然风头已小,但其包含了一些字符串方法中没有的常量和函数,故将模块string中几个非常有用的常量列出: string.digits: 包含数字0-9的字符串: string.ascii_letters: 包含所有ASCII字母(大写和小写)的字符串: string.ascii_lowercase: 包含所有小写ASCII字母的字符串: string.printable…
从2019年3月底开始学习Python,4月份开始在CSDN发博客,至今不到半年,老猿认为博客内容中关于Python基础知识的内容已经基本告一段落,本章进入Python基础知识结束章节,对Python基础知识进行收尾,主要对老猿认为基础知识部分尚未说明的内容在本章进行一个简介,包括异常.闭包.tkinter图形界面.使用pip进行模块安装与卸载.不过这些内容,老猿只是简介,具体内容大家可以在网上找到资源学习,老猿没准备花很大精力来详细编写文章,因为后面需要进入一个新阶段去学更多有实际意义的内容.…
1. 引言及抽象和结构 生成斐波那契数列的代码如下: fibs = [0, 1] num = int(input('How many num you want:')) for x in range(num-2): fibs.append(fibs[-2] + fibs[-1]) print(fibs) 结果: How many num you want:8 [0, 1, 1, 2, 3, 5, 8, 13] (1)让程序更抽象,可以让人更容易理解. (2)函数,是结构化编程的核心. 2. 自定义…
1.1变量 变量基本上就是代表(或者引用)某个值的名字,举例来说,如果希望用x代表3,只需要执行下面的语句即可: >>>x = 3 这样的操作称为赋值(assignment),值3赋给了变量x.另一个说法就是:将变量x绑定到了值3上面,在变量被赋值以后,就可以在表达式中使用变量: >>>x*2 >>>6 1.2语句 语句和表达式之间有什么区别呢?表达式是某事,而语句是做某事(换句话说就是告诉计算机做什么).比如2*2是4,而print(2*2)打印4.…
1. clear 方法clear删除所有的字典项,就地执行,什么都不返回(或者说返回None) d = {} d['name'] = 'Gumby' d['age'] = 42 print(d) return_value = d.clear() print(d) print(return_value) 结果: {'name': 'Gumby', 'age': 42} {} None 2. copy 方法copy返回一个新字典,其包含的键-值对与原来的字典相同(该方法属于浅复制,因为值本身是原件,…
本章将引入一个新的概念,:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在 一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.第一个索引是0,第二个则是1,依次类推. 2.1 序列概览 python包含6中内建的序列,本章重点讨论最常用的两种:列表和元组.其他的内建序列类型字符串.Unicode字符串.buffer对象和xrange对象…
1. print和import 1.1 打印多个参数 可用 + 连接多个字符串,可保证被连接字符串前无空格: 可用sep=“_”,自定义各种分隔符: print("I","wish","to","register","a","complaint",sep="_") 结果: I_wish_to_register_a_complaint 可自定义结束字符串,以替换默认的换…
6. 简单推导 列表推导,是一种从其他列表创建列表的方式,其原理类似于for循环. list1 = [x * x for x in range(10)] print(list1) 结果: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] list2 = [x * x for x in range(10) if x % 3 == 0] print(list2) 结果: [0, 9, 36, 81] list3 = [(x,y) for x in range(3) for y…