命令行参数:

import sys

print('Program arguments:',sys.argv)

关于choice:

from random import choice

possibilities = ['rain', 'snow', 'sleet', 'fog', 'sun', 'who knows']

return choice(possibilities)

使用 int 是一种定义计数器的方式:

from collections import defaultdict

>>> food_counter = defaultdict(int)

>>> for food in ['spam', 'spam', 'eggs', 'spam']:

... food_counter[food] += 1

...

>>> for food, count in food_counter.items():

... print(food, count)

...

eggs 1

spam 3

上面的例子中,如果 food_counter 已经是一个普通的字典而不是 defaultdict 默认字典,

那每次试图自增字典元素 food_counter[food] 值时, Python 会抛出一个异常,因为我们没

有对它进行初始化。在普通字典中,需要做额外的工作,如下所示:

dict_counter = {}

>>> for food in ['spam', 'spam', 'eggs', 'spam']:

... if not food in dict_counter:

... dict_counter[food] = 0

... dict_counter[food] += 1

...

>>> for food, count in dict_counter.items():

... print(food, count)

...

spam 3

eggs 1

使用Counter()计数:

from collections import Counter

>>> breakfast = ['spam', 'spam', 'eggs', 'spam']

>>> breakfast_counter = Counter(breakfast)

>>> breakfast_counter

Counter({'spam': 3, 'eggs': 1})

函数 most_common() 以降序返回所有元素,或者如果给定一个数字,会返回该数字前的的

元素:

breakfast_counter.most_common()

[('spam', 3), ('eggs', 1)]

>>> breakfast_counter.most_common(1)

[('spam', 3)]

使用有序字典OrderedDict()按键排序:

from collections import OrderedDict

>>> quotes = OrderedDict([

... ('Moe', 'A wise guy, huh?'),

... ('Larry', 'Ow!'),

... ('Curly', 'Nyuk nyuk!'),

... ])

>>>

>>> for stooge in quotes:

... print(stooge)

...

Moe

Larry

Curly

双端队列: 栈+队列:

deque 是一种双端队列,同时具有栈和队列的特征。它可以从序列的任何一端添加和删除

项。现在,我们从一个词的两端扫向中间,判断是否为回文。函数 popleft() 去掉最左边

的项并返回该项, pop() 去掉最右边的项并返回该项。从两边一直向中间扫描,只要两端

的字符匹配,一直弹出直到到达中间:

def palindrome(word):

... from collections import deque

... dq = deque(word)

... while len(dq) > 1:

... if dq.popleft() != dq.pop():

... return False

... return True

...

...

>>> palindrome('a')

True

>>> palindrome('racecar')

104 | 第 5 章

True

>>> palindrome('')

True

>>> palindrome('radar')

True

>>> palindrome('halibut')

False

这里把判断回文作为双端队列的一个简单说明。如果想要写一个快速的判断回文的程

序,只需要把字符串反转和原字符串进行比较。 Python 没有对字符串进行反转的函数

reverse(),但还是可以利用反向切片的方式进行反转,如下所示:

>>> def another_palindrome(word):

... return word == word[::-1]

...

>>> another_palindrome('radar')

True

>>> another_palindrome('halibut')

False

使用pprint()友好输出:

from pprint import pprint

>>> quotes = OrderedDict([

... ('Moe', 'A wise guy, huh?'),

... ('Larry', 'Ow!'),

... ('Curly', 'Nyuk nyuk!'),

... ])

>>>

普通的 print() 直接列出所有结果:

>>> print(quotes)

OrderedDict([('Moe', 'A wise guy, huh?'), ('Larry', 'Ow!'), ('Curly', 'Nyuk nyuk!')])

但是, pprint() 尽量排列输出元素从而增加可读性:

>>> pprint(quotes)

{'Moe': 'A wise guy, huh?',

'Larry': 'Ow!',

'Curly': 'Nyuk nyuk!'}

python开发安卓盒子_Python盒子:模块、包和程序相关推荐

  1. python写安卓游戏_python写lol游戏脚本(用python开发安卓脚本)

    python写lol游戏脚本 俾格米人和搅拌机的引擎. python-ogre和panda3d是用c/c编写的,但只提供了一个python接口. 你好,蟒蛇可以在Android上工作. 因为你可以在A ...

  2. 如何下载python模块_python中模块包的离线下载教程

    1.简介 当我们进行Python项目的迁移时(例如迁移到另外一台服务器上),如果该服务器要求离线安装, 往往需要我们将项目中的所需模块包进行离线操作. 2.教程 2.1 首先安装pip2pi模块,它可 ...

  3. python开发游戏流程_python开发游戏的前期准备

    python开发游戏的前期准备 本文章面向有一定基础的python学习者,使用Pygame包开发一款简单的游戏 首先打开命令行,使用PyPI下载Pygame包(输入命令pip install pyga ...

  4. python主函数调用格式_Python的模块与函数

    一.概述Python的程序由包.模块和函数组成. 函数是一段可重用的有名称的代码.通过输入的参数值,返回需要的结果,并可存储在文件中供以后使用.几乎任何Python代码都可放在函数中.Python为函 ...

  5. python开发桌面时钟_python基于Kivy写一个图形桌面时钟程序

    Kivy 是一个开源的 Python 第三方库,可以用来快速开发应用程序. 它有如下三个特点: 跨平台 Kivy 编写的程序可在 Linux,Windows,OS X,Android,iOS 和 Ra ...

  6. python开发的前景_python开发前景怎么样

    随着近几年Python的飞速发展,应用范围逐步趋于广泛,后端开发.前端开发.爬虫.金融量化分析.人工智能.自动化运维.自动化运维.大数据,Python都有涉及.Python相对其他编程语言来讲,语法较 ...

  7. python汇总json数据_python的json包位置及用法总结

    JSON是一种独立于语言的文本格式,用于数据交换,可以在不同语言间交换数据. 在高级版本的Python里自带json模块包,使用import json直接导入模块. JSON文本以"键/值& ...

  8. python 开发视频播放网站_python开发微电影视频网站教程附源码

    做为一个合格的Pythoner,只掌握一个框架是不够,如果你有过其它Python框架(例如django)的使用经验,对比不同框架的特性来学习,你将收获更多 当前信息若含有黄赌毒等违法违规不良内容,请点 ...

  9. python开发游戏教程_Python开发星际游戏实例教程

    这篇文章主要为大家详细介绍了Python外星人入侵游戏编程完整的实现思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下 准备工作:下载p ...

  10. python开发安卓程序-如何使用python开发android应用

    Python是一种面向对象.解释型计算机程序设计语言,其源代码和解释器CPython遵循GPL(GNU General Public License)协议Python语法简洁清晰,特色之一是强制用空白 ...

最新文章

  1. 改进粒子群优化算法(IWAPSO)的MATLAB源程序
  2. 言论丨马库斯回应14大质疑,重申深度学习怀疑论
  3. 技术文:微信小程序和服务器通信-WebSocket
  4. 天翼云从业认证(2.2)云计算的模式、应用和行业生态
  5. android自定义控件实例
  6. 渲染上下文Rendering Context
  7. 成功案例_APP成功推广案例
  8. DotLucene源码浅读笔记(1) : Lucene.Net.Analysis 【转】
  9. intelx79服务器芯片组,Intel X79芯片组下月开始供货
  10. vue 按钮删除input内容_Vue表单和v-model
  11. hashset如何检查重复_如何使用 C# 中的 HashSet
  12. 平均增长率不用计算机,【程阳解答】如何用计算器或Excel计算年均增长率?
  13. “春节游”还准备去海外猎食新鲜?麻烦!家门口明明啥都有!
  14. 河工大邮箱申请,jetbrains学生邮箱申请,ideaIU版本下载、激活
  15. 相关系数-excel-CORREL()
  16. sja1000 c语言,调试好的can(汇编及C语言)程序,sja1000+tja1040
  17. EI期刊《系统工程与电子技术》投稿经历
  18. 手机中的那些人机交互都是怎么实现的
  19. linux 820m驱动下载,下载:NVIDIA显卡最新177.67版驱动For Linux
  20. 会计学原理知识点总结

热门文章

  1. django前后端数据交互
  2. centos7下使用rpm包安装clickhouse
  3. 《OpenGL ES 3.x游戏开发(上卷)》一2.4 文件I/O
  4. 杀毒行业暴利?8条杀毒行业之我见
  5. 高接低挡,Isilon三款新品铺开战线
  6. 前端可视化开发-编辑器
  7. Gulp vs Grunt 前端工程构建工具
  8. 深入理解注意力机制(Attention Mechanism)和Seq2Seq
  9. _如何在 Linux 上安装 Minecraft 服务器
  10. vue项目中的回车登录