个人觉得实用的Python姿势】的更多相关文章

以后会陆续补充 偶然在Python Cookbook看到一个format操作,想到一个问题, 感觉用了!r之后,会把传入的对象按照原来形式保留 d = {"foo": "bar"} "value in d is {!r}".format(d["bar"]) 想到一个用处,举个例子: params = ("woody", "suxiaoji", "zy") sql =…
两个实用的Python的装饰器 超时函数 这个函数的作用在于可以给任意可能会hang住的函数添加超时功能,这个功能在编写外部API调用 .网络爬虫.数据库查询的时候特别有用 timeout装饰器的代码如下: import signal,functools #下面会用到的两个库 class TimeoutError(Exception): pass #定义一个Exception,后面超时抛出 def timeout(seconds, error_message = 'Function call t…
实用的 Python 编程--讲师说明 作者:戴维·比兹利(David Beazley) 概述 对于如何使用我的课程"实用的 Python 编程"进行教学的问题,本文档提供一些通用的说明和建议,包括课程目标.课程受众.棘手的内容等. 一些人会在一个典型的.为期三天的公司培训中进行教学,本说明就是提供给这些教学人员的.在如何教授自己的课程方面,这些说明可能会给你带来一些启发. 目标受众和一般方法 本课程旨在作为已经有一定的编程经验人员的"Python 入门"课程.这绝…
webdriver实用指南是本人编写的系列丛书,包括ruby版.python版和java版.在线版是免费的,之前是放在我的github上,但是很多同学总不记得地址,现在转到我的博客上,方便大家阅读. 安装python及webdriver的开发环境 场景 工欲善其事必先利其器,搭建开发环境对于初学者来说往往是非常困难和无从下手的.因此这里有必要叙述一下python及webdriver开发环境的搭建方法. 安装视频 如果你对下面的文字不感兴趣,或者你对所有文字都不感兴趣,那么推荐你观看这个视频 安装…
欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了.15 年前,我自己也将这种乐趣教授给别人.教学的结果就是本课程--一门实用的学习 Python的课程.本课程自 2007 年面世以来,已经被应用到400多个团体的面对面教学中.这些团体中包含了交易员.系统管理员.天文学家.修理工以及上百名使用 Python 帮助火星探测器着陆的火箭科学家.现在,我很高兴能够在知识共享协议下将这份课程共享给大家. GitHu…
目录 | 上一节 (4.1 类) | 下一节 (4.3 特殊方法) 4.2 继承 继承(inheritance)是编写可扩展程序程序的常用手段.本节对继承的思想(idea)进行探讨. 简介 继承用于特殊化现有对象: class Parent: ... class Child(Parent): ... 新类 Child 称为派生类(derived class)或子类(subclass).类 Parent 称为基类(base class)或超类(superclass).在子类名后的括号 () 中指定…
在做分布式系统应用的时候经常在测试环境上传一个包,或者干嘛的,公司的服务器比较bug,只给ldap权限,每次只能scp到自己的个人目录下,然后才能进到公共账号下去cp,比较麻烦.这时候如果你需要一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python 可能帮助到你.使用Python可以完成一个简单的内建 HTTP 服务器.于是,你可以把你的目录和文件都以HTTP的方式展示出来.只需要干一件事情,那就是安装一个Python…
前段时间写脚本,一直使用的是pycharm ,无奈机器不配置实在不怎么样,我记得之前用过subline text,这是我用过的最酷炫的文本编辑器,参考了一下网上的文章,自己走了一些弯路,将心得写在这里,方便给需要帮助的人: 这是完成配置后的界面: 一,下载subline text 3 官网:http://www.sublimetext.com/3 安装过程略 二,生成Package Control 界面 2.1 快捷键:ctrl+`打开命令行 2.2 输入 import urllib.reque…
一.Django 1.自动实现图片压缩: pip install easy-thumbnails / https://pypi.org/project/easy-thumbnails/2.实现定时任务执行: pip install django-crontab3.django使用mongoengine对数据进行快速的序列化(类似drf): http://umutbozkurt.github.io/django-rest-framework-mongoengine4.uWSGI,与 django…
1 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类似云盘的服务,使得我们可以在web界面中完成文件的上传与下载,十分的方便,最重要的是,特别特别特别简单!下面就带大家学习一下updog的具体使用方法. 2 使用updog 笔者习惯使用putty来连接云服务器,如图1(IP地址等信息已打码),我们登录后进入页面: 图1 因为updog是Python的一…
目录 | 下一节 (1.2 第一个程序) 1.1 Python Python 是什么? Python 是一种解释型(译者注:区别于编译型)的高级语言, 通常被归类为 "脚本语言" 并被认为类似于Perl.Tcl 或 Ruby 等语言.Python 的语法大致受 C 编程语言的启发. Python 由吉多·范罗苏姆(Guido van Rossum)于 1990 年创建,用 Python 命名是为了纪念吉多·范罗苏姆所喜欢的马戏团 Monty Python. 从哪里获取 Python?…
目录 | 下一节 (2 处理数据) 1. Python 简介 本章是第一章,将会从头开始介绍 Python 基础知识,让你从零开始,学会怎么编写.运行.调试一个简单的程序.最后,你可以运用这些 Python 基础知识,去编写一个简短的脚本,读取 csv 数据并执行一些简单的计算. • 1.1 Python简介 • 1.2 第一个程序 • 1.3 数字 • 1.4 字符串 • 1.5 列表 • 1.6 文件 • 1.7 函数 目录 | 下一节 (2 处理数据)…
课程设置与概述 欢迎访问本课程(Practical Python Programming).这个页面包含一些关于课程设置的重要信息. 课程周期和时间要求 该课程最初是作为一个由讲师主导的,持续 3 -4 天的现场培训.要全部完成本课程,您应该最少计划用25-35小时进行学习.大部分的参与者发现,在不浏览题解代码的情况下,学习材料是相当具有挑战性的(见下文) 设置和 Python 安装 您只需要安装 3.6 或者更新版本的 Python 即可.不依赖于任何特定的操作系统,编辑器,IDE,或者其它与…
目录 | 上一节 (1.2 第一个程序) | 下一节 (1.4 字符串) 1.3 数字 本节讨论数学计算. 数字类型 Python 有 4 种类型的数字: 布尔型 整型 浮点型 复数(虚数) 布尔型(bool) 布尔型数字有两个值:True,False. a = True b = False 在数值上,它们被计算成值为 1,0 的数. c = 4 + True # 5 d = False if d == 0: print('d is False') 但是,不要像上面这样写代码,这会很奇怪. 整型…
目录 | 上一节 (1.1 Python) | 下一节 (1.3 数字) 1.2 第一个程序 本节讨论有关如何创建一个程序.运行解释器和调试的基础知识. 运行 Python Python 程序始终在解释器中运行. 解释器是一个"基于控制台"的应用程序,通常从命令行 shell 启动. python3 Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.2.1 (Apple Inc. build 5666) (do…
目录 | 上一节 (1.4 字符串) | 下一节 (1.6 文件) 1.5 列表 本节介绍 Python 原始数据类型列表(list). 列表是一种有序的集合. 创建列表 使用方括号 [] 来定义列表字面量. names = [ 'Elwood', 'Jake', 'Curtis' ] nums = [ 39, 38, 42, 65, 111] 有时候,列表也可以通过其它方法创建.例如:使用字符串的 split() 方法可以将一个字符串拆分为一个列表: >>> line = 'GOOG,…
目录| 上一节(1.5 列表) | 下一节 (1.7 函数) 1.6 文件管理 大多数的程序需要从某处读取输入.本节讨论文件访问. 文件输入和输出 打开一个文件: f = open('foo.txt', 'rt') # Open for reading (text) g = open('bar.txt', 'wt') # Open for writing (text) 读取所有的数据: data = f.read() # Read only up to 'maxbytes' bytes data…
目录 | 上一节 (1.6 文件) | 下一节 (2.0 处理数据) 1.7 函数 随着程序开始变大,我们会想要有条理地组织这些程序.本节简要介绍函数.库模块以及带有异常的错误处理. 自定义函数 对你要重用的代码使用函数.下面是函数的定义方式: def sumcount(n): ''' Returns the sum of the first n integers ''' total = 0 while n > 0: total += n n -= 1 return total 函数调用: a…
目录 | 上一节 (1.7 函数) | 下一节 (2.2 容器) 2.1 数据类型和数据结构 本节以元组和字典为代表介绍数据结构. 原始数据类型 Python 有一些原始数据类型: 整数 浮点数 字符串(文本) 空类型 email_address = None None 常用作可选值或缺失值的占位符.它在条件语句中计算为 False. if email_address: send_email(email_address, msg) 数据结构 实际的程序具有更复杂的数据.例如,关于股票的持有信息:…
目录 | 上一节 (2.1 数据类型) | 下一节 (2.3 格式化) 2.2 容器 本节讨论列表(list),字典(dict)和集合(set). 概述 通常,程序必须处理许多对象. 股票的投资组合 股票价格表 这里有三种主要的选择(译注:数据结构)可以使用: 列表.有序的数据. 字典.无序的数据. 集合.互异且无序的数据. 把列表当作容器 当数据顺序很重要时,请使用列表.记住,列表可以存储任何类型的对象.例如,包含元组的列表: portfolio = [ ('GOOG', 100, 490.1…
目录| 上一节 (2.3 格式化) | 下一节 (2.5 Collections模块) 2.4 序列 序列数据类型 Python 有三种序列数据类型. 字符串:如 'Hello'.字符串是字符序列 列表:如 [1, 4, 5]. 元组:如 ('GOOG', 100, 490.1). 所有的序列都是有序的,由整数进行索引,并且具有长度. a = 'Hello' # String b = [1, 4, 5] # List c = ('GOOG', 100, 490.1) # Tuple # Inde…
目录 | 上一节 (2.2 容器) | 下一节 (2.4 序列) 2.3 格式化 虽然本节稍微有点离题,但是当处理数据时,通常想要生成结构化的输出(如表格).示例: Name Shares Price ---------- ---------- ----------- AA 100 32.20 IBM 50 91.10 CAT 150 83.44 MSFT 200 51.23 GE 95 40.37 MSFT 50 65.10 IBM 100 70.44 字符串格式化 在 Python 3.6+…
目录 | 上一节 (2.5 collections模块) | 下一节 (2.7 对象模型) 2.6 列表推导式 一个常见的任务是处理列表中的项(译注:元素).本节介绍列表推导式,完成此任务的强大工具. 创建新列表 列表推导式通过将操作应用于序列的每一个元素来创建新列表. >>> a = [1, 2, 3, 4, 5] >>> b = [2*x for x in a ] >>> b [2, 4, 6, 8, 10] >>> 再如: &g…
目录 | 上一节 (2.4 序列) | 下一节 (2.6 列表推导式) 2.5 collections 模块 collections 模块为数据处理提供了许多有用的对象.本部分简要介绍其中的一些特性. 示例:事物计数 假设要把每只股票的总份额表格化. portfolio = [ ('GOOG', 100, 490.1), ('IBM', 50, 91.1), ('CAT', 150, 83.44), ('IBM', 100, 45.23), ('GOOG', 75, 572.45), ('AA'…
目录 | 上一节 (2.6 列表推导式) | 下一节 (3 从程序组织) 2.7 对象 本节介绍有关 Python 内部对象模型的更多详细信息,并讨论一些与内存管理,拷贝和类型检查有关的问题. 赋值 Python 中的许多操作都与赋值或者存储值有关. a = value # Assignment to a variable s[n] = value # Assignment to a list s.append(value) # Appending to a list d['key'] = va…
目录 | 上一节 (2 处理数据) | 下一节 (4 类和对象) 3. 程序组织 到目前为止,我们已经学习了一些 Python 基础知识并编写了一些简短的脚本.但是,当开始编写更大的程序时,我们会想要有条理地组织这些程序.本节将深入讨论关于函数编写,错误处理以及模块的更多细节.最后,您应该能够编写跨多个文件的,并细分为函数的程序.我们还将提供一些有用的代码模板,以编写更有用的脚本. 3.1 函数和脚本编写 3.2 关于函数的更多细节 3.3 异常处理 3.4 模块 3.5 主模块 3.6 关于拥…
目录 | 上一节 (2.7 对象模型) | 下一节 (3.2 深入函数) 3.1 脚本 在该部分,我们将深入研究编写 Python 脚本的惯例. 什么是脚本? 脚本就是运行和终止一系列语句的程序. # program.py statement1 statement2 statement3 ... 到目前为止,我们主要在编写脚本. 问题 如果你编写一个有用的脚本,它的特性和功能将会增加.你可能想要将其应用于相关的问题.随着时间的推移,它可能会成为一个关键的应用程序.如果你不注意的话,它可能会变成一…
目录 | 上一节 (3.1 脚本) | 下一节 (3.3 错误检查) 3.2 深入函数 尽管函数在早先时候介绍了,但有关函数在更深层次上是如何工作的细节却很少提供.本节旨在填补这些空白,并讨论函数调用约定,作用域规则等问题. 调用函数 考虑以下函数: def read_prices(filename, debug): ... 可以使用位置参数调用该函数: prices = read_prices('prices.csv', True) 或者,可以使用关键字参数调用该函数: prices = re…
目录 | 上一节 (3.2 深入函数) | 下一节 (3.4 模块) 3.3 错误检查 虽然前面已经介绍了异常,但本节补充一些有关错误检查和异常处理的其它细节. 程序是如何运行失败的 Python 不对函数参数类型或值进行检查或者校验.函数可以处理与函数内部语句兼容的任何数据. def add(x, y): return x + y add(3, 4) # 7 add('Hello', 'World') # 'HelloWorld' add('3', '4') # '34' 如果函数中有错误,它…