Python基础教程(第3版)小笔记
文章平均质量分 84
该专栏是本人在学习《Python基础教程 (第3版)》的时候所记录下来的关键要点,书中的核心知识点也都在本篇博客中所涉及,每天进步一点点。
beyond谚语
你只管努力,剩下的交给天意。
展开
-
No module named ‘skimage.metrics‘在Anaconda3中的解决方法
1,进入Anaconda Prompt2,进行安装:pip install scikit-image3,若还是报错,尝试进行更新一下pip install scikit-image --upgrade原创 2022-03-09 20:01:06 · 1974 阅读 · 0 评论 -
第十九章 趣味编程
第十九章 趣味编程本章将介绍一些通用的Python编程指南。为何要有趣Python有趣的地方之一就是让用户的编程效率非常高效。极限编程是一种软件开发方法编程柔术python的灵活性描述原型设计Python的优点之一是让你能够快速地编写程序。要更深入地了解面临的问题,编写原型程序是一种很好的办法。配置灵活性形式多样。配置旨在让程序的某些方面修改起来更容易——对你和用户来说都如此。自动化测试能够轻松地修改程序,有了测试后,就能确信程序在修改后也能正确地运行。原创 2022-02-19 18:13:05 · 384 阅读 · 0 评论 -
第十八章 程序打包
第十八章 程序打包Setuptools和较旧的Distutils都是用于发布Python包的工具包,能够使用Python轻松地编写安装脚本。这些脚本可用于生成可发布的归档文档,供用户用来编译和安装编写库。Setuptools并非只能用于创建基于脚本的Python安装程序,还可用于编译扩展。通过将其与扩展py2exe和py2app结合起来使用,还可创建独立的Windows和macOS可执行程序。Setuptools基础如果没有安装Setuptools,可使用pip安装简单的Setuptools安装原创 2022-02-19 17:30:29 · 780 阅读 · 0 评论 -
第十七章 扩展Python
第十七章Python什么都能做,真的是这样。这门语言功能强大,但有时候速度有点慢。鱼和熊掌兼得本章讨论确实需要进一步提升速度的情形。在这种情况下,最佳的解决方案可能不是完全转向C语言(或其他中低级语言),建议你采用下面的方法(这可满足众多的速度至上需求)。使用Python开发原型(有关原型开发的详细信息,请参阅第19章)。对程序进行性能分析以找出瓶颈(有关测试,请参阅第16章)。使用C(或者C++、C#、Java、Fortran等)扩展重写瓶颈部分。这样得到的架构(包含一个或多个C语言组件的原创 2022-02-10 17:16:22 · 1065 阅读 · 0 评论 -
第十六章 测试基础
第16章 测试基础在编译型语言中,需要不断重复编辑、编译、运行的循环。在Python中,不存在编译阶段,只有编辑和运行阶段。测试就是运行程序。先测试再编码极限编程先锋引入了“测试一点点,再编写一点点代码”的理念。换而言之,测试在先,编码在后。这也称为测试驱动的编程。准确的需求说明要阐明程序的目标,可编写需求说明,也就是描述程序必须满足何种需求的文档(或便条)。测试程序就是需求说明,可帮助确保程序开发过程紧扣这些需求。假设你要编写一个模块,其中只包含一个根据矩形的宽度和高度计算面积的函数。动原创 2022-02-08 22:49:31 · 638 阅读 · 0 评论 -
第十五章 Python和Web
第十五章 Python和Web原创 2022-02-08 21:48:17 · 947 阅读 · 0 评论 -
第十四章 网络编程
第十四章 网络编程本章首先概述Python标准库中的一些网络模块。然后讨论SocketServer和相关的类,并介绍同时处理多个连接的各种方法。最后,简单地说一说Twisted,这是一个使用Python编写网络程序的框架,功能丰富而成熟。几个网络模块模块socket网络编程中的一个基本组件是套接字(socket)。套接字基本上是一个信息通道,两端各有一个程序。套接字分为两类:服务器套接字和客户端套接字。为传输数据,套接字提供了两个方法:send和recv(表示receive)。要发送数据,可原创 2022-01-26 17:26:56 · 2258 阅读 · 0 评论 -
第十三章 数据库支持
第十三章 数据库支持本章讨论Python数据库API(一种连接到SQL数据库的标准化方式),并演示如何使用这个API来执行一些基本的SQL。最后,本章将讨论其他一些数据库技术。关Python支持的数据库清单Python数据库API标准数据库API(DB API)Python官方维基百科中的数据库编程指南全局变量变量名描述apilevel使用的Python DB API版本;是一个字符串常量,指出了使用的API版本。threadsafety模块的线程安全程度如何;是原创 2022-01-25 18:06:19 · 1477 阅读 · 0 评论 -
第十二章 图形用户界面
第十二章 图形用户界面GUI就是包含按钮、文本框等控件的窗口Tkinter是事实上的Python标准GUI工具包创建GUI示例应用程序初探导入tkinterimport tkinter as tk也可导入这个模块的所有内容from tkinter import *要创建GUI,可创建一个将充当主窗口的顶级组件(控件)。为此,可实例化一个Tk对象。top = Tk()调用函数mainloop以进入Tkinter主事件循环,而不是直接退出程序。from tkinter impor原创 2022-01-25 16:59:27 · 2613 阅读 · 1 评论 -
第十一章 文件
第十一章 文件打开文件当前目录中有一个名为beyond.txt的文本文件,打开该文件调用open时,原本可以不指定模式,因为其默认值就是’r’。import iof = open('beyond.txt')文件模式值描述‘r’读取模式(默认值)‘w’写入模式‘x’独占写入模式‘a’附加模式‘b’二进制模式(与其他模式结合使用)‘t’文本模式(默认值,与其他模式结合使用)‘+’读写模式(与其他模式结合使用)文件的基本方原创 2022-01-24 20:53:00 · 506 阅读 · 0 评论 -
第十章 开箱即用
第十章 开箱即用模块使用import将函数从外部模块导入到程序中。import mathmath.sin(0)#结果为:0.0模块就是程序在文件夹中创建一个test.py,内容如下:位置如下:sys.path包含一个目录(表示为字符串)列表,解释器将在这些目录中查找模块。import syssys.path.append('E:\Jupyter_workspace\study\python\book')import text#结果为:hello beyond band!程序运原创 2022-01-13 11:40:45 · 976 阅读 · 0 评论 -
第九章 魔法方法、特性和迭代器
第九章 魔法方法、特性和迭代器构造函数构造函数(constructor),它其实就是初始化方法,只是命名为__init__。构造函数不同于普通方法的地方在于,将在对象创建后自动调用它们。在Python中,创建构造函数很容易,只需将方法init的名称从普通的init改为魔法版__init__即可。class Beyond: def __init__(self): self.band = 1999sq = Beyond()sq.band#结果为:1999给构造函数添加原创 2022-01-12 21:31:54 · 354 阅读 · 0 评论 -
第八章 异常
第八章 异常异常事件可能是错误(如试图除以零),也可能是通常不会发生的事情。Python提供功能强大的替代解决方案——异常处理机制。异常是什么?Python使用异常对象来表示异常状态,并在遇到错误时引发异常。异常对象未被处理或捕 获)时,程序将终止并显示一条错误消息(traceback)。1 / 0'''ZeroDivisionError Traceback (most recent call last)<ipython-input-146-05c9758a9c21> in &原创 2022-01-11 22:51:17 · 367 阅读 · 0 评论 -
第七章 再谈抽象
第七章 再谈抽象对象魔法多态:可对不同类型的对象执行相同的操作,而这些操作就像“被施了魔法”一样能够正常运行。(即:无需知道对象的内部细节就可使用它)(无需知道对象所属的类(对象的类型)就能调用其方法)封装:对外部隐藏有关对象工作原理的细节。(无需知道对象的构造就能使用它)继承:可基于通用类创建出专用类。1,多态即便你不知道变量指向的是哪种对象,也能够对其执行操作,且操作的行为将随对象所属的类型(类)而异。2,多态和方法与对象属性相关联的函数称为方法如果有一个变量x,你无需知道它是字符串还原创 2022-01-07 11:45:39 · 348 阅读 · 0 评论 -
第六章 抽象
第六章 抽象自定义函数要判断某个对象是否可调用,可使用内置函数callableimport mathx = 1y = math.sqrtcallable(x)#结果为:Falsecallable(y)#结果为:True使用def(表示定义函数)语句,来定义函数def sq(name): return name + ',say:Hello,beyond!'print(sq("yanyu"))#结果为:yanyu,say:Hello,beyond!print(sq("sq"))原创 2022-01-07 11:45:12 · 106 阅读 · 0 评论 -
第五章 条件、循环及其他语句
第五章 条件、循环及其他语句再谈print和importprint现在实际上是一个函数1,打印多个参数用逗号分隔,打印多个表达式sep自定义分隔符,默认空格end自定义结束字符串,默认换行print("beyond",'yanyu',23)#结果为:beyond yanyu 23a = "beyond,"b = "yanyu"c = 23print(a, b, c)#结果为:beyond, yanyu 23print(a, b + ',' ,c)#结果为:beyond, yanyu原创 2022-01-07 11:44:32 · 382 阅读 · 0 评论 -
第四章 字典
第四章 字典{'键':'值','名字':'电话号码'}映射:通过名称来访问其各个值的数据结构列表:将一系列值组合成数据结构并通过编号来访问各个值字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下键可能是数、字符串或元组字典由键(必须唯一,可以是任意数据类型但是唯一即可)及其相应的值组成,这种键-值对称为项键为名字,值为电话号码每个键与其值之间都用冒号(:)分隔,项之间用逗号分隔,整个字典放在花括号内空字典(没有任何项)用两个花括号表示{}。phones = {'y原创 2022-01-07 11:43:45 · 91 阅读 · 0 评论 -
第三章 字符串
第三章 字符串%字符串是不可变的,所有的元素赋值和切片赋值都是非法的Python提供了多种字符串格式设置方法yanyu = "hello, %s I like %s age is %s"beyond = ("beyond","band",23)yanyu % beyond#结果为:'hello, beyond I like band age is 23'a = "age is %.3f and name is %.2f"b = (23,14)a % b#结果为:'age is 23.000原创 2022-01-07 11:43:12 · 277 阅读 · 0 评论 -
第二章 列表和元组
第二章 列表和元组在Python中,最基本的数据结构为序列(包括列表、元组、字符串等)(sequence)列表是可以修改的,而元组不可以Python支持一种数据结构的基本概念,名为容器(container)容器基本上就是可包含其他对象的对象两种主要的容器是序列(如列表和元组)和映射(如字典)在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。有一种既不是序列也不是映射的容器,它就是集合(set)通用的序列操作通用的序列操作包括索引、切片、相加、相乘和成员资格检查1,索引原创 2022-01-07 11:42:19 · 207 阅读 · 0 评论 -
第一章 基础知识
这篇博文是本人在学习《Python基础教程 (第3版)》的时候所记录下来的关键要点,书中的核心知识点也都在本篇博客中所涉及,需要耐心每天坚持点点滴滴学习进步第一章 基础知识数和表达式1,执行整除运算//4//3 —>1,整除的重点在于向下圆整,-10 // 3 向下圆整得到 -4,而不是-32,求余(求模)运算符%x % y 等价于 x - ((x // y) * y)3,乘方(求幂)运算符**注意:乘方运算符要比求负(单目运算符)的优先级高,-3 ** 2 等价于 -(3 ** 2)原创 2022-01-07 11:41:27 · 555 阅读 · 0 评论 -
Python中的a+=a和a=a+a的区别(认真看完后,我相信你一定会回来感谢我的)
一、先来两段代码!a = 100def beyond(num): num+=num print(num) beyond(a)#结果为:200print(a)#结果为:100a = 100def beyond(num): num=num+num print(num) beyond(a)#结果为:200print(a)#结果为:100通过这两段代码的结果可以看出,最终的结果和大家想的完全一样。但事实这两段代码是完全等价的嘛?答案是否定的原创 2021-12-28 15:11:14 · 2047 阅读 · 0 评论 -
Python交换两个变量的三种方法
一、借助于第三个变量(很常用)a = 5b = 6c = 0c = aa = bb = cprint("a=%d,b=%d"%(a,b))#结果为:a=6,b=5二、如何不借助第三个变量实现两个变量交换数据呢?a = 5b = 6a = a+bb = a-ba = a-bprint("a=%d,b=%d"%(a,b))#结果为:a=6,b=5三、这种方法也是Python独有的a = 5b = 6a,b = b,aprint("a=%d,b=%d"%(a,b))原创 2021-12-28 10:48:15 · 762 阅读 · 0 评论 -
Python匿名函数---排序
nums = [1,2,3,5,4,7,87,4,9,56,44,7,5]nums.sort()#默认从小到大排序nums#结果为:[1, 2, 3, 4, 4, 5, 5, 7, 7, 9, 44, 56, 87]nums = [1,2,3,5,4,7,87,4,9,56,44,7,5]nums.sort(reverse=True)#从大到小排序nums#结果为:[87, 56, 44, 9, 7, 7, 5, 5, 4, 4, 3, 2, 1]nums = [1,2,3,5,4,7,87原创 2021-12-28 09:42:43 · 2059 阅读 · 0 评论