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