
python
文章平均质量分 66
sliderSun
本人知乎ID:sliderSun
展开
-
欢迎使用CSDN-markdown编辑器
Python内存管理机制原创 2017-06-07 13:59:45 · 323 阅读 · 0 评论 -
python2to3的变化
几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下。为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式。案例研究:将chardet移植到Python 3(porting chardet to Python 3)描述了如何原创 2017-08-25 16:16:44 · 1698 阅读 · 0 评论 -
Python中接口定义和依赖注入
首先,我们必须明确的一点是:python里无接口类型,定义接口只是一个人为规定,在编程过程自我约束python的类是可以写任意个方法的定义一个接口对继承类进行约束,接口里有什么方法,继承类就必须有什么方法,接口中不能任何功能代码1234567891011翻译 2017-07-27 19:51:44 · 3858 阅读 · 0 评论 -
python常见易错面试题
1、下面这段代码的输出结果是什么?请解释。defextendList(val,list=[]):list.append(val)returnlistlist1= extendList(10)list2= extendList(123,[])list3= extendList('a')print"list1 = %s"% list1原创 2017-07-27 19:25:20 · 705 阅读 · 0 评论 -
安装pycurl错误
I'm trying to install pycurl via:sudo pip install pycurlIt downloaded fine, but when when it runs setup.py I get the following traceback:Downloading/unpacking pycurl Running setup.py egg_inf原创 2017-08-01 19:42:30 · 1913 阅读 · 0 评论 -
Python linux多版本共存以及虚拟环境管理
此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存。 pyenv 就是这样一个Python版本管理器。安装pyenv$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc原创 2017-08-01 18:42:25 · 998 阅读 · 0 评论 -
Python安装包常见错误
安装依赖:sudo apt-get install libpq-dev python-devapt-get installbuild-essentialapt-get installlibtool 错误一: File "/usr/local/bin/pip", line 5, in from pkg_resources import load_entry原创 2017-08-01 18:01:46 · 4777 阅读 · 0 评论 -
Ansible执行原理
1. runner不得不说的这个runner接口,这是ansible下层用来执行远程命令的一个接口,无论是上一篇说的Ad-Hoc命令的执行: ansible -i ~/hosts all -m command -a 'who' ,还是最后一个执行playbook的命令: ansible-playbook playbook.yml ,下面掉得都是这个接口。在ansible官网文档的P原创 2017-07-21 13:43:55 · 5560 阅读 · 0 评论 -
Ansible部署详《二》
配置安装完成之后,先来配置下配置项——.ansible.cfg。ansible执行的时候会按照以下顺序查找配置项:* ANSIBLE_CONFIG (环境变量)* ansible.cfg (当前目录下)* .ansible.cfg (用户家目录下)* /etc/ansible/ansible.cfg还有一个重要的配置是hosts的配置,所有的远程主机需要在hosts中配原创 2017-07-21 13:42:41 · 427 阅读 · 0 评论 -
ubuntu安装Ansible及部署
获取安装包的服务器进行替换,避免翻墙sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list更新安装库sudo apt-get update然后输入最后的四行命令进行安装的操作sudo apt-get i原创 2017-07-21 11:03:55 · 12736 阅读 · 1 评论 -
Python抢票脚本
下面用12306抢火车票/京东抢手机来示例下:#12306秒抢Python代码from splinter.browser import Browserx = Browser(driver_name="chrome")url = “https://kyfw.12306.cn/otn/leftTicket/init”x = Browser(driver_name="chrome")x.visit(翻译 2017-06-08 17:39:48 · 10579 阅读 · 2 评论 -
Python实现华丽回调
# _*_ coding: utf-8 _*_class CallbackBase: def __init__(self): self.__callbackMap = {} for k in (getattr(self, x) for x in dir(self)): if hasattr(k, "bind_to_event"):原创 2017-06-07 14:52:49 · 629 阅读 · 0 评论 -
多使用公共属性,而不是私有属性
公有属性与私有属性在Python中,对一个类而言只有两种可视的属性类型:公有的和私有的。class MyObject(object): def __init__(self): self.public_field = 5 self.__private_field = 10 def get_private_field(self):翻译 2017-06-07 14:38:57 · 623 阅读 · 0 评论 -
*args 和 **kwargs 来调用函数
那现在我们将看到怎样使用*args和**kwargs 来调用一个函数。 假设,你有这样一个小函数:def test_args_kwargs(arg1, arg2, arg3): print("arg1:", arg1) print("arg2:", arg2) print("arg3:", arg3)你可以使用*args或**kwargs来给这个小函数传递参数。原创 2017-06-07 14:29:22 · 537 阅读 · 0 评论 -
**kwargs 的用法
**kwargs 的用法**kwargs 允许你将不定长度的键值对, 作为参数传递给一个函数。 如果你想要在一个函数里处理带名字的参数, 你应该使用**kwargs。这里有个让你上手的例子:def greet_me(**kwargs): for key, value in kwargs.items(): print("{0} == {1}".format(key原创 2017-06-07 14:28:24 · 4162 阅读 · 0 评论 -
*arg的用法
*args 的用法*args 和 **kwargs 主要用于函数定义。 你可以将不定数量的参数传递给一个函数。这里的不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。 *args 是用来发送一个非键值对的可变数量的参数列表给一个函数.这里有个例子帮你理解这个概念:def test_var_args(f_arg, *argv):原创 2017-06-07 14:25:59 · 5582 阅读 · 0 评论 -
Python内存管理机制
先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一、垃圾回收: python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型和内存都是在运行时确定的。这也是为什么我们称Python语言为动态类型的原因(这里我们把动态类型可以简单的归结为对变量内存地址的分配原创 2017-06-07 14:04:31 · 448 阅读 · 0 评论 -
最全正则匹配
一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+原创 2017-10-10 11:31:28 · 888 阅读 · 0 评论