《Python学习手册》(二)

——类型和运算

数字

十六进制 八进制 二进制
0x 0o 0b
hex() oct() bin()
  1. >>>int('10',2)
  2. 2
  3. >>>int('10',16)
  4. 16
  5. >>>int(3.14159)
  6. 3
  7. >>>float(3)
  8. 3.0

about yield

http://www.cnblogs.com/tqsummer/archive/2010/12/27/1917927.html

about lambda:non-understanding

about str,repr

http://www.guokr.com/post/91890/

5/-2 python 2.6 python 3.0
'/' -3 -2.5
'//' -3 -3

for both 3.0 & 2.6:

  1. >>>import math
  2. >>>math.trunc(5/-2)
  3. -2

将整数转化为8进制和16进制的字符串:

  1. >>> '{0:o}, {1:x}, {2:b}'.format(64, 64, 64)
  2. '100, 40, 1000000'
  3. >>> '%o, %x, %X' % (64, 255, 255)
  4. '100, ff, FF'

求二进制的位数

  1. >>>X = 99
  2. >>>bin(X), X.bit_length()
  3. ('0b1100011', 7)

python内置函数:

  1. pow(), abs(), sum((1, 2, 3, 4)), max(), min(), round()...
  2. >>>round(2.567, 2)
  3. 2.57
  4. >>> '%.1f' %2.567, '{0:.2f}'.format(2.567)
  5. ('2.6', '2.57')

math模块:

  1. math.pi, math.e
  2. math.sin(),math.sqrt(), math.floor(), math.trunc()

random模块:

  1. import random
  2. random.random()
  3. random.randint(1, 10)
  4. random.choice(['Brian', 'Grail', 'Life'])

小数

  1. >>> 0.1 + 0.1 + 0.1 - 0.3
  2. 5.551115123125783e-17
  3. >>> from decimal import Decimal
  4. >>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')
  5. Decimal('0.0')
  6. >>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.30')
  7. Decimal('0.00')
  8. 从一个浮点对象创建一个小数对象:
  9. decimal.Decimal.from_float(1.25)
  10. 设全局精度:适用于调用线程中创建的所有小数
  11. decimal.getcontext().prec = 4
  12. 设临时精度:
  13. >>> with decimal.localcontext() as ctx:
  14. ... ctx.prec = 2
  15. ... decimal.Decimal('1.00') / decimal.Decimal('3.00')
  16. ...
  17. Decimal('0.33')

分数

  1. >>> from fractions import Fraction
  2. >>> x = Fraction(1, 3)
  3. >>> x
  4. Fraction(1, 3)
  5. >>> print(x)
  6. 1/3
  7. >>> Fraction('.25')
  8. Fraction(1, 4)

转换和混合类型

  1. >>> (2.5).as_integer_ratio()
  2. (5, 2)
  3. >>> f = 2.5
  4. >>> z = Fraction(*f.as_integer_ratio())
  5. >>> z
  6. Fraction(5, 2)
  7. >>>Fraction.from_float(1.75)
  8. Fraction(7, 4)
  9. >>> x = Fraction(1, 3)
  10. >>> a = x + Fraction(*(4.0 / 3).as_integer_ratio())
  11. >>> a
  12. Fraction(22517998136852479, 13510798882111488) # Precision loss from float
  13. >>> a.limit_denominator(10) # 限制最大分母
  14. Fraction(5, 3)

集合

in python 2.6

  1. x = set('abcde')
  2. >>> x
  3. set(['a', 'c', 'b', 'e', 'd'])
  4. # operations
  5. (
  6. 'e' in x
  7. x - y # difference
  8. x | y # union
  9. x & y # intersection
  10. x ^ y #symmetric difference (XOR)
  11. x > y, x < y # superset, subset
  12. # methods
  13. (
  14. x.interaction(y) # same as x & y; '-', '|', '^' just like so
  15. x.issubset(range(1, 5))
  16. z.add('SPAM') # insert one item
  17. z.update(set(['X', 'Y'])) # merge
  18. z.remove('b') # delete one item
  19. >>> for item in set('abc'): print(item * 3)
  20. ...
  21. aaa
  22. bbb
  23. ccc

notice: set([1, 2, 3]) is set, [1, 2, 3] is list

in python 3.0

  1. We can also build a set in this way:
  2. {1, 2, 3, 5}
  3. >>> type({})
  4. <class 'dict'>
  5. 创建空集合:
  6. s = set()
  7. 集合解析:
  8. >>> {x ** 2 for x in [1, 2, 3, 4]}
  9. {16, 1, 4, 9}

for both python 2.6 & 3.0:

集合只能包含不可变(即可散列的)对象,因此,列表和字典不能嵌入集合

若需要在另一个集合中存储一个集合,可以调用frozenset,创建一个不可变集合且能嵌套到其他集合中。

集合应用

  1. 去除重复项

    L = [1, 2, 1, 3, 2, 4, 5]

    L = list(set(L))

  2. 遍历图形或其他回环结构时,用来记录已经访问过的位置

  3. 处理较大的数据集合(例如数据库查询结果)

数字扩展

NumPy 提供了高级的数字编程工具,例如矩形数据类型、向量处理和高级的计算库

《Python学习手册》(二)的更多相关文章

  1. PHP面向对象编程 对象的基本概念 PHP面向对象的基本实践 PHP面向对象的高级实践 PHP面向对象的特殊实践

    再次梳理一下面向对象编程的要点. 此文是以php为例,但思想是通用的. 总结的PHP面向对象编程笔记 对象的基本概念 对象的基本构成 对象包含两部分 一.对象的组成元素 是对象的数据模型,用于描述对象 ...

  2. 【Scrum】-NO.40.EBook.1.Scrum.1.001-【敏捷软件开发:原则、模式与实践】- Scrum

    1.0.0 Summary Tittle:[Scrum]-NO.40.EBook.1.Scrum.1.001-[敏捷软件开发:原则.模式与实践]- Scrum Style:DesignPattern ...

  3. (转) 面向对象设计原则(二):开放-封闭原则(OCP)

    原文:https://blog.csdn.net/tjiyu/article/details/57079927 面向对象设计原则(二):开放-封闭原则(OCP) 开放-封闭原则(Open-closed ...

  4. 敏捷软件开发:原则、模式与实践——第11章 DIP:依赖倒置原则

    第11章 DIP:依赖倒置原则 DIP:依赖倒置原则: a.高层模块不应该依赖于低层模块.二者都应该依赖于抽象. b.抽象不应该依赖于细节.细节应该依赖于抽象. 11.1 层次化 下图展示了一个简单的 ...

  5. 敏捷软件开发:原则、模式与实践——第9章 OCP:开放-封闭原则

    第9章 OCP:开放-封闭原则 软件实体(类.模块.函数等)应该是可以扩展的,但是不可修改. 9.1 OCP概述 遵循开放-封闭原则设计出的模块具有两个主要特征: (1)对于扩展是开放的(open f ...

  6. OOP 面向对象 七大原则 (二)

    OOP 面向对象   七大原则 (二) 上一篇写到了前四个原则,这一篇继续~~ 接口隔离:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 又是一句大白话~就是说接口尽量 ...

  7. 手机淘宝轻店业务 Serverless 研发模式升级实践

    一.前言 随着 Serverless 在业界各云平台落地,阿里内部 Serverless 研发平台.各种研发模式也在业务中逐步落地,如火如荼.在此契机下,淘系团队启动了轻店 Serverless 研发 ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除

    本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...

  9. ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询

    上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...

  10. ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构

    咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...

随机推荐

  1. C语言程序设计-猴子选大王[链表应用]

    2032 猴子选大王 Description 有N只猴子,从1~N进行编号.它们按照编号的顺时针方向排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报的第一个数字为1,以后每只猴子报的数字都是它们前 ...

  2. AderTemplate

    http://www.cnblogs.com/kwklover/archive/2007/07/12/815509.html 概述 AderTemplate是一个小型的模板引擎.无论是拿来直接使用还是 ...

  3. Java定时任务:利用java Timer类实现定时执行任务的功能

    一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务. TimerTask一个抽象类,它的子类 ...

  4. Python创建数组

    1  创建数组 array函数 >>> a=([1,2],[3,4]) >>> array(a) array([[1, 2], [3, 4]]) arange函数: ...

  5. Oracle的服务介绍以及正常运行必须启动的服务

    成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度.那么,具体该怎么做呢? 按照win ...

  6. pandas 修改列名

    原始文件 下面是Excel打开以及pd.read_csv() 打开: 里面只是干巴巴的数据,没有列名,so,需要给其设置列名. Method1 不让第一行数据默认当作列名(默认第一行数据是列名了). ...

  7. JS-排序详解:冒泡排序、选择排序和快速排序

    JS-排序详解-冒泡排序 说明 时间复杂度指的是一个算法执行所耗费的时间 空间复杂度指运行完一个程序所需内存的大小 稳定指,如果a=b,a在b的前面,排序后a仍然在b的前面 不稳定指,如果a=b,a在 ...

  8. 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题

    Android 设备的CPU类型通常称为ABIs 问题描述 解决方法 1解决之前的截图 2解决后的截图 3解决方法 4建议 为什么你需要重点关注so文件 App中可能出错的地方 其他地方也可能出错 使 ...

  9. Git的使用(1)

    一.Git简介 Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发.Git ...

  10. Django - 权限(5)- 非菜单权限对应的一级菜单展开、面包屑导航

    一.非菜单权限对应的一级菜单展开 需求:客户列表和账单列表页面中都有添加按钮,当点击添加客户(或编辑客户.删除客户)时,客户列表所属的一级菜单展开,当点击添加账单(或编辑账单.删除账单)时,账单列表所 ...