zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python基础入门-函数定义和调用

Python基础入门 函数 调用 定义
2023-09-11 14:19:05 时间

   在python中,函数的使用非常的广泛。函数学好了,在面向过程这个节点你会做的很不错,当然这不是终点。作为很多初学者在学习python这门语言的时候会有很多知识点的理解搞不懂,比如for/while循环里面的一些基础的编程题一样。知识点很好理解,但是怎么通过知识点实现编程,那就是另外一码事了。并不是所有人都天生具备编程思维。编程思维是需要后天开发的,当然不排除一些个别天生智商超群的人。我们今天呢,主要和大家分享的是关于函数的一些基本的用法和注意事项。好了,进入正题:

使用函数的好处无非下面这几点:1.减少代码冗余,使代码结构清晰   2.增强代码的可维护性   3.方便调用,实现更强大功能

关于函数今天我们需要了解:

1.函数定义和调用
2.计算型的函数和返回型的函数区别
3.函数参数划分

Ok,明确我们的主旨以后,我们开始干吧。首先在Python中定义函数的关键字是def,def后面跟的是函数名,函数名的命名规范有要求。

1.不能以数字开头

2.不可以以系统关键字命名

3.不可以包含特殊字符(%……&……*%()*&)

4.不可以起一些莫名奇妙的命名 比如a,b

一、那么我们接下来创建一个无参数的函数

def    say_hello():
   print   "hello,jim,this is my first def! "

Ok,函数我们创建完成了,我们创建了一个函数名为say_hello()的无参的函数,这个函数的功能是打印  "hello,jim,this is my first def! " ,但是函数创建完成后,无法调用,这时候就需要我们去调用这个函数,调用的语句是 函数名+(),来继续往下看:

函数的调用:

def    say_hello():
   print   "hello,jim,this is my first def! "
say_hello()   #调用函数运行print后面的语句  

打印结果如下:

"hello,jim,this is my first def! "

到此,我们的一个无参数的函数就创建成功了。是不是很简单呢?在创建函数时,这里还是有一些需要我们注意的事情,我们上面说完了函数名,这回我们说一下关于函数的参数,那么如果定义一个有参数的函数呢,参数需要写在参数的括号里面,如果定义的函数没有参数,就写空括号就好了。参数括号后面跟的是冒号,来声明语句块的缩进.接下来我们创建一个有参数的函数哈,开始我的表演:对刚才的例子进行改造一下。

def    say_hello(name):
   print   "hello,jim,this is my first def! %s"%name
say_hello('zhangshan')    #调用函数时给函数一个入参zhanshan 

代码解析一下

1.我们定义了一个函数 say_hello(),定义函数时函数定义了一个参数,其实这个参数是形参,因为他没有实际的值,只是形式上的一个参数。

2.我们在调用函数时say_hello('zhangshan'),给调用方传递了一个实际值,这个实际值就是‘zhangshan’,这个值一定是标准的数据类型。不然会报错,当然这种在调用函数时的传参方式我们可以把它理解为实参,因为他是有实际值得,他的值就是字符串 zhangshan .

3.整个函数运行的顺序是由实参传递给函数的形参,然后在作用到函数的内部,让整个say_hello()函数可以正常运行输出  "hello,jim,this is my first def! ‘zhangshan’ .

二、计算型的函数和返回型的函数区别

其实,在上面的例子中,我们定义的函数是一个计算型的函数,他是没有实际值得,为什么这么说呢?我们看一下他的类型就知道了。

def    say_hello():
   print   "hello,jim,this is my first def! "
pritn type(say_hello())

返回的是<NoneType>   说明这个函数是没有实际的函数值得,那么有些同学可不理解了, "hello,jim,this is my first def! "不是函数的值吗?这个当然不是,因为这个是print的作用效果,print是打印,将后面的结果打印给我们看,而这个say_hello()函数实际是没有返回值得。那么如果想要函数有返回值怎么办呢?这时候我不得不请return出马了。我们来看下return的正确使用姿势,对上面的例子进行改造。

def    say_hello():
   return  "hello,jim,this is my first def! "
pritn type(say_hello())

这时候返回的结果就是<type,str> 说明什么呢? 说明这个函数有了实际的值,这个值是是一个字符串。所以呢,函数中一出现return关键字就说明这个函数一定是有返回值,这个返回值实际上只能返回一个值,所有返回的结果都会存储到一个元祖里面,我们继续来看~~

def  add():
  a=b=c=90
  return a+b,c 
add()  

返回的结果是(180,90)证明了该函数只返回了一个值,并将结果存储到元祖中。而且在函数中,只要return一出现,声明return后面的代码不会被运行,这是python语言的规定。我们继续来看一下实际的例子。

def  add():
  a=b=c=1
  return  a+b+c
  print  'none result'
add() 

运行add()你会发现这个return后面的代码 print结果是没有被打印出来的,只返回了一个3结果。所以记住,return出现,他后面的代码将不会被执行。好了关于函数的介绍,我们先介绍到这里了吧,下一篇我们介绍函数的参数。