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. JavaScript函数柯里化的一些思考

    1. 高阶函数的坑 在学习柯里化之前,我们首先来看下面一段代码: var f1 = function(x){ return f(x); }; f1(x); 很多同学都能看出来,这些写是非常傻的,因为函 ...

  2. poj 1258 Agri-Net【最小生成树(prime算法)】

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44827   Accepted: 18351 Descri ...

  3. reloadData should be in main thread

    reloadData should be called in main thread, so if you call it in work thread, you should call it as ...

  4. 程序员取悦女朋友的正确姿势---Tips(iOS美容篇)

    前言 女孩子都喜欢用美图工具进行图片美容,近来无事时,特意为某人写了个自定义图片滤镜生成器,安装到手机即可完成自定义滤镜渲染照片.app独一无二,虽简亦繁. JH定律:魔镜:最漂亮的女人是你老婆魔镜: ...

  5. CSS3弹性盒模型之Flexbox是布局模块box-sizing & box-orient & box-direction & box-ordinal-group

    css3 box-sizing属性 box-sizing属性可以为三个值之一:content-box(default),border-box,padding-box. content-box,bord ...

  6. 轻量级的原型设计工具-Axure RP

    1. 软件下载地址: http://www.downxia.com/downinfo/25742.html 这个版本不需要注册码,不需要安装,存绿色版. 2. 基本介绍教程: http://wenku ...

  7. Java SE 6 新特性: 编译器 API

    新 API 功能简介 JDK 6 提供了在运行时调用编译器的 API,后面我们将假设把此 API 应用在 JSP 技术中.在传统的 JSP 技术中,服务器处理 JSP 通常需要进行下面 6 个步骤: ...

  8. [转] Immutable 详解及 React 中实践

    https://zhuanlan.zhihu.com/p/20295971 作者:camsong链接:https://zhuanlan.zhihu.com/p/20295971来源:知乎著作权归作者所 ...

  9. Struts2 result type

    Struts2支持的不同类型的返回结果为: type name 说明 dispatcher 缺省类型,用来转向页面,通常处理JSP chain 转向另一个action,用来处理Action链 redi ...

  10. css兼容性问题

    其实做网页最大的问题还是兼容性吧,要调试IE的各种浏览器. DIV+CSS设计IE6.IE7.FF 兼容性  DIV+CSS网页布局这是一种趋势,我也开始顺应这股趋势了,不过在使用DIV+CSS网站设 ...