python 内建函数(四)

时间:2021-11-25 18:32:11

转自 http://www.cnblogs.com/mangood/p/6013741.html

内建函数都在 _builtins_ 里面

(1)abs() 取绝对值

  adb(-10)

  10

(2)bool()将参数转换成布尔型,返回值是True或False

  参数是数字时,0返回False,其他任何值都返回True

  参数是字符串时,None或空字符串返回False,否则返回True

  参数是空的列表、元祖或字典返回False,否则返回True

例如:

print (bool())   无参 False

print (bool(0))        False

print (bool(-100))   True

print (bool(None))   False

print (bool(''))     参数是空字符串  False

print (bool('wow'))  True

print (bool(' '))  参数是元组,元素是空格  True

例如:

用bool验证输入值是否为空

year = raw_input ('请输入你的出生日期')

if not bool (year.rstrip()):

  print ('必须输入出生日期')

(3)float()将参数转换为浮点型,注意,参数可以使字符串或者数字

print (float (25))        25.0

print (float (999.786632))     999.786632 (这里的999.786632未转换前其实是字符串)

(4)int()将参数转换为整数,注意:如果参数为浮点数,小数点后将会丢失,如果参数是含有浮点数的字符串,将会报错

int (199.99)    199  因为199.99是浮点数

int ('199.99')   报错  因为'199.99'是含有浮点数的字符串

int ('199')    199    因为'199'是含有整数的字符串,所以正常转换

(5)range()生成一个列表

语法格式:

    range([start],stop,[step])

第一个参数是起始值,可选参数,默认值是0

第二个参数是终止值

第三个参数是步长,可选参数,可以是正数或负数,默认值是1

从给定的第一个参数开始,到比第二个参数小1的数字结束,我们常说的包头不包尾

常与for循环一起使用,循环执行指定数字的次数

例如:

for i in range (0,5)

0

1

2

3

4

例如:

print (list(range(0,5)))

[0,1,2,3,4]

例如:注意这里用list()函数将range()函数返回值转换为列表

count = list (range(0,15,3))

print count

[0,3,6,9,12]

例如:

count = list (range(15,0,-3))

print count

[15,12,9,6,3]

 我们再看一个好玩的

xy = list(range(20,100,-5))

print xy

[]

之所以输出是个空字符串是因为20-5是15,15不在20和100的范围,所以为空

(6)sum()把列表中的元素求和

例如:用list函数把range函数的值定义为列表赋值给num,再通过sum()函数对列表元素求和

num=list (range(0,250,50))

print num

[0,50,100,150,200]

print (sum (num))

500

(7)max()

  函数:返回列表、元祖或字符串中最大的元素,注意:字母“大于”数字、小写字母“大于”大写字母(字母排序是根据ASCII码表排的)

例如:

>>>num = list (range (1,100,20))

>>>print (max(num))

81

例如:

>>>strings = 'd,u,a,n,g,D,U,A,N,G'

>>>print (max(strings))

u

例如:

>>>print (max(1000,650,98,2678))

2678

(8)min()  最小元素同max()用法一样

>>>xy = [4,15,6,'z','Z','a']

>>>print (min(xy))

4

>>>print (max(xy))

z

 (9)dir()

   是directory的简写,可以返回关于任何值得相关信息,可以用于任何对象,包括:字符串、数字、函数、模块、对象和类,当想要快速查找帮助信息时,很有用

语法格式 dir ([object])

不带参数时,返回当前范围内的变量、方法和定义的类型列表

带参数时,返回参数的属性、方法列表

例如:

显示class类的信息

>>>class MyClass:

  "'Define A class"'

  pass

>>>myclass = MyClass()

>>>dir (myclass)

['_doc_','_module_']

 (10)eval()

计算参数中表达式的值,可计算参数中字符串中的算术表达式,但参数只能是简单的表达式,一般情况下对拆分成多行的表达式不能运算,常用语将用户输入的转换成Python表达式

>>>eval('100*8')

800

>>>eval(raw_input("请输入:"))

请输入: 8+9*2-3

23

(11)exec()

  可以运行较复杂的程序,与eval()功能相近,二者的区别是

    exec()没有返回值

    eval()返回一个值

  可执行由多行字符串组成的较复杂的代码

例如:

执行由多行字符串组成的较复杂的代码,获得程序的相关信息

>>>exec('''class myclass:

  pass)

myclass = myclass()

print dir (myclass)''')

['_doc_','_module_']

例如:

>>>program = '''print('wow')''' (把字符串'''print('wow')'''赋值给program)

>>>exec(program)

wow                          

  (可见,在调用了exec函数,并运用program这个字符串参数的时候,python把字符串'''print('wow')'''当成标准表达式来执行,并输出了wow)

(12)len()

   返回一个对象的长度,参数是一个序列或字符串

>>>len('duang')

5

>>>language = ['python','java','C']

>>>len(language)

6

>>>map = {'张三':'100','李四':'99'}

>>>print(len(map))

2

再看

len(123456789)    执行这个就会报错,因为参数不是字符串或者序列,它是一个整数了。

len('123','456','789')  

执行这个也会报错,因为他不是序列,只是几个字符串,如果是len(['123','456','789'])或者len(('123','456','789'))就对了