Python——函数

Posted 一只快乐的驴子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——函数相关的知识,希望对你有一定的参考价值。

函数其实就是一个功能,一个方法,可以简化代码。函数必须调用才会执行。

函数的作用就是简化代码,提高代码的复用性。一般一个函数只做一件事情,代码不能写的太复杂。

定义

使用def来定义一个函数,括号里面传递的是形式参数。他是一个变量。函数体里面写的是函数具体实现的功能部分。

def say(name):                

        print("%s 这是一个函数" %name)

调用函数的时候:say(\'\'zhangfei\'\')   调用时候括号里面的就是实际参数。参数的个数也要和函数保持一致。

参数

函数里面的参数叫形式参数。它可以是必填参数,也可以是默认值参数。表现形式为:

def say(name,sex=\'男‘)   

函数的形式参数只是一个变量。

调用

调用函数的时候,传递的变量类型不限制。上面say函数中参数name可以传递list类型的实际参数。而sex这个默认值参数调的时候不传递参数,会取默认值‘男’。如果传递了参数。就会使用传入的值

变量

局部变量

        在函数里面的变量都是局部变量,他只能在函数体内使用。函数运行结束,这个变量也就是没有了。

全局变量

        在文件最外面定义的变量叫全局变量。会一直占用内存。

常量

        使用大写字母定义的变量是常量。

name=\'小黑‘

FILENAME = ‘a.txt’

def func()

       name="小白"

       print (name)

func ()

这时候打印出来的结果是 小黑。

因为函数func()定义的时候里面的name是个局部变量。出了函数就失效了,然后调用函数的时候,使用的是全局变量的name值:小黑。

如果想要在函数里面使用全局变量,需要先声明:global。

但是字典和list这种可变变量,不需要global声明就可以使用。

func()

     global name

     name = \'小白\'

     print (name)

func()

d = {\'name\':\'Dave‘}

func test()

        d[\'sex\']=29     

        print (d)

test()

print(d)

结果为:{\'name\':\'Deav\',\'sex\'=29}

可变参数:参数组,不是必填的,参数的个数也不限制。

  def  send_email(*email)

     send_email(\'caoyanyan_207@126,com\')

     send_email(\'caoyanyan_207@126‘’,com;lx@126.cn,zhansan@163.com)

关键字参数:一般用**kwargs,传递值的时候使用k1=1这样的方式  不是必填参数,不限制参数个数。传入的数据放入了字典里。

 def  my_func(name,**kwargs)

        print(name)

        print(kwagrs)

my_func(\'xiaohei\',k1=1)

参数顺序:位置参数(必填)、默认值参数(不必填)、可变参数(不必填。不限参数个数)、关键字参数(不必填)

  def  my_func(name,sex=‘男’,*agrs,**kargs)

          print(name)

          print(sex)

          print(agrs)

          print(kagrs)

 

my_func(\'xiaohei\',\'男\',\'args1\',\'args2\',k1=1,k2=2)

xiahei是位置参数name的值,男是位置参数sex的值。args1和agrs2可变参数的值,k1和 k2是关键字参数

 

返回值

如果需要用到变量的返回值,就写return;如果不需要,那么就不写return。没有返回值的时候会返回None

函数中如果遇到return,函数立即结束。return后面的代码不会执行。

def calc(a,b):

      c = a*b

       return c

now=8000

money=calc(1000,13)

print(now+money)

做个小练习:

编写一个函数,实现功能是验证是否为浮点类型。

写一个校验输入的字符串是否为小数的程序
0.12 -5.44
只有一个小数点——判断小数点的个数
正小数的情况下,小数点左边和右边都是整数的话。才合法【0-9】
负小数的情况下,小数点右边正整数,左边必须是以“—"开头,并且只有一个负

 

 补充知识点:递归

递归就是函数自己调用自己,递归最多可以循环999次。用递归得有一个明确的结束条件。

import random

res = random.sample(random(1,34),6)

for i in range(len(res))

        res[i]=str(res[i].zfill(2))

print res

 

这段代码的另一个写法:列表推导式/列表生成式

import random

res = random.sample(random(1,34),6)

res =  [str(i).zfill(2)  for i in res]

print res

举一反三:res2 = [int(i)+10 for i in  res]、res3=[i for i in range(1,100,2)]

 

以上是关于Python——函数的主要内容,如果未能解决你的问题,请参考以下文章

python使用上下文对代码片段进行计时,非装饰器

python 元组有用的函数,方法和片段。

Python代码阅读(第26篇):将列表映射成字典

VSCode自定义代码片段——声明函数

Python学习 :函数

VSCode自定义代码片段8——声明函数