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

python 学习之函数

时间:2016-06-04 07:00:43      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

1.内置函数

callable() #定义是否能调用
def (f1):
    false
f1()
print(callable(f1)) #判断f1是否能被调用,可以返回True 否则返回False


              
chr()  用来做ASCII码转换  a=chr(65) print(a) A #65所对应的ascii码
ord()  用来做ASCII码转换  b=ord‘A‘) print(b) 66   #A在ASCII码表所对应的数字

import random  #随机生成字母
list1 = [] 
for i in range(0,6):
    num = random.randrange(65,91) #65-91 为A-Z
    asc = chr(num) 
    list1.append(asc)
    random_str = ‘‘.join(list1)
print(random_str)
BFRVQP #随机生成的字母

 


import random  随机生成字母和数字
list1 = []
for i in range(6):  #循环6次
    r  = random.randrange(0,6)   #r为0到6的随机数
    if r == 3 or r == 5:
        num1 = random.randrange(0,10) #num1为0-10的随机数
        list1.append(str(num1)) str类型.join时列表里面的元素必须为str类型
    else:
        num = random.randrange(65,91) #65-91 为A-Z
        asc = chr(num)
        list1.append(asc)
random_str = ‘‘.join(list1)
print(random_str) G623E1  #随机生成的字母和数字

 

#python执行代码过程 python会把字符串-》编译-》特殊代码(python代码)-》执行
#编译函数:
compile()
#执行函数
exec()#可以执行所有python代码,没有返回值,接受代码或者字符串(如果直接代码直接执行,如果接受字符串转换成python代码再执行)
eval() #只能做表达式运算,有返回值
exec(7+8)  #没有返回值
ret=eval(7+8) #print(ret)有返回值
s = "print(sss)"
#编译类型 single eval exec
#将字符串编译成python代码

r = compile(s,‘<string>‘,‘exec‘)
exec(r)  #用来做编译

s=‘8*8‘  #用来转换成表达式
ret1 = eval(s)
print(ret)

 

dir() #查看类里面有哪些功能
help() #查看功能的详细使用

 

#共97条数据,每页显示10条 用来计算可不可以整除,返回元组 (商和余数)
r = divmod(97,10) #返回元组
n1,n2 = r

 


#对象为类的实例
#isinstance() #判断对象是否为类的实例
s  = ‘123‘  #调用str类
r=isinstance(s,str)
print(r)  #返回True或者False


#filter 函数返回True,将元素添加到结果
#map 将函数返回值添加到结果

#filter(‘函数‘,‘可迭代的对象‘)
#fileter内部,循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,表示该元素合法,,将元素添加到fileter()返回值
# result = []
# for item in 第二个参数:  #第二个参数为列表
#     r = 第一个参数(item) #把item传参给f2函数
#     if r:
#         result.append(item)

def f2(a):
    if a >22:
        return True
li = [11,22,33,44,55]
ret = filter(f2,li) #ret为一个对象
print(list(ret))

f1 = lambda a:a>30  #f1函数名 a为函数名括号里面的参数 a应用参数
li = [11,22,33,44,]
ret = filter(lambda a:a>22,li)
print(list(ret))

 

#map(函数,可以迭代的对象)
list1=[1,2,3,4,5,]
ret = map(lambda a:a+100,list1) #让其中每个元素+100
print(list(ret))

 

#globals()代表所有全局变量 locals代表所有局部变量
#hex() 十进制转换为16进制

 

#bytes()将字符串转换为字节
#len() 查看实例长度,python2里面查看字节长度,python3查看字符长度
s = "王永翔"
a=bytes(s,encoding=‘utf-8‘)
print(len(a))  #结果为9

#round 四舍五入
#pow(3,4) #为三的四次方

2.装饰器
#@+函数名
#功能:
#1. 自动执行outer函数并且将下面的函数名f1当做参数传递
#2. 将outer函数的返回值,重新赋值给f1
def outer(func):
    def inner():
        print(‘log‘)
        a=func()
        return a
    return inner


@outer
def f1():
    print(‘F1‘)
    return ‘哈哈‘
print(f1())

python 学习之函数

标签:

原文地址:http://www.cnblogs.com/bigjerry/p/5558048.html

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