Python修炼--常用字符串、数学函数

Python处理字符串很方便,用了一段时间做一个小结:

------函数--------------------含义--------------------

  abs(number)      返回数字的绝对值

  cmath.sqrt(number)  返回平方根,也可以应用于负数

  float(object)      将字符串和数字转换为浮点数

  help()          提供交互式帮助

  input(prompt)     获取用户输入

  int(object)       将字符串和数字转换为整数

  long(object)      将字符串和数字转换为长整形数

  math.ceil(number)   返回数的上入整数,返回值的类型为浮点数

  math.floor(number)   返回数的下舍整数,返回值的类型为浮点数

  math.sqrt(number)   返回平方根,不适用于负数

  pow(x,y[, z])      返回x的y次幂(返回结果对z取模)

  raw_input(prompt)   获取用户输入,返回的类型为字符串

  repr(object)       返回值的字符串表示形式

  round(number[, ndigits])  根据给定的精度对数字进行四舍五入

  str(object)       将值转换为字符串

------------------------------------------------------

input():打印出字符串后并以此为结果作为新的提示符

然后输入6

>>>x=input("please input x:")
please input x:6
>>>print(x)
6

raw_input():把所有输入当做原始数据当道字符串中

它与input()有个区别

linux下(windows上测试倒是没有这个问题)

当我们输入名字的时候,会出现如下的错误,而如果输入的名字是字符串的形式输入的话就没问题。

>>>name = input("what is your name?")

what is your name?"loulijun"

这样是可以的,但是下面的方式就不行

>>>name=input("what is your name?")
what is your name?loulijun
Traceback (most recent class last):
    File "<stdin>", line 1, in <module>
    File "<string>",line 1, in <module>
NameError:name 'loulijun' is not defined

原因是因为input会认为用户输入的是合法的表达式,但是实际上却不是

而使用raw_input()方法就可以避免这种问题

>>>name = raw_input("what is your name?")
what is your name?loulijun
>>> print(name)
loulijun

pow():计算乘方

效果与**一样

>>> 2**3
8
>>>pow(2, 3)
8

使用扩展模块中的方法

可以通过import math或from math import sqrt两种方式导入模块

>>>import math
>>>math.floor(32.9)
32.0

>>>from math import sqrt
>>>sqrt(9)
3.0

cmath模块

由于math模块只能处理浮点数,而类似于虚数等则会报错,比如sqrt(-2),会提示用户出错

而如果导入cmath后,就可以使用。这也算是对math的一种扩展吧

>>>import cmath
>>>cmath.sqrt(-1)
1j

  

posted on 2012-03-08 11:15  花郎V  阅读(835)  评论(0编辑  收藏  举报