能力说明:
通过课程学习与实战项目,熟练掌握Python的语法知识与编程技能,具备Python语言的函数、面向对象、异常处理等能力,常用开发框架的实际应用和开发能力,具备使用,掌握Python数据分析三剑客Matplotlib、Numpy、Pandas的概念与应用场景,掌握利用Python语言从数据采集到分析的全流程相关知识。
暂时未有相关云产品技术能力~
暂无个人介绍
Pytorch 基于ResNet-18的服饰识别(使用Fashion-MNIST数据集)
Pytorch 基于NiN的服饰识别(使用Fashion-MNIST数据集)
Pytorch 基于VGG-16的服饰识别(使用Fashion-MNIST数据集)
Pytorch 基于AlexNet的服饰识别(使用Fashion-MNIST数据集)
Pytorch 基于LeNet的手写数字识别
Python sklearn实现K-means鸢尾花聚类
Python sklearn实现SVM鸢尾花分类
如果我们在索引时只提供一个值,那它会被认为是行索引,列索引则默认是。到 最后一个元素,即行向量。行所有列的元素,即行向量。行最后一列的值,即数值。行所有列的元素,即矩阵。行的所有列都会被赋值为。行的值会被赋值为与第。用作索引时,冒号运算符。
上面的两个方法都可以创建等间距向量,但它们创建出的向量都是行向量,如何得到等间距的列向量呢?如果我们知道向量中所需的元素数目(而不是每个元素之间的间距),则可以改用。我们也可以在创建时就进行转置,此时我们使用圆括号。包含许多函数,可帮助我们创建常用的矩阵,如。为我们创建等间距向量提供了更简便的写法。,单个称为标量的数值实际上是一个。这样我们能够得到一个包含元素。来生成一个等间距的向量,同时。为我们提供了转置运算符。来将一个向量进行转置。
4只小鸭子在一个大的圆形水池中,分别随机的出现在圆圈中的任意一点。4只鸭子出现在同一个半圆内的概率是多少?本文将带领大家使用蒙特卡洛方法求解此题。
它在参与表达式运算时,会让表达式更短,从而更显。本文将教大家 Python 三元表达式的。,在参与表达式计算时显得不那么简洁。,其长度会短于传统三元表达式。通过三元表达式,可以将。
在 Python 中, 可以通过第三方库 json 方便地实现 JSON 格式字符串与 Python 字典和列表的相互转换。JSON(javascript object notation)是一种和语言无关的轻量级数据交换格式, 采用文本格式来存储和表示数据。模块能够将 Python 对象直接存储到文件中。在需要使用数据时,直接从文件中读取,并还原为 Python 对象。因此, 存储的文件如果直接使用文本编辑器,则打开无法查看具体内容。在 Python 中, 提供的。相反,将上面代码中的。
假如在根目录的 Users 文件夹下有一个文件夹 xiaoaoquan, 其中有一个 Documents 文件夹,存储了 report.docx 文件。路径指明了文件在计算机中存储的位置。函数创建文件对象赋值给 file1 后, 直接查看其内容可以看到该 对象打开的物理文件(含路径和文件名),打开模式和编码。码只能表示英文字母和符号的限制, 为每种语言的每个字符设定了唯一的编码,以满足跨语言、跨平台进行文本转换和处理的要求。方法返回指 定目录中包含的文件和子目录列表,默认情况下返回当前工作目录中的信息。
除了可以通过加号来拼接字符串之外,我们还可以使用格式化字符串的方法来拼接字符串。中,字符串没有相加的数学运算,但它可以通过加号。是唯一可以用于字符串运算的算数运算符,别的。这样也可以实现字符串的拼接。也可以和复合赋值运算符。
它能够把一个大型复杂的问题转化为一个与原问题相似的较小规模的问题来求解,用非常简洁的方法来解决重要问题。就像一个人站在装满镜子的房间中,看到的影像就是递归的结果。以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……程序设计可以让你的工作由几天节约至几个小时,好的算法可能可以让你的程序运行时间从几个小时节约至几秒钟。被计算了无数次,如果我们能在第一次计算出来后就存储下来,以供后面使用,会不会快些?,基例不需要再次递归,它是确定的表达式;
如果变量是在函数体内被创建(首次赋值)的,这个变量就只能在该函数体内使用,是这个函数体的局部变量。函数的参数作为一类特殊的变量,是在函数调用时首先被创建并赋值的。作用域能避免程序代码中的名称冲突,在一个函数中定义的变量名称不会干扰另外一个函数内的变量。因此, 在交互式命令行下, 在所有函数体之外定义的变量, 在整个交互过程中都是可见的, 直到被删除或者交互窗口关闭。相对于局部变量,在所有函数之外创建的变量,在整个文件范围内都是可见的。在这种情况下,在局部作用域内,可见的是局部变量,全局变量被暂时隐藏起来。
Python 中使用def下面这段代码定义了一个简单函数。这段代码仅仅是对函数的定义,并没有调用执行。这条定义语句运行后会新建一个名为repeator的变量名,其类型为function,即函数。与内置函数一样,定义完函数后,可以通过函数名调用执行。def repeator(s , n) : result = s * n print(result) repeator('嗷' , 3)在很多情况下,函数需要将计算的结果返回到调用处。在这类函数的函数体中,通常包含一条return。
到目前为止, 我们已经学习了 Python 中常见的几种组合数据类型:字符串、列表、 元组、字典和集合,如表所示。集合类型与数学中集合的概念是一致的。它是由 0 个或多个唯一的、不可变的元素构成的无序组合。虽然集合中的元素必须是不可变类型,但是集合本身是可变的,可以添加、删除和清空集合元素。与列表、字典一样, 集合是可变类型。函数创建一个集合, 或者用花括号将一系列以逗号隔开的元素包裹起来创建。集合中的元素是不可重复的, 常常用于检查某个元素是否存在。集合的元素不能是可变类型,例如列表、字典或者集合本身。
字典推导式利用每次迭代收集表达式的键和值结果,并将该键值对添加到新的字典中。当键存在时, 可以通过类似列表元素赋值的方式, 给字典的键赋值来修改键所对应的值。这三个方法返回类似列表的值, 分别对应字典的键、值和键值对。不同的是,如果键不存在,这个键值对会被添加到字典中。如果数据存储在字典中,可以通过字典的键来指定占位符替换的值。在删除时应给出需要删除的键,如果只给出字典变量本身,则会删除整个字典变量。字典最主要的用法是查找与特定键相对应的值, 可通过索引符号来实现。字典有多种特定的方法,如下表所示,其中。
用户输入或者从文件读取的数据通常都是字符串类型, 如果需要进行数学运算,需要将字符串转换为数字类型后再运算。这个函数可以将这些序列并排的元素配对成元组后,组成一个新的可迭代对象。循环用于遍历序列(字符 串、列表和元组等)或任何可迭代对象内的元素,是一个通用的迭代器。在Python中,变量可以通过多重赋值的方式进行赋值,这种方式同样可以用在。两种循环结构,利用循环语句,可以让一个代码块一遍又一遍的执行。循环,脱离该循环后程序从循环后代码继续续执行。是一个函数, 也就是对序列中元素进行的操作。
还有一些语句不仅仅由一行代码构成,例如分支和循环语句,在选择不同的分支或者 循环条件满足的情况下,有时需要执行多行代码。分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式,包括单分支结构和二分支结构。缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。相同层级的代码必须以垂直对齐的方式来组织, 即相同的缩进。输入冒号后回车,新的代码行将自动缩进,以便于输入代码块中的语句。子句会被执行,但有时候可能你希望,“许多”可能的子句中有一个被执行。时,跳过代码块,继续执行后续代码。
正则表达式是一种描绘字符串的匹配模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 学会了正则表达式,我们就可以定向查找网页中的某些内容了,快去结合爬虫练练手吧。
除了两个方面,数据类型几乎与列表数据类型一样。首先,元组输入时用圆括号(),而不是用方括号[]元组与列表的主要区别还在于,元组像字符串一样,是。如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明这种情况。否则,Python 将认为,你只是在一个普通括号内输入了一个值。逗号告诉 Python,这是一个元组(不像其他编程语言,Python 接受列表或元组中最后表项后面跟的逗号)。利用你可以用元组告诉所有读代码的人,你不打算改变这个序列的值。如果需要一个永远不会改变的值的序列,就使用元组。
它包含多个值构成的序列。术语“列表值”指的是列表本身(它作为一个值,可以保存在变量中,或传递给函数,像所有其他值一样),而不是指列表值之内的那些值。列表值看起来像这样:[‘apple’, ‘banana’, ‘orange’, ‘watermelon’]。就像字符串值用引号来标记字符串的起止一样,。列表中的值也称为“表项”。表项用(就是说,它们是“逗号分隔的”)。列表的长度和内容都是,可自由对列表中数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。
在程序设计中,经常会遇到要处理很多相同类型的数据的情况,比如统计全班同学的分数、统计每篇博客的浏览量、统计每种商品的单价等等。这时如果用一个变量存储一个数据,难免有些不便。Python 中的序列类型就能很好地解决这些问题。序列类型是组合数据类型的一类,能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序更容易。序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。字符串(str):由按照一定顺序组合在一起的字符来构成的,如:'Python'列表(list。
jupyter notebook是我们常用的 Python 编辑环境,但是它的配色风格与字体风格却有些单调,使用久了难免有些厌倦,本文将教大家更改jupyter notebook的主题和字体。jupyterthemes的安装与使用。如何导入自己的字体,自用主题字体分享。
是第三方专门为了解决某些特定问题而编写的工具。Python 本身自带了一些常用的模块,例如,math模块中具有较为复杂的求解正弦、余弦和平方根等运算,这些模块不需要安装,但是在使用前需要导入。Linux 和 MacOS 中则是在终端输入上述命令。导入模块使用。
Python 表达式支持多个比较运算,这种表达式和数学中的表达方式非常接近。类型是数字类型,在参与数学计算时会分别转型为。Python 中3个布尔操作符(
函数等待用户在键盘上输入一些文本,并按下回车键。可以改变默认的间隔字符(默认为空格。函数打印结尾默认会添加换行符。,通过传入关键字参数。
如果字符串中包括某个网络路径,网络路径中的反斜杠会被 Python 认作转义字符,我们需要在每个反斜杠前面加一个反斜杠才行,十分麻烦。但是这种方法有局限性,当字符串内容中有所有类型的引号时,这种方法仍不能很好地划清界限,所以我们更常用的一种方法是使用。Python 中有更便捷的方法让字符串中的转义字符失效,即在字符串前加。当字符串内容中包含引号时,Python 会错误理解字符串的包含范围。Python 中的编号是双向的,也可以将最右边记为。方法中模板字符串的槽除了包括参数序号,还可以通过冒号。
Python 中数字类型有4种,分别是整型int、浮点型float、复数型comlex、布尔型bool。本文为大家介绍整型、浮点型两种类型。
表达式是程序设计语言中最基本的结构,包含 “”和“”,并且总是可以求值(即归约)为单个值。
本篇文章将教大家如何用pycdc工具将.pyc文件转换为 Python 源代码,适用于 Python3.9及更高版本。
这里选择为所有用户添加到环境变量(同时可以勾选创建桌面快捷方式),继续。选择和系统对应的版本,推荐选择安装包版。这里我们用红框选中的版本举例。勾选同意证许可证,然后继续点击。
但是当大范围转小范围,或者是高精度转低精度的时候,就要考虑范围和精度的问题了。前提是输入的字符串要能够直接转换成对应类型的值,而且要符合目标的存储范围。上面的两种方法常用于数值之间的转换和字符串转换,我们还可以使用。可以实现更加精确的转换,同时,适用的变量类型也更多。是将一个类型的值手动转换成目标类型的转换方式。如果是其他类型转换成字符串则更加简单,只需要使用。类型的变量,这里面就发生了隐式转换。则是不同变量类型之间的自动转换。即不同变量类型之间的相互转换。除此之外,我们还可以通过。类型的变量也可以存储。
最重要的一个功能是,它可以对不同索引的对象进行算术运算。在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集。是一种类似于一维数组的对象,它由一组数据(各种 NumPy 数据类型)以及一组与之相关的数据标签(即索引)组成。每个索引都有一些方法和属性,它们可用于设置逻辑并回答有关该索引所包含的数据的常见问题。看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。跟对应的 NumPy 数组方法相比,它们都是基于没有缺失数据的假设而构建的。对于带有重复值的索引,数据选取的行为将会有些不同。
是一种字符,用来表示那些带有特殊含义的字符,是C#字符串知识中重要的组成部分。比如用字符串表示文件路径的时候,如果转义字符生效,我们就需要将原来的单个反斜杠。为我们提供了取消转义字符的操作,我们只需要在字符串前加上。都改成两个,这样十分的麻烦,有什么简单一点的方法呢?加一个普通字符组成,它们合在一起表示一个。就是一个转义字符,表示换行,所以。与后面的字符结合表示转义字符。有的时候我们不想让反斜杠。就只是表示一个反斜杠了。
上两期我们讲了 Matplotlib 库的基本语法和基本绘图展示。这期我们来说说如何用 Matplotlib 库绘制常用统计图。用hist()方法来绘制直方图。用boxplot()方法来绘制箱线图。用errorbar()方法来绘制误差条图。用violinplot()方法来绘制小提琴图。用eventplot()方法来绘制尖峰栅格图。用hist2d()方法来绘制二维直方图/散点密度图。用hexbin()方法来绘制Hexbin散点图。用pie()方法来绘制扇形图。
上期我们讲了 Matplotlib 库的基本语法,并以折线图为例,绘制了我们的第一幅图表。这期我们来说说如何用 Matplotlib 库绘制其他常用图表。plot()是 Matplotlib 库中绘制折线图的方法,而绘制散点图,我们会使用scatter()。在 Matplotlib 库中,我们使用bar()方法来绘制柱状图。使用stem()方法来绘制火柴图。使用step()方法来绘制阶梯图。使用fill_between()方法来填充一段区间。
常量的广义概念是:不变化的量。在C#中,除了那些已经写死的,如:“hello”,4,2.718等字面量以外,我们还可以自定义一个常量。C#与变量的定义十分相似,其中,const为C#中的关键字,表示常量。data_type为数据类型,为常量名,value为初始值。const string myName = "小嗷犬";
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到自己的猎物(所需要的资源),那么它就会将其抓取下来。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的链接,那么它就可以爬到另一张网上来获取数据。
简称BS4(其中 4 表示版本号)是一个 Python 中常用的页面解析库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。相比于之前讲过的lxml库,更加简单易用,不像正则和 XPath 需要刻意去记住很多特定语法,尽管那样会效率更高更直接。对大多数 Python 使用者来说,好用会比高效更重要。库为第三方库,需要我们通过pipBS4解析页面时需要依赖文档解析器,所以还需要一个文档解析器。Python 自带了一个文档解析库, 但是其解析速度稍慢,所以我们结合上篇内容(
lxml 是 Python 常用的文档解析库,能够高效地解析 HTML/XML 文档,常用于 Python 爬虫。lxml 为第三方库,需要我们通过pip命令安装。这个爬虫程序爬取了CSDN首页的所有.jpg、.jpeg、.png格式的图片,快来自己尝试一下吧!
requests是 Python 中比较常用的网页请求库,主要用来发送 HTTP 请求,在使用爬虫或测试服务器响应数据时经常会用到,使用起来十分简洁。requests为第三方库,需要我们通过pip方法描述发送 DELETE 请求到指定 url发送 GET 请求到指定 url发送 HEAD 请求到指定 url发送 PATCH 请求到指定 url发送 POST 请求到指定 url发送 PUT 请求到指定 url发送指定的请求方到指定 url每次调用requests请求之后,会返回一个。
这里的BOSS战是我自己想的,打不动的砖块实在是没有什么意思,于是这个版本我更新了两场BOSS战,我们终于可以打BOSS(其实目前只是会动的大砖块)了。我打算实现道具,并为第一个BOSS加上技能,同时为游戏添加BGM,最后为了给我其他没学过Python的同学测评,我将其编译成了。那是一个百无聊赖的夜晚,我回顾了自己自大学以来的经历,感觉生活十分平淡,学习了许多计算机知识,但是似乎什么东西都没有用上。游戏诞生的喜悦,使我改变了最开始只是简单复现的计划,我打算写进去更多的东西,更完整地复现功能,最好还能有点。
Matplotlib是一个第三方python 2D绘图库,利用它可以画出许多高质量的图像。只需几行代码即可生成直方图,条形图,饼图,散点图等。Matplotlib库的名字来源于MATLAB,模仿MATLAB构建,语法也十分相似。
C# 中有五种常用的输入输出方法,Console.ReadLine(),Console.ReadKey(),Console.Read(),Console.WriteLine(),Console.Write()
上期我们介绍了库的使用方法,已经可以将.py文件编译成.exe文件运行了,这期博客,我们将教大家如何将一个编译出的.exe文件反编译出源文件。
Pyinstaller 是一个第三方库,它能够在Windows、Linux、Mac OS X等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。PyInstaller 支持 Python 2.7 和 Python 3.3+。可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成.exe文件,需要在Windows系统上运行 PyInstaller 打包。
计数排序是一种非基于比较的排序算法,该算法于1954年由提出。找出待排序的数组中最大和最小的元素统计数组中每个值为i的元素出现的次数,存入数组C的第i项对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)反向填充目标数组:将每个元素i放在新数组的第C[i]项,每放一个元素就将C[i]减去1它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n + k)(其中k是整数的范围),快于任何比较排序算法。当然这是一种牺牲空间换取时间的做法,而且当O(k)>......