初学Python 6 内建函数

时间:2021-08-14 19:23:13

abs函数,返回绝对值

print(abs(-10))
10

bool函数,只接收一个参数
0、None、空的列表、元组、字典为False ;非零、非空的列表、元组、字典为True

bool(0) False bool(12.5) True

dir,是directory的缩写,可以告诉你(返回)在变量上可以做些什么,基本可用于任何东西:字符串、数字、函数、模块、对象、类。

ans='chen'
dir(ans)

eval
evaluate的缩写,把字符串类型的表达式计算出结果并返回。

ans=input('shuru')
shuru12*52
eval(ans)
624

exec,它可以执行你输入的指令
它与eval的不同在于它不会返回值,而eval有返回值

ans='''print('hahah') print('chen')'''
ans  
"print('hahah')\nprint('chen')"
exec(ans)     
hahah
chen

int和float
参数可以写数字,也可以写字符串,但是在把带小数点的字符串转化成int时会出错。

float(12)     
12.0
float(12.4)   
12.4
float('12')   
12.0
float('12.4')     
12.4
int(12)   
12
int('123')    
123
int(12.4)     
12
int('12133')      
12133
int('123.3')
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    int('123.3')
ValueError: invalid literal for int() with base 10: '123.3'

len()
返回一个对象的长度,可以是字符串也可以是列表,元组,字典,返回其中元素的个数。
而用int型是错的。该对象没有len()函数。

a=123121
a
123121
len(a)
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    len(a)
TypeError: object of type 'int' has no len()
a='123'
len(a)
3

在循环中可以像c语言中的sizeof那样使用

ans=['a','b','c','s']
>>> ans
['a', 'b', 'c', 's']
>>> length=len(ans)
>>> length
4
>>> for x in range(0,length):
    print("asda %s is %s" % (x,ans[x])) 
asda 0 is a
asda 1 is b
asda 2 is c
asda 3 is s

max和min
返回最大最小值,可以是列表,元组或字符串序列。

max(1,3,5,5,8,7,)
8
max('a,b,f,e,t,')
't' 

range(起,终,步长)
左闭右开,步长省略的话默认为1,可以结合list,把数字放入列表,也可以结合for循环,执行制定次数的步骤。

for x in range(0,6):
    print(x)
0
1
2
3
4
5
list(range(0,9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]

sum()
返回列表中的元素的和,不能直接把元素写在括号里

sum(range(0,9))
36

open、write来对文件读写

file=open('E:\\text.txt')
>>> text=file.read()
>>> text
'hahahah\nchen hsh\nzhejiangdaxue \nluel e22332\n陈阿萨大大'
>>> print(text)
hahahah
chen hsh
zhejiangdaxue 
luel e22332
陈阿萨大大

对打开的文件写入,不过这样会覆盖原先的内容

file=open('E:\\text.txt','w')
>>> file.write ('chenyu ting haah')
16
>>> file.close ()
>>> ans=open('E:\\text.txt')
>>> print(ans.read ())
chenyu ting haah