python学习笔记二

4.2.3.字典的格式化字符串
对于树上所谓的格式化,我的理解就是在打印输出中,由于双引号的存在,其中的变量之类符号都会失效,使用格式化字符串,则可以保证输出。对于字典的格式化字符串,与字符串格式
化的区别就是在操作符%之后先加上一个括号,并在括号之中添上键名,最后加上字典名。
4.2.4.字典方法
(1)clear方法。清空字典中的所有元素。这是个原地操作,也就是没有返回值,不用拿一个新的字典去接收返回值。
(2)copy方法。复制原始字典,这是一个浅复制,并没有得到副本,当给x.copy()替换值的时候,x不受影响,但是原地修改某个值的时候,x会发生同样变化(说实话不太理解)。使用copy模块
中的deepcopy方法可以的到原始字典的副本,任意一个字典修改都不会影响另一个。
(3)fromkeys方法。使用给定的键建立新的字典。这里给定的键可以用序列给出,列表元组字符串都可以。建立的字典值都默认是None。
(4)get方法。其实就是一个根据键查找值的方法,但是若是用普通的d[键]的方法,当此键不存在时会抛异常,而使用get方法则不会,弱不存在就返回None,就像普通查字典一样,查不到也很正常。
(5)setdefault方法。十分类似get方法,但是若是查找的键不存在,直接更新字典,加上该键,并且赋予默认的值或者在参数列表中给定的值。
(6)等等还有很多方法,不一一列举了。
第5章 条件,循环和其他语句
5.1.print和import的更多信息。
print语句输出多个字符串,可以在字符串之间添加逗号,这个逗号会被转换成空格。两行print语句,给第一行后面加上逗号,那么两行语句会打印到同一行。
import 模块;from 模块 import 方法(多个方法)。但是推荐第一种,因为不同模块有重名函数,在使用第一种导入方法时,使用时是模块名.方法名。第二种直接使用方法名就可以。
5.2.赋值魔法
(1)序列解包。x,y,z = 1,2,3很神奇,可以将赋值号两边都看作序列,写给序列解包,然后分别赋值。反正就是这种用法啦。
(2)链式赋值。x=y=1,等效于y=1,x=y,这样操作之后,x与y绑定到同一对象上去。
(3)增量赋值。和C++里面一样,比如'+='这类符号。
5.3.语句块缩排
块中每行都应该缩进同样的量。
5.4.条件和条件语句
(1)if;if-else;if-elsf-elif语句。
(2)<>是不等于号。is:同一性运算符。判断两个变量是否绑定到同一个对象上。
(3)a if b else c。类似C++中的条件运算符。根据b的真假返回a或者c。
(4)断言???什么鬼,先放下。
5.5.循环
(1)循环必须有终止的条件。
(2)尽量使用for循环
(3)遍历字典元素。for key in d 语句。
(4)一些迭代工具。并行迭代:同时迭代两个序列,可以用zip函数压缩,将将两个序列压缩成元组的序列,就可以同时进行迭代了。
(5)跳出循环。break,continue等,while true/break,就是while的循环条件始终是true,在循环内部假如if/break,保证能够跳出循环。
(6)改循环若是因为break退出,则不执行else,若是迭代全部之后退出,则执行else
(7)列表推导式,轻量级循环。['要获取的元素'+‘该元素在哪里循环’+‘获取条件’].十分好用啊。
(8)pass,del,exec三个语句,不太理解暂时放下。
第6章 抽象
6.1.懒惰即美德。我们编写程序就是为了方便我们的生活,而编写程序自身也需要方便,能简单就简单,能重用就重用,坚决不做重复的劳动,但是必须记住:这种便利不能增加犯错的几率。
6.3.创建函数。使用def语句就可以了def+函数名(参数):函数体(带着返回值)。函数文档:在函数体的第一行的字符串,解释说明函数的作用,用__doc__方法可以调用查看这段文档。
6.4.函数参数
(1)利用形参改变实参。一般来说是不会改变的,但是若要将将列表作为实参传递给形参,这种情况下会形参改变也会让实参改变。
(2)关键字参数。在定义函数的时候,给每个形参都定义一个默认值(形参名=默认值),那么在调用函数的时候,不给实参就会按照默认值。当给实参的时候就自动按照实参赋值给形参,十分好用啊。
(3)收集参数。在定义函数时,形参前面有一个星号,就表示参数收集,实参可以给多个,星号会将这些实参收集起来,以元组的形式储存。当形参前面有两个星号的时候,就会将对应的实参收集到字典
中去,但是这些形参必须是a=b的形式,这样才能组成键值对
(4)参数收集的逆过程。就是将元组或者字典再拆分开来,这是再函数调用的时候使用,加在实参前面。
6.5.作用域。局部变脸的存在周期仅限于函数内部,除非在函数内部再定义一个全局变量。
6.6.递归。所谓递归,就是函数调用自己本身,但是递归不能一直提柜下去,必须有一个条件能够退出递归。函数式编程:利用函数完成所有事情。
第7章 更加抽象
7.1.对象的多态封装和继承
(1)多态:就是在操作对象的时候不去理会对象是整型,字符串或是列表还是字典,只关心要实现的要求就行了,类的方法可以处理多个不同类型的参数。
(2)封装:将方法封装在类中,使用的时候不用关心方法的内部实现。将一些名字封装在类中,作为累的特性
(3)继承:子类继承父类的一些属性和方法。
7.2.类和类型
(1)啥是类。让我自己说,就是将一些属性和方法封装在一起,定义了这个类所需要的属性和方法,来实现这个类的操作,最重要的是类实例化之后十分方便使用。
(2)创建类。在类中定义属性(set,get),在类中定义方法。
(3)指定父类。在类名之后的括号中写上父类名字即可。可以继承父类的特性和方法,也可以重写父类的特性和方法。
(4)检查继承。是否是子类issubclass(),查找基类 类名.__bases__,对象是否是类的实例isinstance(),实例属于那个类  实例.__class__.
看到后面有些不太没明白了,而且看完没有练习记忆也不是很牢固,所以还是继续加油吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值