第26本:Python编程从入门到实践

相比于前面看过的《Python编程快速上手》,感觉这本更适合初学者。第二部分的三个项目还没有具体操作。

1、字符串操作

title()以首字母大写其他字母小写的方式显示每个单词。

upper()将字符串全改为大写

lower()将字符串全改为小写,不会改变存储在原变量中的值

+加号合并字符串,合并字符串的方法称为拼接

rstrip()去除字符串末尾的空白

lstrip()去除字符串左边的空白

strip()去除资产两侧的空白

2、数字

两个浮点数运算结果可能出错,原因是计算机内部表示数字是方式。如:0.2+0.1

str()使得非字符串值表示为字符串

int()、float()可以使得字符串转化为相应的整形和浮点型

3、列表

列表中的元素可以没有任何关联,用[]方括号表示列表,逗号分割其中的元素。

索引从开始,-1指代最后一个列表元素

末尾添加元素用append();中间插入用insert(位置,‘值’)

用del删除任意位置的值,pop()可以删除列表末尾的值,并能接着使用它,pop(位置)弹出任意位置的元素,不知道位置只知道值用remove(‘值’)。remove()只能删除第一个指定的值,如有多次出现要用循环判断。

sort()对列表进行永久排序,默认是升序,要颠倒,增加参数reserve=True;sorted()可以对列表进行临时排序;reserve()可以颠倒列表元素排序顺序,永久。

循环中局部变量会进入后续进程P49

列表解析:将for循环和创建新元素的代码合并为一行,并自动附加新元素,例如:squares = [value**2 for value in range(1,11)]类似于三元运算符ifelse

切片:索引用[]方括号括起来

列表复制:friend_foods= my_foods[:]如果不加后面的[:],则类似于java中对象的引用,两个变量指向同一个列表都能对列表做出改变

4、元组tuple:类似于列表,用括号而非方括号。元组的元素虽然不能修改,但可以给存储元组的变量赋值,故可以重新定义整个元组。

5、if语句

每条if语句的核心都是一个值为True或者false的表达式,这种表达式称为条件测试。

判断特定值是否在列表里用关键字in,不在用not in

if语句中将列表名用在条件表达式中时,python将在列表至少包含一个元素时返回True,列表为空是返回False

6、字典

字典是一些了键-值对。每个键都与一个值相关联,可用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表或字典等任何对象。字典是动态结构,可以随时在其中添加键-值对

要编写遍历字典的for循环,可以声明两个变量,用于存储键值对中的键和值,名称任意。for语句的第二部分包含字典名和方法items()。遍历字典时,键值对的返回顺序和存储顺序不同,Python不关心键值对的存储顺序,只跟踪键和值之间的关联关系。

遍历字典中的所有键,可以用方法keys()。遍历字典时,会默认遍历所有的键,故for name in favorite_languages.keys()和for name infavorite_languages:是等价的。keys()并非只能用于遍历,它返回的实际上是一个列表,包含字典中所有键。

遍历字典中的所有值,可以使用方法values()。为剔除重复项,可以使用集合set。集合类似于列表但每个元素是独一无二的。

键,如有重复,只能找到第一个。

嵌套:字典列表,列表的元素是字典;字典中存储列表,当需要在字典中将一个键关联到多个值时,可以在字典中嵌套一个列表;字典中存储字典,

OrderedDict()创建有序字典(P160)

7、while循环

for循环是一种遍历列表、字典的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素,要在遍历列表、字典的同时对其进行修改,可以使用while循环。

8、函数

形参如是可选的,在函数定义中最后列出该形参,将其默认值设为空字符串。

将列表传递给函数后,函数可以对其进行修改,在函数中对列表所做的任何修改都是永久性的。如果要禁止修改列表,可以向函数传递列表的副本而不是原件。

形参名*toppings中的星号让python创建一个名为toppings的空元组,并将接受所有的值装到这个元组中。如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后

形参**user_info中的两个星号让Python创建一个名为user_info的空字典。

9、类

方法__init__中形参self必不可少,必须位于其他形参的前面。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。以self为前缀的变量都可供类中的所有方法使用,可以通过类的任何实例来访问这些变量。

定义类、方法都要有冒号,依此表示隶属关系

10文件和异常

with open(‘…’) as file_object等价于file_object = open(’…’)关键字with在不需要访问文件后将其关闭。

read()到达文件末尾返回一个空字符串,而将这个空字符串显示出就是一个空行。

文件中每行末尾有一看不见的换行符,print语句也会加上一个换行符。

打开文件时,可以指定读取模式(‘r’)、写入模式(‘w’)、附加模式(‘a’)、读取和写入(‘r+’)。如果要写入的文件不存在,函数open()将自动创建它。

Python只能将字符串写入文本文件。要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。

try-except-else代码块的原理:尝试执行try代码块中的代码,只有可能引发异常的代码才能放在try语句中,try代码块成功执行时才需要运行的代码放在else代码块中。except代码块告诉Python如有异常如何处理,pass语句表示什么都不做。

11、测试

要为函数编写测试实例,可以先导入模块unittest以及要测试的函数,在创建一个继承unittest.TestCase的类,方法中用断言来核实得到的结果是否与期望的结果一致。方法名必须以test_开头,这样它才会在我们运行文件是自动运行。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180820G1UQKF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券