码迷,mamicode.com
首页 > 编程语言 > 详细

python-内置函数

时间:2017-11-11 13:06:46      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:iterator   oba   col   相关   python   pycharm   lis   pen   alt   

内置:python自带
def func():
    a = 1
    b = 2
    print(locals())
    print(globals())

func()
生成器函数range
range(100)#[0,100)
range(5,100)#[5,100)
range(1,100,2)#2为步长
range(100).__iter__()
iterator=iter(range(100)) #拿到一个迭代器
print(iterator.__next__())
print(next(iterator))
for i in range(100):
print(i)
# def itre():
# return range(100).__iter__()
 
查看内置属性:dir
print(dir([]))
调用相关的(可以调用):callable
def func():pass
print(callable(a))    #不可以调用
print(callable(print))    #可以调用
print(callable(func)) #可以调用
帮助:help
ctrl +左键点击:pycharm
help
dir
模块:import 模块
文件操作
f = open()
打开模式:r,w,a,rb,wb,ab
编码 utf-8,gbk

哈希(是一种算法)hash,返回的是一串数字
应用:数据的存储和查找,

模块:hashlib
print(id(1))
print(hash())
hash([1,2,2])
hash判断一个数据类型是否可以hash
在一个程序执行的过程中,对同一个值得hash结果总是不变
多次执行,对同一个值得hash结果可能改变
输入输出input  print
s = input(提示:)

print(1,2,3,4,sep=*)    #sep是指定多个要打印的内容之间的分隔符
print(1,2,sep=,)    #print (‘%s,%s‘%(1,2))
print(abc\n)
print(1,end=\n)
print(2)
f = open(a,w)
print(abc, file=f)
print(123\n, file=f)
print(555)
字符串类型代码的执行:eval,exec,compile
exec用于流程性代码的执行,exec没有返回值
eval用于值计算的时候,有返回值,eval 可以以python代码的形式执行一个字符串,
exec("print(‘123‘)")    #exec用于流程性代码的执行
eval("print(‘123‘)")    #eval 可以以python代码的形式执行一个字符串,
print(exec(1+2+3-4))  #exec没有返回值
print(eval(1+2+3-4))     #eval用于值计算的时候,有返回值

code1= for i in range(0,10):print(i)
compilel = compile(code1,‘‘,exec)
exec(compilel)

简单求值表达式用eval
code2 = ‘1+2+3+4‘
compile2 = compile(code2,‘‘,‘eval‘)
print(eval(compile2))
商余divmod
ret = divmod(10,2)
print(ret)
ret = divmod(3,2)
print(ret)
保留几位小数
print(round(3.1415926,2))
幂运算
print(pow(2,3))
print(pow(2,3,3))   #2的3次方,除以3取余数 x**y%z
求和sum,sum接收一个可迭代对象
print(sum([1+2+3+4+5+6],-2))    #逗号左边的加上逗号右边的
print(sum([1+2+3]))
min最小值
print(min([1,2,3,0]))
print(min([],default=0))    #元素为空时,会有报错,default设置一个默认值,如果没有元素就会返回default设置的默认值,这样就不会有报错了
max求最大值
s = (-25,1,3,6,8)
print(max(s))
print(max(s,key=abs))
print(max((),default=100))
返回值不同,reversed返回的是迭代器,不改变原来的列表的情况下生成一个新的序列的迭代器
rever返回值为None,是在原来的列表的基础上修改的
l = [2,3,5,0.1]
ret = reversed(l)
print(ret)
print(list(ret)) #强转成列表
#next
# for
l.reverse()
print(l)
print(l.reverse())  #返回值为None
slice
l = [2,3,5,0.1]
sl = slice(1,5,2)       #实现了切片的函数,
# print(l[sl])  #l[1,5,2]语法糖
print(sl)

 

formate的另类用法,但下面方法用的不多
print(format(test,<20))     #这里<是左对齐,20表示总字符是20,左对齐
print(format(test,>20))     #>表示右对齐
print(format(test,^20))     #^表示居中
网络编程的时候:能在网络上传递的必须是字节
ret = bytes(你好,encoding=utf-8)
# # 中间是网络传输的过程
print(ret.decode(encoding=utf-8))
对比较长的字符串做修改的时候,指定某一处进行修改,不会改变这个bytearry的内存地址
ret = bytearray(alex,encoding=utf-8)
print(id(ret))
print(ret[0])
ret[0] = 65
print(ret)
print(id(ret))

 

 repr
print(repr(1))
print(repr(1))
print(repr([1,2]))
print(name:%s%(金老板))
print(name:%r%(金老板))
enumerate枚举
l = [1,2,3,4]
for i in enumerate(l):
    print(i)

 

all,any
一个为假就为假
print(all([1,2,3,4,0]))
print(all([1,2,3,4]))
print(all([1,2,3,4,None]))
print(all([1,2,3,4,‘‘]))
一个为真就为真
print(any([True,False]))

拉链函数zip
print(list(zip((1,2,3),(4,5,6),(a,b))))
筛选函数
就是有一个可迭代对象,想要一个新的内容集,是从原来可迭代对象中筛选出来的
新内容少于等于原内容的时候,才能用到filter.
filter和map
参数很相近,都是一个函数名+可迭代对象
且返回值也很相近,都是返回可迭代对象
区别:
filter是做筛选的,结果还是原来就在可迭代对象中的项
map是对可迭代对象中的每一项做操作的,结果不一定是原来就在可迭代对象中的项
技术分享filter和map
def func(x):
    return x and x.strip()

l = [test,None,‘‘,str, ,END]
ret = filter(func,l)
print(list(ret))

def is_odd(x):
    if x>10:
        return True
ret = filter(is_odd,[1,4,6,7,9,12,17])
print(list(ret))
def is_odd(x):
    if x%2 == 0:
        return True
ret = filter(is_odd,[1,4,6,7,9,12,17])
print(list[ret])

新内容的个数等于原内容的个数
L = [1,2,3,4,5,6,7,8]
def a(x):
    return x*x
ret = map(a, L)
print(list(ret))

ret = map(abs,[-1,-3,5,-7])
print(list(ret))

 

 

 

 

 
 

 
 
 

 

 

 

 

 

进度条
import time
for i in range(0,101,2):
     time.sleep(0.1)
     char_num = i//2      #打印多少个‘*‘
     per_str = \r%s%% : %s\n % (i, * * char_num) if i == 100 else \r%s%% : %s%(i,**char_num)
     #/r表示把光标返回到初始位置
     print(per_str,end=‘‘, flush=True)

 

 
 
 

 

 
 
 

python-内置函数

标签:iterator   oba   col   相关   python   pycharm   lis   pen   alt   

原文地址:http://www.cnblogs.com/dwenwen/p/7818659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!