欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Python】Python基础语法学习下(数据结构,模块,输入输出,异常处理,类)

时间:2023-05-26
Python官方教程

从AcWing - Django课程精简学习

学习经验:边学边查,先把常用的通读一遍即可

文章目录

Python官方教程 5、数据结构(python3大数据结构:列表,集合,字典)

5.1 列表5.2 元组5.3 集合5.4 字典5.5 循环的技巧 6、模块7、输入与输出

7.1 格式化输出7.2、读写文件 8、异常处理9、类 5、数据结构(python3大数据结构:列表,集合,字典) 5.1 列表

就是数组,但是类型可以不一样

常用函数:

list.append(x)len(list)

列表推导式

squares = [x**2 for x in range(10)][0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

二维数组

>>> matrix = [..、 [1, 2, 3, 4],..、 [5, 6, 7, 8],..、 [9, 10, 11, 12],..、]

5.2 元组

类似列表,就是不能改,定义的时候可以不用()

In [13]: t = (1, 2, 3) In [14]: t[0]= 4 ---------------------------------------------------------------------------TypeError Traceback (most recent call last) in ----> 1 t[0]= 4TypeError: 'tuple' object does not support item assignmentIn [15]: t = 1, 2, 3 In [16]: t Out[16]: (1, 2, 3)

元组打包和序列解包,用来交换便捷

序列解包

5.3 集合

Python 还支持 集合 这种数据类型。集合是由不重复元素组成的无序容器。对应C++的set。基本用法包括成员检测、消除重复元素。集合对象支持合集、交集、差集、对称差分等数学运算。

创建集合用花括号或 set() 函数。注意,创建空集合只能用 set(),不能用 {},{} 创建的是空字典,下一小节介绍数据结构:字典。

以下是一些简单的示例

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}>>> print(basket) # show that duplicates have been removed{'orange', 'banana', 'pear', 'apple'}>>> 'orange' in basket # fast membership testingTrue>>> 'crabgrass' in basketFalse>>> # Demonstrate set operations on unique letters from two words...>>> a = set('abracadabra')>>> b = set('alacazam')>>> a # unique letters in a{'a', 'r', 'b', 'c', 'd'}>>> a - b # letters in a but not in b{'r', 'd', 'b'}>>> a | b # letters in a or b or both{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}>>> a & b # letters in both a and b{'a', 'c'}>>> a ^ b # letters in a or b but not both{'r', 'd', 'b', 'm', 'z', 'l'}

5.4 字典

>>> tel = {'jack': 4098, 'sape': 4139}>>> tel['guido'] = 4127>>> tel{'jack': 4098, 'sape': 4139, 'guido': 4127}

5.5 循环的技巧



翻转reversed()和排序sorted() 函数

6、模块



Python已经实现了很多包,直接安装调用即可

7、输入与输出 7.1 格式化输出 7.2、读写文件

在处理文件对象时,最好使用 with 关键字。优点是,子句体结束后,文件会正确关闭,即便触发异常也可以。而且,使用 with 相比等效的 try-finally 代码块要简短得多:

>>> with open('workfile') as f:..、 read_data = f.read()>>> # We can check that the file has been automatically closed.>>> f.closedTrue


8、异常处理

>>> def divide(x, y):..、 try:..、 result = x / y..、 except ZeroDivisionError:..、 print("division by zero!")..、 else:..、 print("result is", result)..、 finally:..、 print("executing finally clause")...>>> divide(2, 1)result is 2.0executing finally clause>>> divide(2, 0)division by zero!executing finally clause>>> divide("2", "1")executing finally clauseTraceback (most recent call last): File "", line 1, in File "", line 3, in divideTypeError: unsupported operand type(s) for /: 'str' and 'str'

如上所示,任何情况下都会执行 finally 子句。except 子句不处理两个字符串相除触发的 TypeError,因此会在 finally 子句执行后被重新触发。

在实际应用程序中,finally 子句对于释放外部资源(例如文件或者网络连接)非常有用,无论是否成功使用资源。

9、类

构造函数,构造函数也可以传参数,甚至可以关键字对应,解包操作

定义成员函数

继承,调用基类的构造函数

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。