Python基础
Python基础
陈陈陈Chann
这个作者很懒,什么都没留下…
展开
-
Python入门(二十八):异常处理
点击跳转《Python入门系列目录》文章目录1. 用try语句处理异常1.1 try-except1.2 try-finally2. 常见的异常处理3. 内置异常类4. 捕获异常的顺序5. 自定义异常类程序的错误语法错误运行时错误逻辑错误1. 用try语句处理异常异常捕获可以使用try语句来实现,任何出现在try语句范围内的异常都会被及时捕获到try语句的两种常见形式try-excepttry-finallytry块必须与except或finally块一起使用原创 2020-10-07 09:10:09 · 218 阅读 · 1 评论 -
Python入门(二十七):模块与包
点击跳转《Python入门系列目录》文章目录1. 模块1.1 模块的概念1.2 模块化编程1.3 创建模块1.4 模块的私有函数1.5 模块的测试代码1.6 模块的导入和使用1.7 模块的导入顺序1.8 dir()内置函数1.9 名称空间1.10 名称查找顺序1.11 顶层模块2. 包2.1 包的概念2.2 创建包2.3 包的导入和使用1. 模块1.1 模块的概念如果程序中包含多个可以复用的函数或类,则通常把相关的函数和类分组包含在单独的模块(module)中这些提供计算功能的模块称之为原创 2020-10-07 09:07:22 · 221 阅读 · 0 评论 -
Python入门(二十六):文件模块(os模块与shutil模块)
点击跳转《Python入门系列目录》文章目录1. os模块2. shutil模块1. os模块Python标准库中的一个用于访问操作系统的模块包含普遍的操作系统功能提供一个可移植的方法来使用操作系统的功能,使得程序能够跨平台使用查询操作系统os.name函数获取操作系统名称os.sep函数查询相应操作系统下文件路径的分隔符os.linesep函数查询当前系统使用的行终止符查询工作路径os.getcwd()查询指定目录下的文件os.lis原创 2020-10-06 13:04:24 · 876 阅读 · 0 评论 -
Python入门(二十五):读写csv文件
点击跳转《Python入门系列目录》文章目录1. 读取csv文件2. 写入.csv文件逗号分隔值(Comma-Separated Values, CSV),通常用于转移表格数据csv文件由任意数目的记录组成,记录间以某种换行符分割每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的分隔符是逗号或制表符用命令import csv可直接调用csv模块进行csv文件的读写1. 读取csv文件读取csv文件之前需要用open函数打开文件路径读取csv文件的方法有两种原创 2020-10-06 11:54:59 · 496 阅读 · 0 评论 -
Python入门(二十四):读写二进制文件
点击跳转《Python入门系列目录》文章目录使用open()函数打开或创建一个文件时,可以指定打开模式为’b’,以打开二进制文件创建或打开文件对象通过内置函数open(),指定打开模式’b’,可以创建或打开二进制文件对象。可以指定覆盖模式(文件存在时)和缓存大小f1 = open('data1.dat', 'wb') # 创建或打开data1.datf2 = open('data2.dat', 'xb') # 创建文件data2.dat,若data2.txt已存在,则导致原创 2020-10-06 11:52:31 · 6479 阅读 · 0 评论 -
Python入门(二十三):读写txt文件
点击跳转《Python入门系列目录》文章目录1. 文件概述2. txt文件2.1 打开文件2.2 设置工作路径2.3 创建含有文件数据的列表2.4 写入.txt文件1. 文件概述文件是指记录在存储介质上的一组相关信息的集合文件类型文件扩展名2. txt文件以读文件的方式打开一个文件对象,可以使用内置函数open函数传入文件名称与标识符标识符可指定文件打开模式为读取模式®写入模式(w)附加模式(a)读写模式(r+)2.1 打开文件f = open('e_原创 2020-10-06 11:50:14 · 202 阅读 · 0 评论 -
Python入门(二十二):面向对象三大属性(封装、继承、多态)
点击跳转《Python入门系列目录》文章目录4. 面向对象三大属性1. 封装2. 继承3. 多态4. 面向对象三大属性封装、继承、多态1. 封装在面向对象的编程语言中“封装”就是将抽象得到的属性和行为相结合,形成一个有机的整体(即类)像电视遥控、支付宝支付……,只在意结果,而不在意如何完成这个过程封装可以简化编程,使用者不必了解具体的实现细节封装带来的另一个好处是增强安全性封装也提供了良好的可扩展性,修改盒子内的东西,不会修改到盒子外的东西,增加功能只用在盒子内进行增加,类的使原创 2020-10-06 11:46:02 · 144 阅读 · 0 评论 -
Python入门(二十一):迭代对象(迭代器与生成器)
点击跳转《Python入门系列目录》文章目录1. 迭代器2. 自定义可迭代对象和迭代器3. 生成器1. 迭代器迭代是访问集合元素的一种方式实现了_iter_()的对象是可迭代对象(iterable)使用内置函数iter(iterable)可以返回可迭代对象iterable的迭代器使用了_next_()的对象是迭代器使用内置函数next()可以依次返回迭代器对象的下一个项目值,如果没有新项目,则将导致stopiteration迭代器是一个可以记住遍历的位置的对象原创 2020-10-06 11:44:15 · 133 阅读 · 0 评论 -
Python入门(二十):面向对象(类与对象)
点击跳转《Python入门系列目录》文章目录1. 面向对象概述2. 类与对象2.1 类与对象的关系2.2 创建类2.3 绑定self2.4 类的专有方法2.5 创建对象2.6 删除对象2.7 对象的方法2.8 公有和私有1. 面向对象概述属性:对象的静态特征方法:对象的动态特征对象 = 属性 + 方法Python既可以面向过程也可以面向对象在程序中使用对象来映射现实中的事物,使用对象间的关系来描述事物之间的联系,这种思想就是面向对象面向过程(procedure-oriented):一原创 2020-10-06 11:41:46 · 235 阅读 · 0 评论 -
Python入门(十九):匿名函数和高阶函数
点击跳转《Python入门系列目录》文章目录1. 匿名函数2. 高阶函数1. 匿名函数使用lambda语句创建匿名函数,即函数没有具体的名称lambda函数可视为对象,解释性不好lambda表达式的具体格式为lambda arg1,arg2,arg3, ... :<expression>冒号前是函数参数,冒号后是返回值lambda定义的是单行函数,如果需要复杂的函数,应使用def语句lambda语句可以包含多个参数lambda语句有原创 2020-10-06 11:36:59 · 219 阅读 · 0 评论 -
Python入门(十八):变量作用域与嵌套函数
点击跳转《Python入门系列目录》文章目录1. 局部变量和全局变量2. 嵌套函数3. 嵌套函数下的局部和全局变量1. 局部变量和全局变量局部变量:只能在特定的函数中可以访问的变量全局变量:定义在所有函数最外面的变量分辨局部变量与全局变量的规则假设有一个变量为a,它出现在函数f()里面,可以使用如下规则来判断如果有global关键字修饰变量a,则a为全局变量否则,假如a是参数或者出现在等号左边,则a是局部变量否则,a与函数f外层的变量a的属性相同局部变量可以在外部被赋值原创 2020-10-06 11:34:26 · 962 阅读 · 0 评论 -
Python入门(十七):函数参数和返回值
参数可以理解为“随机应变的容器”,不需要声明参数类型,所以编程时最好主动检查所传参数类型的正确性参数的分类位置参数关键字参数默认参数可变参数1. 默认参数def 函数名(…, 参数名=默认值):注意:在定义带有默认参数的函数时,默认参数只能出现在所有参数的最右端,并且任何一个默认参数的右侧都不能再定义非默认参数# 默认参数示例def interest(money, day=1, interest_rate=0.05): income = 0 income =.原创 2020-10-06 11:29:25 · 342 阅读 · 0 评论 -
Python入门(十六):函数概述与自定义函数
文章目录1. 函数概述2. 自定义函数1. 函数概述完美函数函数的分类内置函数标准库函数第三方库函数用户自定义函数2. 自定义函数def 函数名([形参列表]): 函数体不需要说明形参类型不需要指定函数返回值类型如果函数没有明确的返回值,Python认为返回空值None即使该函数不需要接收任何参数,也必须保留一对空的英文半角圆括号函数头部括号后面的冒号必不可少函数体相对于def关键字必须保持一定的空格缩进...原创 2020-10-05 12:59:24 · 204 阅读 · 1 评论 -
Python入门(十五):可变与不可变类型
1. 不可变类型# str = 'I like Justin'变成'U like Justin'str = 'I like Justin'str = 'U' + str[1: len(str)] # 方法一:切片str = str.replace('I', 'U') # 方法二:函数,也是产生新的空间,需要重新赋值2. 总结切片和+不管是可变还是不可变的序列类型切片必定产生新的序列+号在 = 右边,必定产生新的序列,然后将新的序列地址赋予给 = 左边的变量3. 可变类型列原创 2020-10-05 12:54:27 · 154 阅读 · 1 评论 -
Python入门(十四):序列解包
本质:对多个变量同时赋值把一个序列或可迭代的对象中的多个元素的值同时赋给多个变量,要求等号左侧的变量的数量和等号右侧的值的数量必须一致可用于列表、元组、字典、集合、字符串等x, y, z = 1, 2, 3 # 多个变量同时赋值x, y, z = (False, 3.5, 'exp') # 元组支持序列解包x, y, z = [1, 2, 3] # 列表支持序列解包x, y = y, x # 交换.原创 2020-10-05 12:53:08 · 240 阅读 · 0 评论 -
Python入门(十三):字典
文章目录1. 创建字典2. 提取字典元素3. 字典基本操作4. 字典与列表一组键值对的数据结构每个键对应于一个值在字典中,键不能重复根据键可以查询到值字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对字典的键只能使用不可变的对象,但字典的值可以使用不可变或可变的对象字典符合数据库中数据表格的概念,它能表示基于关系模型的数据库1. 创建字典花括号{}创建{<键1>:<值1>, <键2>:<值2>, …, <键n>原创 2020-10-05 12:51:45 · 426 阅读 · 0 评论 -
Python入门(十二):元组
文章目录1. 元组基本操作2. 元组的讨论元组(tuple)是序列类型中比较特殊的类型,因为它一旦创建就不能被修改元组是不可变的,不能直接修改元组中元素的值,也不能为元组增加或删除元素因此,元组没有提供append()、extend()和insert()等方法,也没有remove()和pop()方法,但是可以用 +元组的访问速度比列表更快,开销更小如果定义了一系列常量值,主要用途只是对它们进行遍历或其他类似操作,那么一般建议使用元组而不用列表元组可以使得代码更加安全。原创 2020-10-05 12:22:15 · 865 阅读 · 0 评论 -
Python入门(十一):列表解析式(列表推导式)
高效创建新列表的方式,动态创建列表Python迭代机制的一种应用data = [num for num in range(20) if num % 2 == 1]# 等价于data = []for num in range(20): if num % 2 == 1: data.append(num)ls = [(i, j) for i in range(0, 3) for j in range(0, 3)]# 等价于ls = []for i in rang..原创 2020-10-05 12:19:43 · 699 阅读 · 1 评论 -
Python入门(十):列表基本操作
列表是Python对象作为其元素并按顺序排列构成有序集合创建列表方括号[]创建通过list()函数将元组、字符串或者集合转化成列表直接使用list()函数会返回一个空列表l = list('hello world')print(l) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']索引列表索引访问提取用下标即可,也存在正索引和负索引ls = [10, 20, 30, 40, 50, 60, 70, 8..原创 2020-10-05 12:16:44 · 353 阅读 · 0 评论 -
Python入门(九):集合
文章目录1. 集合的分类2. 集合基本操作集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合集合中元素不可重复集合元素类型只能是固定数据类型例如:整数、浮点数、字符串、元组等列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现集合是无序组合,没有索引和位置的概念,不能切片集合中元素可以动态增加或删除集合用大括号{}表示,可以用赋值语句生成一个集合集合类型主要用于三个场景:成员关系测试、元素去重和删除数据项集合类型与其他类型最大的不同在于它不包含重复元素。原创 2020-10-05 12:12:06 · 356 阅读 · 0 评论 -
Python入门(八):字符串
文章目录1. 字符转义2. 数值转化为字符串3. 字符串索引4. 字符串基本操作5. 其他常用操作Python中没有独立的字符数据类型,字符即字符长度为1的字符串字符串放在单引号(’ ‘)、双引号(" ")、三引号(’’'或者""")中1. 字符转义转义字符转义字符描述\(在行尾时)续行符\\反斜杠符号\’单引号\"双引号\a响铃\b退格(Backspace)\e转义\000空\n换行\v纵向制表原创 2020-10-05 12:09:14 · 544 阅读 · 0 评论 -
Python入门(七):常用数据结构类型
数值数据类型整数类型(int)布尔类型(bool)浮点类型(float)复数类型(complex)数据结构类型根据某种方式将数据元素组合起来形成的一个数据元素集合序列序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他映射映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)集合集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在可变数据类型(列表、字典、可变集合)直接对数据结构对..原创 2020-10-05 12:05:31 · 427 阅读 · 0 评论 -
Python入门(六):程序控制结构
文章目录1. 分支语句2. 循环语句2.1 for循环2.2 while循环1. 分支语句分支语句是控制程序运行的一类重要语句,它的作用是根据判断条件选择程序执行路径,其语法如下(注意缩进):if <条件1>: <语句块1>elif <条件2>: <语句块2>...else: <语句块N>2. 循环语句循环语句:控制程序运行,根据判断条件或计数条件确定一段程序的运行次数range()函数原创 2020-09-23 23:56:25 · 444 阅读 · 0 评论 -
Python入门(五):Python常用操作运算符
文章目录1. 算术运算符2. 比较运算符3. 赋值运算符4. 逻辑运算符5. 成员运算符、身份运算符、按位运算符1. 算术运算符运算符用于在表达式中对一个或多个操作数进行计算并返回结果值运算符功能说明+算术加法,列表、元组、字符串合并与连接,正号-算术减法,集合差集,相反数*算术乘法,序列重复/真除法//求整商%求余数**幂运算+ 运算符+运算符除了用于算术加法以外,还可用于列表、元组、字符串的连接print('a原创 2020-09-23 23:50:49 · 1131 阅读 · 0 评论 -
Python入门(四):Python变量
文章目录1. 变量2. 变量赋值(=)3. 相互转化数值型变量1. 变量变量不需要提前声明一旦创建一个变量,就需要给该变量赋值2. 变量赋值(=)一个变量值赋给一个变量名一个值同时赋给多个变量几个变量同时赋值变量交换a, b = b, a3. 相互转化数值型变量int, float, bool, complex(real+J/j后缀)type()显示数据类型内置函数实现数值型数据类型的转换(不能把复数转换为整型)print(int(原创 2020-09-23 23:44:41 · 199 阅读 · 0 评论 -
Python入门(三):Python的输入和输出
文章目录1. 输入函数2. 输出函数1. 输入函数获得用户输入之前,input()函数可以包含一些提示性文字无论输入什么,返回都是字符串<变量> = input(<提示性文字>)2. 输出函数print()print(, , …, ) 输出自动在两个语句之间加空格,用+则不会print()函数用来输出字符信息,或以字符形式输出变量print()函数可以输出各种类型变量的值print()函数通过%来选择要输出的变量print("The average n原创 2020-09-23 23:42:28 · 360 阅读 · 0 评论 -
Python入门(二):Python编码规范
文章目录1. 缩进2. 空行与空格3. 标识符命名4. Python 3.x保留字列表(33个)5. 续行6. 注释1. 缩进每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。1个缩进 = 4个空格用以在Python中标明代码的层次关系缩进是Python语言中表明程序框架的唯一手段2. 空行与空格在每个类、函数定义或一段完整的功能代码之后增加一个空行在运算符两侧各增加一个空格,逗号后面增加一个空格,让代码适当松散一点,不要过于密集3. 标识符命原创 2020-09-23 23:38:09 · 2883 阅读 · 3 评论 -
Python入门(一):引论
1. 人工智能编程语言10种人工智能Artificial Intelligence (AI)和机器学习Machine Learning (ML)编程语言PythonR-language(1)开源,免费开发。开源: 可以修改源代码免费开发: 免费提供给用户使用二者不同(2)解释型和动态类型的编程语言解释型: 类似同声传译(3)用于统计分析和控制数据(4)多种操作系统运行JavaLisp(List Processing)(1)最古老的AI编程语言,原创 2020-09-23 23:28:15 · 193 阅读 · 0 评论 -
Python入门系列目录
点击标题即可跳转原创 2020-09-23 23:24:20 · 518 阅读 · 0 评论