Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。最近在玩Python,在粗略的看了一下LearningPython和CorePython之后,偶然发现网上有个帖子Python程序员的进化写的很有意思。于是打算仿照一篇,那篇帖子用了十余种方法完成一个阶乘函数,我在这里会用九种不同的风格写出一个Fibonacci函数。要求很简单,输入n,输出第n个Fibonacci数,n为正整数下面是这九种不同的风格:1)第一次写程序
系统 2019-09-27 17:46:31 1790
PYTHON-COOKBOOK文章目录PYTHON-COOKBOOK一:数据结构和算法1、Heapq取出最大或最小的几个元素优先级队列2、字典多值字典字典排序字典列表排序字典共同点和不同点3、collections保留最后几个元素频率统计命名元组字典(映射)联合查找4、其他解压赋值去重且保持顺序切片分组一:数据结构和算法三个基本的写法:列表生成式字典生成式迭代器生成式1、Heapq取出最大或最小的几个元素#最大或者最小的n个元素importrandomfr
系统 2019-09-27 17:46:19 1790
当在python中遍历一个序列时,我们通常采用如下的方法:foriteminsequence:process(item)如果要取到某个item的位置,可以这样写:forindexinrange(len(sequence)):process(sequence[index])另一个比较好的方式是使用python内建的enumerate函数:enumerate(sequence,start=0)上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文
系统 2019-09-27 17:46:14 1790
学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:复制代码代码如下:#-*-coding:utf-8-*-#上面那句让代码里支持中文#------------------------
系统 2019-09-27 17:45:42 1790
不论什么语言,我们都需要注意性能优化问题,提高执行效率。选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮。尽管Python从未如C和Java一般快速,但是不少Python项目都处于开发语言领先位置。Python很简单易用,但大多数人使用Python都知道在处理密集型cpu工作时,它的数量级依然低于C、Java和JavaScript。但不少第三方不愿赘述Python的优点,而是决定自内而外提
系统 2019-09-27 17:45:40 1790
保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。使用装饰器实现,便于重用复制代码代码如下:importfunctoolsdefjust_one_instance(func):'''装饰器如果已经有实例在跑则退出复制代码代码如下::return:'''@functools.wraps(func)deff(*args,**kwargs):importsockettry:#全局属性,否则变量会在方法退出后被销毁globa
系统 2019-09-27 17:45:27 1790
1.安装ubuntu有uwsgi的ppa:add-apt-repositoryppa:stevecrozz/ppaapt-getupdateapt-getinstalluwsgi2.用uwsgi代替mod_wsgiNginx的整体配置这里不说了,假设已经明白Nginx的基本配置,那么uwsgi就类似这么配置:location/{includeuwsgi_paramsuwsgi_pass127.0.0.1:9090}再比如django就是:.......fr
系统 2019-09-27 17:38:46 1790
概述考虑这样一个问题,有hello.py脚本,输出”hello,world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello,world!”。下面我来逐步讲解一下shell的交互方式。hello.py代码如下:#!/usr/bin/pythonprint"hello,world!"TestInput.py代码如
系统 2019-09-27 17:38:38 1790
字符串--不可改变的序列如同大多数高级编程语言一样,变长字符串是Python中的基本类型。Python在“后台”分配内存以保存字符串(或其它值),程序员不必为此操心。Python还有一些其它高级语言没有的字符串处理功能。在Python中,字符串是“不可改变的序列”。尽管不能“按位置”修改字符串(如字节组),但程序可以引用字符串的元素或子序列,就象使用任何序列一样。Python使用灵活的“分片”操作来引用子序列,字符片段的格式类似于电子表格中一定范围的行或列
系统 2019-09-27 17:38:37 1790
1.能调用方法的一定是对象,比如数值、字符串、列表、元组、字典,甚至文件也是对象,Python中一切皆为对象。str1='hello'str2='world'str3=''.join([str1,str2])print(str3)2.三种基本的文件操作模式:r(only-read)、w(only-write)、a(append)对文件进行操作的流程:第一,建立文件对象。第二,调用文件方法进行操作。第三,不要忘了关闭文件。(文件不关闭的情况下,内容会放在缓存
系统 2019-09-27 17:38:34 1790