Python
文章平均质量分 89
Java全栈研发大联盟
好记性不如烂笔头,好好学
展开
-
玩转Pandas函数
pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。...原创 2022-04-15 08:55:13 · 3538 阅读 · 0 评论 -
Python的定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。我们以自定义一个求绝对值的my_abs函数为例:请自行测试并调用my_abs看看返回结果是否正确。请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂...转载 2019-07-22 14:58:21 · 621 阅读 · 0 评论 -
pycharm配置解释器
第一步:第二步:选择安装的python解释器的路径,然后保存即可原创 2019-07-26 09:07:19 · 739 阅读 · 0 评论 -
Python的调用函数
Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/3/library/functions.html#abs也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。调用abs函数:>>> a...转载 2019-07-22 11:12:58 · 581 阅读 · 0 评论 -
PyCharm 安装教程以及环境的搭建(Windows)
PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍一下 PyCharm 在 Windows下是如何安装的。这是 PyCharm 的下载地址:http://www.jetbrains.com/pycharm/download/#section=windows进入该网站后,我们会看到如下界面:professi...转载 2019-07-22 11:01:47 · 2435 阅读 · 0 评论 -
Python的枚举类
当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份:JAN = 1FEB = 2MAR = 3...NOV = 11DEC = 12好处是简单,缺点是类型是int,并且仍然是变量。更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能:from enum import Enum...转载 2019-07-25 14:04:49 · 685 阅读 · 0 评论 -
Python里的定制类
看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。__slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类。__ str__我们先定义一个Student类,打印一个实例:>>&...转载 2019-07-25 12:53:33 · 576 阅读 · 0 评论 -
Python里的多重继承
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。回忆一下Animal类层次的设计,假设我们要实现以下4种动物:如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次:但是如果按照“能跑”和“能飞”来归类,我们就应该设计出这样的类的层次:如果要把上面的两种分类都包含进来,我们就得设计更多的层次:这么一来,类的层次就复杂了:如果要再增加“宠物类”和“...转载 2019-07-25 10:44:04 · 507 阅读 · 0 评论 -
Python的使用@property
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:class Student(object)...转载 2019-07-25 10:09:54 · 422 阅读 · 0 评论 -
Python的使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:class Student(object): pass然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.name = 'Michael' # 动态给实例绑定一个属性>...转载 2019-07-25 09:40:17 · 469 阅读 · 0 评论 -
Python的递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:fact(n) = n! = 1 x 2 x 3 x … x (n-1) x n = (n-1)! x n = fact(n-1) x n所以,fact(n)可以表示为n x fact(n-1),只有...转载 2019-07-22 17:33:11 · 487 阅读 · 0 评论 -
Python的函数的参数
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。位置参...转载 2019-07-22 17:02:52 · 475 阅读 · 0 评论 -
Python的切片
取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素,应该怎么做?笨办法:>>> [L[0], L[1], L[2]]['Michael', 'Sarah', 'Tracy']之所以是笨办法是因为扩展一下,...转载 2019-07-23 09:36:43 · 386 阅读 · 0 评论 -
python的sorted()方法
排序算法排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。Python内置的sorted()函数就可以对list进行排序:>>> sorted([36, 5, -12, 9, -21])[-21...转载 2019-07-23 15:19:05 · 601 阅读 · 0 评论 -
python的filter函数
Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。例如,在一个list中,删掉偶数,只保留奇数,可以这么写:把一个序列中的空字符串删掉,可以这么写:可见用filter()这个高阶函数,关键在于正...转载 2019-07-23 14:59:51 · 8116 阅读 · 1 评论 -
Python的高阶函数map/reduce
map/reducePython内建了map()和reduce()函数。我们先看map。map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现如下...转载 2019-07-23 14:24:16 · 573 阅读 · 0 评论 -
Python的高阶函数
高阶函数英文叫Higher-order function。什么是高阶函数?我们以实际代码为例子,一步一步深入概念。变量可以指向函数以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:>>> abs(-10)10但是,如果只写abs呢?>>> abs<built-in function abs>可见,abs(-1...转载 2019-07-23 12:36:31 · 446 阅读 · 0 评论 -
Python的迭代器
我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象:>>> ...转载 2019-07-23 11:41:34 · 415 阅读 · 0 评论 -
Python的生成器
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循...转载 2019-07-23 11:20:17 · 436 阅读 · 0 评论 -
Python的列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):>>> list(range(1, 11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]但如果要生成[1...转载 2019-07-23 10:24:50 · 455 阅读 · 0 评论 -
Python的迭代
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。在Python中,迭代是通过for … in来完成的,而很多语言比如C语言,迭代list是通过下标完成的,比如Java代码:for (i=0; i<list.length; i++) { n = list[i];}可以看出,Python的for...转载 2019-07-23 09:58:11 · 462 阅读 · 0 评论 -
Python的实例属性和类属性
由于Python是动态语言,根据类创建的实例可以任意绑定属性。给实例绑定属性的方法是通过实例变量,或者通过self变量:class Student(object): def __init__(self, name): //给实例绑定属性 self.name = names = Student('Bob')s.score = 90但是,如果Student类本...转载 2019-07-25 09:20:47 · 469 阅读 · 0 评论 -
Python的获取对象信息
当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?使用type()首先,我们来判断对象类型,使用type()函数:基本类型都可以用type()判断:>>> type(123)<class 'int'>>>> type('str')<class 'str'>>>> type(None)...转载 2019-07-25 09:14:50 · 441 阅读 · 0 评论 -
Python的继承和多态
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印:class Animal(object): def run(self): ...转载 2019-07-24 17:20:30 · 489 阅读 · 0 评论 -
Python使用list和tuple
listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示:>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob', 'Tracy']变量clas...转载 2019-07-15 16:48:26 · 494 阅读 · 0 评论 -
Python的字符串和编码
字符编码我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是655...转载 2019-07-15 16:09:53 · 498 阅读 · 0 评论 -
Python的数据类型和变量
数据类型计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:整数Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080...转载 2019-07-15 15:04:05 · 427 阅读 · 0 评论 -
Python的输入和输出
输出用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:>>> print('hello, world')print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:>>> print('The quick brown fox', 'jumps over', 'the...转载 2019-07-15 14:43:53 · 745 阅读 · 0 评论 -
Python代码运行助手
原文地址:https://www.jb51.net/article/88676.htm和https://www.liaoxuefeng.com/wiki/1016959663602400/1018877595088352转载 2019-07-15 14:24:43 · 680 阅读 · 0 评论 -
使用文本编辑器来写Python代码
在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为一个文件,这样,程序就可以反复运行了。现在,我们就把上次的'hello, world'程序用文本编辑器写出来,保存下来。那么问题来了:文本编辑器到底哪家强?推荐两款文本编辑器:一个是Sublime Text,...转载 2019-07-15 13:58:52 · 4204 阅读 · 1 评论 -
第一个Python程序
在正式编写第一个Python程序前,我们先复习一下什么是命令行模式和Python交互模式。命令行模式在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:>:Python交互模式在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>。在Python交互模式下输入exit(...转载 2019-07-15 13:41:50 · 542 阅读 · 0 评论 -
Python解释器
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。CPython当我们从Python官方网站下载并安装好...转载 2019-07-15 13:00:11 · 861 阅读 · 0 评论 -
Python的条件判断
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。在这里插入代码片比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:age = 20if age >= 18: print('your age is', age) print('adult')根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执...转载 2019-07-16 08:56:49 · 771 阅读 · 0 评论 -
Python的循环语句
循环要计算1+2+3,我们可以直接写表达式:>>> 1 + 2 + 36要计算1+2+3+…+10,勉强也能写出来。但是,要计算1+2+3+…+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。Python的循环有两种,一种是for…in循环,依次把list或tuple中的每个元素迭代出来,看例子:names = [...转载 2019-07-16 09:24:33 · 513 阅读 · 0 评论 -
Python的变量权限访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 59)>>> bart.score59>>> ...转载 2019-07-24 14:30:49 · 717 阅读 · 0 评论 -
Python的安装第三方模块
在Python中,安装第三方模块,是通过包管理工具pip完成的。如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip和Add python.exe to Path。在命令提示符窗口下尝试运行pip,如果Windows提示未找到命令,可以重新运行安装程序添加pip。注意:Mac或Linux...转载 2019-07-24 14:13:04 · 649 阅读 · 0 评论 -
Python的面向对象编程
Python的面向对象编程的Java其实是一个道理举例说明class Student(object): def __init__(self, name, score): self.name = name self.score = score def print_score(self): print('%s: %s' % (se...转载 2019-07-24 11:24:57 · 488 阅读 · 0 评论 -
Python的模块
Python的模块就类似Java里面的class类请注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany。类似的,可以有多级目录,组成多级层次的包结构。比如如下的目录结构:...转载 2019-07-24 08:35:23 · 484 阅读 · 0 评论 -
Python的偏函数
Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下:int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换:>>> in...转载 2019-07-23 17:09:04 · 430 阅读 · 0 评论 -
python的装饰器
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():... print('2015-3-25')...>>> f = now>>> f()2015-3-25函数对象有一个__name__属性,可以拿到函数的名字:>>> now.__name__...转载 2019-07-23 16:50:58 · 447 阅读 · 0 评论