3.1. 将Python用作计算器

3.1.1. Numbers 数

  • 作为一个计算器,python支持简单的操作,
  • '+','-','*','/'地球人都知道的加减乘除.
  • ()可以用来改变优先级,同数学里面的四则运算优先级一样.
  • '='用来建立起表达式和变量间的联系,通俗点讲就是赋值. Afterwards, no result is displayed before the next interactive prompt (没看明白...)
  • 变量在使用之前必须被定义.
  • 浮点型的支持:用python进行数学计算的时候,python会帮你处理小数(float)和整数(integer)间的关系(存在小数的时候,那么得到的结果必然是一个浮点型的).
  • 复数的支持:复数虚步在python里面需要带上j或者J的后缀,实部非0的复数表示为 (real + imagj),或者也可以用complex(real, imag)函数来生成.

复数z的实部与虚部可以通过z.real和z.imag获取

类型转换函数float(), int() and long()对复数无效

abs(z)获取它的magnitude (as a float) 或者通过 z.real 的方式获取它的实部

  • 交互模式下(命令行),最后输出的一个表达式会被赋给变量 '_',所以有时候可以通过使用 '_' 简化操作

This variable should be treated as read-only by the user. Don’t explicitly assign a value to it — you would create an independent local variable with the same name masking the built-in variable with its magic behavior.

3.1.2. Strings 字符串

除了数之外,Python同样的有多种处理字符串的方法.

字符串的三种表达方式:

  • 'This is a string'
  • "This is another string"
  • """This is also a string"""

扩展一下

'Hello I'm zhangsan' Wrong

'Hello I\'m zhangsan' Right

"Hello I'm zhangsan" Right

此外,还有一种字符串的表示需要提一下,那就是

r'this is a string and something like \n will not work it you wanna to converted it to newline'

r '' 也就是raw的意思,被其包围的字符串都会原样的输出,像\n \t等等的这时候就不会被转换成换行和回车,但是直接的回车换行就会生效,比如说这样

print r'Hello, I am \

zhangsan'

输出会是这样的

Hello, I am

zhangsan

字符串是可以使用 + 和 * 操作的

比如 'this is a string'和 'this is ' + 'a string' 得到的结果是一样的

'aaa' 同样的也可以表示为 'a' * 3

同list一样的,string也可以切片,比如说

print 'abcde'[:3] # abc

print 'abcdefg'[0:4:2] #ac

for w in 'words':

print w,

#output:

w o r d s (注意我在print后面用了一个逗号,这样不会换行)

len('abc') 得到的结果是字符串 'abc' 的长度(3)

所以上面的一个for循环也可以这样:

for i in range(len('words')):

print 'words'[i],

这会得到同样的结果

3.1.3. Unicode Strings

定义一个Unicode字符串简单的同定义普通字符串一样

Creating Unicode strings in Python is just as simple as creating normal strings:

由于太简单了,所以我就不写了(哈哈,其实是我不知道怎么去说....)

3.1.4. Lists

序列作为Python的基本格式之一,简直是妙极了.这里简单的用几个小例子来介绍一下list的使用方法.

定义一个序列,看起好像有点复杂,其实不复杂.

lst = [0, 1, 2, 3, 4, 5, 'a', 'b', [8, 888], '9', {'10': 10, 10: 100}]

lst[1] # 1 一个整数

lst[8]  # [8, 888] 一个序列

lst[9] # '9' 一个字符串

lst[10] # {'10': 10, 10: 100} 一个字典

看起来好像很灵活的样子,就是这么任性.

list的切片

lst[2:6] #[2, 3, 4, 5, 'a']

lst[2:6:2] #[2, 4, 'a']

lst[-1:0:-1] #[{'10': 10, 10: 100}, '9', [8, 888], 'b', 'a', 5, 4, 3, 2, 1] 其实就是一个逆序

lst[-1:0:-2] #[{'10': 10, 10: 100}, [8, 888], 'a', 4, 2]

len(lst) # 10

3.2. First Steps Towards Programming

Python可不仅仅是用来做加减乘除的,比如,这里我们可以用它来实现一个斐波那契数列(一对兔子,三个月生小兔子.........)

>>> # Fibonacci series:
... # the sum of two elements defines the next
... a, b = 0, 1
>>> while b < 10:
... print b,
... a, b = b, a+b

#output
1 1 2 3 5 8
关于这个函数,后面会有更为详细的介绍(直接定义了一个函数出来了)

Python Tutorial 学习(三)--An Informal Introduction to Python的更多相关文章

  1. [译]The Python Tutorial#3. An Informal Introduction to Python

    3. An Informal Introduction to Python 在以下示例中,输入和输出以提示符(>>>和...)的出现和消失来标注:如果想要重现示例,提示符出现时,必须 ...

  2. Python Tutorial 学习(八)--Errors and Exceptions

    Python Tutorial 学习(八)--Errors and Exceptions恢复 Errors and Exceptions 错误与异常 此前,我们还没有开始着眼于错误信息.不过如果你是一 ...

  3. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

  4. Python Tutorial 学习(四)--More Control Flow Tools

    4.1 if 表达式 作为最为人熟知的if.你肯定对这样的一些表达式不感到陌生: >>> x = int(raw_input("Please enter an intege ...

  5. Python Tutorial 学习(六)--Modules

    6. Modules 当你退出Python的shell模式然后又重新进入的时候,之前定义的变量,函数等都会没有了. 因此, 推荐的做法是将这些东西写入文件,并在适当的时候调用获取他们. 这就是为人所知 ...

  6. Python Tutorial 学习(二)--Using the Python Interpreter

    Using the Python Interpreter 2.1. Invoking the Interpreter The Python interpreter is usually install ...

  7. Python Tutorial 学习(一)--Whetting Your Appetite

    Whetting Your Appetite [吊你的胃口]... 这里就直接原文奉上了... If you do much work on computers, eventually you fin ...

  8. Python Tutorial 学习(七)--Input and Output

    7. Input and Output Python里面有多种方式展示程序的输出.或是用便于人阅读的方式打印出来,或是存储到文件中以便将来使用.... 本章将对这些方法予以讨论. 两种将其他类型的值转 ...

  9. Python基础学习参考(一):python初体验

    一.前期准备 对于python的学习,首先的有一个硬件电脑,软件python的运行环境.说了一句废话,对于很多初学者而言,安装运行环境配置环境变量的什么的各种头疼,常常在第一步就被卡死了,对于pyth ...

随机推荐

  1. 安装MongoDB -- Windows平台

    1. 安装MongoDB 2. 添加环境变量 将安装后的bin目录,添加至系统的Path环境变量中,例如我的安装路径为"C:\Program Files\MongoDB\Server\3.2 ...

  2. Huffman树及其应用

    哈夫曼树又称为最优二叉树,哈夫曼树的一个最主要的应用就是哈夫曼编码,本文通过简单的问题举例阐释哈夫曼编码的由来,并用哈夫曼树的方法构造哈夫曼编码,最终解决问题来更好的认识哈夫曼树的应用--哈夫曼编码. ...

  3. dos插入mysql乱码

    1.dos窗口向mysql数据库中插入数据时,如果包含中文的话那么是无法插入的.原因是默认character_set_client编码是ut8,而dos窗口默认编码是gbk.执行一下set chara ...

  4. [RxJS] Aggregating Streams With Reduce And Scan using RxJS

    What is the RxJS equivalent of Array reduce? What if I want to emit my reduced or aggregated value a ...

  5. 走进 Facebook POP 的世界

    POP: 一个流行的可扩展的动画引擎iOS,它支持spring和衰变动态动画,使其可用于构建现实,基于物理交互.Objective - C API允许快速集成, 对于所有的动画和过渡他是成熟的. 解释 ...

  6. Java基础知识强化之集合框架笔记32:集合之可变参数的概述和使用

    1. 可变参数的概述和使用: (1)可变参数:定义方法的时候不知道该定义多少个参数(2)格式:     修饰符  返回值类型  方法名(数据类型… 变量名){   }  注意: 这里的变量其实是一个数 ...

  7. 数据结构 : Hash Table

    http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html 作者:Angel Lucifer 引子 这篇仍然不讲并行/并发. ...

  8. asp.net手动填充TreeView生成树

    最近在做项目发现需要用到树的地方,页面的前台任然是使用一个asp.net的控件TreeView来显示树的结构,当然也可以自己在前台写一个树来展示,这在后期跟局功能的不同很大可能会要用到异步的知识,废话 ...

  9. Android端上传图片到后台,存储到数据库中 详细代码

    首先点击头像弹出popwindow,点击相册,相机,调用手机自带的裁剪功能,然后异步任务类访问服务器,上传头像,保存到数据库中, 下面写出popwindow的代码 //设置popwindow publ ...

  10. Android图表引擎AChartEngine之折线图使用

    最近在帮老师做一个课题,其中app端需要显示折线图以便直观地看数据波动,上网查了些资料后发现了这款图标引擎,另外感谢李坤老师的博客,帮助很大. 废话不多说,下面写代码. 一.AChartEngine是 ...