![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python入门
文章平均质量分 64
Fifth quadrant
smart is the new sexy.
展开
-
Python安装Factory/faker失败的解决办法:ModuleNotFoundError: No module named ‘faker‘
Python安装Factory/faker失败的解决办法:ModuleNotFoundError: No module named 'faker'原创 2023-03-01 10:59:40 · 1474 阅读 · 3 评论 -
适用Mac的Python学习资源
莫烦python:https://mofanpy.com。推荐理由:由于mac和win系统的差别,因此在mac和win上编程和使用python等也会有一些差别,所以想给大家推荐一个最近发现的适用于mac系统的python学习资源,特别适合我这种技术不好的小渣渣。这个教程不需要考虑mac和win上编写和运行代码的差别,不会出现看的win系统的python教程,但是copy到mac系统上运行不了的情况。当然,如果是技术大神可以忽略这一点。这个教程里面包含python的基础教程,以及基于python的数据原创 2020-11-27 19:36:56 · 240 阅读 · 1 评论 -
【Python学习笔记】IO编程:序列化
【根据廖雪峰python教程整理】在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20, score=88)可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。原创 2016-07-11 17:24:15 · 418 阅读 · 0 评论 -
【Python学习笔记】正则表达式
【根据廖雪峰python教程整理】字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串原创 2016-07-11 18:30:28 · 1313 阅读 · 0 评论 -
【Python学习笔记】面向对象编程:类和实例
【根据廖雪峰python教程整理】一、面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字:class Student(object):原创 2016-07-11 13:45:38 · 622 阅读 · 0 评论 -
【Python学习笔记】使用__future__
【根据廖雪峰python教程整理】使用__future__ Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动。有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了。 从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx原创 2016-07-11 13:19:45 · 472 阅读 · 0 评论 -
【Python学习笔记】第三方模块
【根据廖雪峰python教程整理】一、在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。 如果你正在使用Windows,请参考安装Python一节的内容,原创 2016-07-11 13:12:47 · 543 阅读 · 0 评论 -
【Python学习笔记】使用模块
【根据廖雪峰python教程整理】一、Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块:#!/usr/bin/env python# -*- coding: utf-8 -*- ' a test module ' __author__ = 'Michael Lia原创 2016-07-11 13:07:59 · 475 阅读 · 0 评论 -
【Python学习笔记】模块
【根据廖雪峰python教程整理】在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。 使用模块有什么好处?最大的原创 2016-07-11 12:50:22 · 482 阅读 · 0 评论 -
【Python学习笔记】函数式编程:偏函数
【根据廖雪峰python教程整理】Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把字符串转换为整数,当仅传入字符串时原创 2016-07-10 21:45:57 · 594 阅读 · 0 评论 -
【Python学习笔记】函数式编程:装饰器
【根据廖雪峰python教程整理】由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():... print '2013-12-25'...>>> f = now>>> f()2013-12-25 函数对象有一个__name__属性,可以拿到函数的名字:>>> now.__name__原创 2016-07-10 21:39:21 · 424 阅读 · 0 评论 -
【Python学习笔记】函数式编程:匿名函数lambda
【根据廖雪峰python教程整理】当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])[1原创 2016-07-10 21:25:11 · 1881 阅读 · 0 评论 -
【Python学习笔记】IO编程:操作文件和目录
【根据廖雪峰python教程整理】如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。 打开Python交互式命令行,我们来看看如何使原创 2016-07-11 17:08:54 · 710 阅读 · 0 评论 -
【Python学习笔记】IO编程:文件读写
【根据廖雪峰python教程整理】读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数原创 2016-07-11 16:59:09 · 983 阅读 · 0 评论 -
【Python学习笔记】面向对象编程
【根据廖雪峰python教程整理】面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复原创 2016-07-11 13:34:13 · 472 阅读 · 0 评论 -
【Python学习笔记】面向对象编程:访问限制
【根据廖雪芳python教程整理】在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 98)>>> bart.score98原创 2016-07-11 15:02:59 · 463 阅读 · 0 评论 -
【Python学习笔记】面向对象编程:继承和多态
【根据廖雪峰python教程整理】一、继承在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印:class A原创 2016-07-11 15:14:23 · 1396 阅读 · 0 评论 -
【Python学习笔记】面向对象编程:获取对象信息
【根据廖雪峰python教程整理】当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 一、使用type()首先,我们来判断对象类型,使用type()函数:基本类型都可以用type()判断:>>> type(123)>>> type('str')>>> type(None)如果一个变量指向函数或者类,也可以用type()原创 2016-07-11 15:31:21 · 442 阅读 · 0 评论 -
【Python学习笔记】错误、调试和测试
【根据廖雪峰python教程整理】在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程原创 2016-07-11 15:35:50 · 504 阅读 · 0 评论 -
【Python学习笔记】错误处理
【根据廖雪峰python教程整理】在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。 用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判原创 2016-07-11 15:53:59 · 558 阅读 · 0 评论 -
【Python学习笔记】调试
【根据廖雪峰python教程整理】程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。 一、第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看:# er原创 2016-07-11 16:10:35 · 371 阅读 · 0 评论 -
【Python学习笔记】单元测试
【根据廖雪峰python教程整理】如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。比如对函数abs(),我们可以编写出以下几个测试用例:输入正数,比如1、1.2、0.99,期待返回值与输入相同;输入负数,比如-1、-1.2、-0.9原创 2016-07-11 16:23:33 · 371 阅读 · 0 评论 -
【Python学习笔记】文档测试
【根据廖雪峰python教程整理】如果你经常阅读Python的官方文档,可以看到很多文档都有示例代码。比如re模块就带了很多示例代码:>>> import re>>> m = re.search('(?>>> m.group(0)'def'可以把这些示例代码在Python的交互式环境下输入并执行,结果与文档中的示例代码显示的一致。 这些代码与其他说明可以原创 2016-07-11 16:27:59 · 429 阅读 · 0 评论 -
【Python学习笔记】IO编程
【根据廖雪峰python教程整理】IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是原创 2016-07-11 16:38:31 · 610 阅读 · 0 评论 -
【Python学习笔记】函数式编程:高阶函数map和reduce
【根据廖雪峰python教程整理】Python内建了map()和reduce()函数。 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified DataProcessing on Large Clusters”,你就能大概明白map/reduce的概念。 一、map我们先看map。map()函数接收两个参数,一个是函数,一原创 2016-07-10 20:07:06 · 1641 阅读 · 0 评论 -
【Python学习笔记】函数式编程:高阶函数filter
【根据廖雪峰python教程整理】 Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 例如,在一个list中,删掉偶数,只保留奇数,可以这么写:def is_odd(n)原创 2016-07-10 20:51:29 · 1232 阅读 · 0 评论 -
【Python学习笔记】递归函数
【根据廖雪峰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(原创 2016-07-10 14:55:16 · 576 阅读 · 0 评论 -
【Python学习笔记】函数和抽象
【根据廖雪峰python教程整理】一、函数我们知道圆的面积计算公式为:S =πr2,当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:r1 = 12.34r2 = 9.08r3 = 73.1s1 = 3.14 * r1 * r1s2 = 3.14 * r2 * r2s3 = 3.14 * r3 * r3当代原创 2016-07-10 13:52:16 · 428 阅读 · 0 评论 -
【Python学习笔记】调用函数
【根据廖雪峰python教程整理】一、调用函数Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/2/library/functions.html#abs也可以在交互式命令行通过help(ab原创 2016-07-10 14:02:00 · 452 阅读 · 0 评论 -
【Python学习笔记】定义函数
【根据廖雪峰pythn教程整理】一、定义函数在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 我们以自定义一个求绝对值的my_abs函数为例:def my_abs(x): if x >= 0: return x else:原创 2016-07-10 14:13:45 · 417 阅读 · 0 评论 -
【Python学习笔记】for和while循环语句
一、for循环要计算1+2+3,我们可以直接写表达式:>>> 1 + 2 + 36要计算1+2+3+...+10,勉强也能写出来。但是,要计算1+2+3+...+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。 Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子原创 2016-07-10 11:58:27 · 917 阅读 · 0 评论 -
【Python学习笔记】break退出循环和continue继续循环
【根据廖雪峰python教程整理】一、break退出循环用 for 循环或者while 循环时,如果要在循环体内直接退出循环,可以使用break 语句。 比如计算1至100的整数和,我们用while来实现:sum = 0x = 1while True: sum = sum + x x = x + 1 if x > 100原创 2016-07-10 13:40:32 · 20942 阅读 · 0 评论 -
【Python学习笔记】条件判断和input
【根据廖雪峰官方网站Python教程整理】一、条件判断计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:age = 20if age >= 18: print('your age is', age) print('adult')根据Python的缩进规原创 2016-07-10 11:52:41 · 1080 阅读 · 0 评论 -
【Python学习笔记】print语句和注释
【根据廖雪峰慕课教程整理】一、print语句print语句可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:>>> print 'hello, world' 注意:1.当我们在Python交互式环境下编写代码时,>>>是Python解释器的提示符,不是代码的一部分。2.当我们在文本编辑器中编写代码时,千万不要自己添加>>>原创 2016-07-10 11:22:37 · 2787 阅读 · 0 评论 -
【Python学习笔记】使用list和tuple
【根据廖雪峰官方网站Python教程整理】一、list1、Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示:>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob'原创 2016-07-10 11:40:22 · 424 阅读 · 0 评论 -
【Python学习笔记】Python数据类型和变量
【来源:廖雪峰官方网站Python教程】一、数据类型计算机:可以做数学计算的计算机器。能处理数值、文本、图像、音频、视频、网页等各种各样的数据,不同的数据需要定义不同的数据类型,在python中能够直接处理的数据类型主要有以下几种:1、整数Python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法是一样的,如1,-110等。计算机使用二进制表示,有原创 2016-07-10 10:04:10 · 822 阅读 · 0 评论 -
【Python学习笔记】函数参数
【根据廖雪峰python教程整理】 一、函数的参数定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。 Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得原创 2016-07-10 14:44:38 · 404 阅读 · 0 评论 -
【Python学习笔记】python高级特性:切片
【根据廖雪峰python教程整理】一、切片取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素,应该怎么做? 笨办法:>>> [L[0], L[1], L[2]]['Michael', 'Sarah', 'Trac原创 2016-07-10 15:46:41 · 408 阅读 · 0 评论 -
【Python学习笔记】python高级特性:迭代
【根据廖雪峰Python教程整理】一、迭代如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for (i=0; i n = list[i]原创 2016-07-10 15:58:13 · 357 阅读 · 0 评论 -
【Python学习笔记】函数式编程:高阶函数sorted
【根据廖雪峰python教程整理】排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x ,则返回-1,如果认为x == y,则返回0,如果认为x原创 2016-07-10 21:07:36 · 472 阅读 · 0 评论