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

python之学习函数

时间:2016-07-08 11:59:43      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:python   null   return   

函数是一组语句的集合,用以实现某一特定功能。函数可简化脚本,函数包括内置函数与自定义函数

    自定义函数框架

        在python中使用def 可以声明一个函数,完整的函数是由函数名,参数,函数体,返回值。声明函数一般形式如下

def 函数名 (参数)
    函数体
    return 返回值

    参数和返回值不是必须的 当没有设置返回值的时候,该函数的返回值默认是null


    函数调用

        在python 中自定义函数与内置函数调用方法相同,只要使用函数名制定要调用的函数,然后再函数后加相应的参数即可,如果有多个参数,则不同的参数要以“,”分开。函数调用必须在申明一个函数之后才能调用

    函数中的参数分类

        默认参数

            在python中,可以在声明函数时,预先为参数设置一个默认值。当调用函数时,如果某个参数,具有默认值,则可以不向函数传递该参数

def fun(x=5)
    rerurn x**3
cube(2)    定义参数时 传递参数
8
cube()     没有定义参数时,使用默认参数
125

        指定参数

            如果一个函数具有多个参数,并且这些参数都具有默认值,在调用函数的时候,可能仅想向最后一个参数传递值可以设置

def fun(x=1,y=2,z=3):
    return(x+y-z)**3
fun(0)
-1
fun(3,3)
27
fun(none,none,5)
-8

fun(x=2,y=3,z=5)        指定具体值,即为指定参数

        动态参数 

            *默认输入的参数,全部放置在元祖中

def fun(*args:)
    print(args)
 fun (11,22)
 (11,22)

             **默认输入的参数,全部放置在字典中

def fun(**args):
    print(args)
fun(k1=11,k2=22)
{k1:11,k2:22}

              在同时有一个*和两个*的时候 定义默认参数时一个*一定要在前面    

def fun(*args,**qwargs):
    print(args)
    print(qwargs)
fun(22,33,k1=22,k2=33)
(22, 33)
{‘k2‘: 33, ‘k1‘: 22}

               在python中 格式化输出  %s与%d  函数中也有各式话输出format()

    s="i am {0},age{1}".format("alex",18)
    s="i am {0},age{1}".format(*["alex",18])
    s="i am {name},age{age}".format(name="alex",age=18)
    s="i am {0},age{1}".format(**dic)
    s="i am alex,age 18"            输出结果

    变量的作用域

        在python脚本中,不同的函数可以具有相同的参数名。在函数中已经声明过变量名,在函数外还可以继续使用。而在脚本运行过程中,其值并不相互影响

        在python中,作用域可以分为内置作用域和全局作用域和局部作用域,内置作用域时python预先定义的,全局作用域时所编写的整个脚本,局部作用域时某个函数内部范围。

        如果在函数中使用函数外的变量,则可以在变量名前使用global关键字

def fun(x):        声明一个函数    
    a=[1]            定义一个名为a的列表
    a.append(x)        
    print(a)
a=[2,3,4]            在函数外定义个名为a的列表
fun(2)                
[1,2]           
a                    输出a的值[2,3,4]


def fun(x):        声明一个函数
    global a        使用global 关键字声明全局变量
    return a+x        
    
a=5            
fun(3)        调用函数
8
a=2
fun(3)        修改a的值
5

默认定义全局变量 全部大写
局部变量        全部小写


    三元运算

    if 1==1:
        name="alex"
    else:
        name="SB"
        
 name="alex" if 1==1 else "SB"

    最简单的函数 :用lambda 表达式

        用lambda 适用于定义一个小型的函数,在函数中仅能包含单一的参数表达式,而不能包含其他的语句。在lambda 中也可以调用其他的函数。

def fun():
    print (‘lambda‘)

f= lambda:fun()
f()
lambda

def f1(a1):
    return a1+100
f2=lambda a1:a1+100            lambda 参数:函数体

ret=f1(10)
print(ret)



    内置函数

取绝对值
def abs()
     f=abs(-1)
     f=1
判断真假的函数
def all()        当all 的参数里全部为真时 all()为真 当 all里有一个参数为假时,即为假
    f=[11,22]
    all(f)为turn
    f=[11,0]
    all(f)为false    
def any()        当any的参数里只要有真 即为真
    f=[11,0]
    any(f) 为turn

转换进制的函数        
def bin()    把接收的值转换成相应的2进制
def oct()    把接受的值转换成相应的8进制
def hex()    把接受的值转换成16相应的进制

转换字节类型,按照什么编码:
def bytes()
    n=bytes(s,encoding="utf8")
    n=bytes(s,encoding="gbk")


本文出自 “故都的秋运维之路” 博客,请务必保留此出处http://7157581.blog.51cto.com/7147581/1812551

python之学习函数

标签:python   null   return   

原文地址:http://7157581.blog.51cto.com/7147581/1812551

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