美文网首页
Python---基本知识17之函数1

Python---基本知识17之函数1

作者: hello_我的哥 | 来源:发表于2018-01-22 20:58 被阅读16次

什么是函数?

函数其实就是把许多代码放在一起,包装好之后的一种形式,使得他可以被多次复用。

函数的简单定义:

如下面代码块所示,首先是一个关键字def,然后一个空格,后面跟函数名,一个小括号,冒号,后面就是代码块了,当然记得加一个tab缩进;调用就直接使用函数名就OK了;

def simple():

    print("我是函数的简单定义")

simple()

传一个参数:

def simple(str):

    print(str)

simple('一个参数的函数')

传多个参数:参数之间以逗号隔开,在调用的时候有两种方式,一种是一一对应,一种是关键字参数对应

1.

def sum(x,y):

    print(x+y)

sum(1,2)

2.

def sum(x,y):

    print(x+y)

sum(y=5,x=7)

传不定长参数:如下面代码块所示,首先形参前面加一个*,表示传过来的参数应该是元组类型,那么t就是一个元组,在使用函数的时候,直接传多个参数就行;如果是参数前面加两个**,表示传过来的参数类型应该是字典,那么在使用函数的时候传参就应该是字典格式的,

1

def indefinite(*t):

    print(t,type(t))

    for i in t: i+=i print(i)

indefinite(1,2,3)

2

def indefinnite(**d):

    print(d,type(d))

    items=d.items()

    result=0

    for k,v in items:

        print(v)

        result+=v

print(result)

indefinnite(a=4,b=5)

参数的装包和拆包:

装包:就是把多个值装成元组或者字典,比如传多个参数的时候,就需要把多个元素进行装包,拆包,就是把元组或者字典转成多个值;如下面代码所示,把1.2.3三个值转为了元组,就是装包过程,把agrs元组转成了三个值就是拆包的过程;

def sum(a,b,c):

    print(a+b+c)

def tupl(*args):

    print(args)

    print(*args)

    sum(*args)

tupl(1,2,3)

缺省参数:如下代码所示,name就是缺省参数,缺省参数就是调用函数的时候可以写也不可以不写的参数,默认有一个默认值,如下代码默认值就是monther;

def love(name='monther'):

    print("i love",name)

love()

值传递和引用传递:值传递的意思是说我只是把内容给了你,就好像我一个箩筐有五个苹果,我只是给了你五个苹果,我的箩筐没给你,箩筐还是我的箩筐;引用传递呢就是我不仅把五个苹果给你了,我还把箩筐都给你了;箩筐都给你的意思就是如果你重新装了6个苹果,那么我从箩筐取出来就会是6个苹果,说白了就是你可以改变我给的那个变量,但是在python里面又分了不可变类型和可变类型,这样的话,你就只能改变可变类型的变量,不可变类型是不能改变的,不可变类型改变之后,已经不是同一个变量了;那么针对python语言,使用的都是引用传递,下面上代码:

1.这段代码验证了当x的值发生改变之后,他的id其实已经改变了,换句话说他已经不是以前的x了

def transfer(x):

    print(id(x))

    x+=1

    print(id(x))

y=5

print(id(y))

transfer(y)

print(id(y))

结果:

1734399856 1734399856 1734399872 1734399856

2.这段代码验证了可变类型是可变改变他本身的值:

def transfer(x):

    x.append(5)

y=[1,2]

transfer(y)

print(y)

结果:

[1, 2, 5]

补充:Python的每个对象都分为可变和不可变,主要的核心类型中,数字、字符串、元组是不可变的,列表、字典是可变的。

函数的返回值:

在代码块的最后加一个return语句就可以把值返回出去,需要注意的是,return后续的代码不会执行

def sum(x,y):

    s=x+y

    d=x-y

    return s,d

result=sum(9,5)

print(result)

函数使用描述:其实就是注释,对于函数的注释有他的规范,就是在代码块的第一行,用三个双引号进行注释,注释需要说清的几个点,函数功能,参数类型,参数意义,返回值类型以及意义;获取函数的注释用help函数获取;

def sum(x,y=1):

    """ 求两个数的和

    :param x: 数值1,数值类型,必填

    :param y: 数值2,数值类型,选填,默认值为1

    :return: 两个和,数值类型 """

    result=x+y

    return result

help(sum)

相关文章

  • Python---基本知识17之函数1

    什么是函数? 函数其实就是把许多代码放在一起,包装好之后的一种形式,使得他可以被多次复用。 函数的简单定义: 如下...

  • Python---基本知识17之函数2

    偏函数:就是针对原函数参数值得改变使得原函数偏爱于新的值;如下面代码所示,首先导入functools包,使用的是f...

  • Python---基本知识1_之注释

    什么是注释?为什么要注释? 我们编写的代码需要翻译成电脑认识的语言,即机器语言,那注释呢?注释是写给我们自己看的,...

  • python---基本知识20之递归函数&函数作用域

    递归函数其实不是编程里面所定义的函数,而是数学里面的递归,传递的是一种规律,所以叫递归函数; 我们写递归函数,其实...

  • python---内置函数1

    关键函数:hasattr()、getattr()、setattr(),主要作用为实现反射机制,可以动态加载方法或者...

  • Python---基本知识13之元组

    1.什么是元组? 就是有序列得不可变得集合,这里和列表稍微不一样,列表是有序得可变得集合; 2.元组的定义:元组是...

  • Python---基本知识15之集合

    集合的概念? 无序的,不可随机访问的,不可重复的元素集合,就和数学里面学习的集合差不多; 1.集合的定义:集合分为...

  • Python---基本知识9之循环

    什么是循环? 指的就是重复做某一件事;废话不多说,直接看语法; 首先我们看的是while循环,while循环语法就...

  • Python---基本知识14之字典

    什么是字典? 字典是无序得可变的元素集合; 字典的定义: 1.直接写:从以下代码中我们可以看到字典是由一对大括号组...

  • python---函数参数

    python---函数参数 在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参...

网友评论

      本文标题:Python---基本知识17之函数1

      本文链接:https://www.haomeiwen.com/subject/lsqlaxtx.html