Python(day6)-函数

一 为何要有函数?
不加区分地将所有功能的代码垒到一起,问题是:
代码可读性差
代码冗余
代码可扩展差

如何解决?
函数即工具,事先准备工具的过程是定义函数,拿来就用指的就是函数调用

结论:函数使用必须是:先定义,后调用

 

二:函数的分类
  1.内置函数:built-in
  2.自定义函数:
    def 函数名(参数1,参数2,...):
      '''注释'''
      函数体

可以先看个例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'''
************
************
************
hello world
************
************
************
'''
 
def  print_tag(tag,count,line_num):
     for  in  range (line_num):
         print (tag * count)
 
def  print_msg(msg):  #msg='hello world'
     print (msg)
 
print_tag( '*' , 20 , 3 )
print_msg( 'hello world' )
print_tag( '*' , 20 , 3 )

  

1、定义阶段

1
2
3
4
5
6
def  foo():
     print ( 'from foo' )
     bra()
 
def  bra():
     print ( 'from bra' )

 

1
2
def  func():   #语法没问题,逻辑有问题,引用 一个不存在的变量名
     adfkgjklgnlfijg

  

2、调用阶段

调用函数的形式
语句形式
  func()

表达式
  res=func2(10)
  res=10*func2(10)


函数调用当做参数传入另外一个函数
res=func2(func2(10))

1
foo()   #执行函数语句形式<br><br>================================<br><br>res=foo()   #执行函数表达式形式 <br>print(res)

 3、定义阶段:只检测语法,不执行代码

1
2
3
def  func():
     if  1 > 2
        print ( 'hahahaha' )

4、定义函数的三种形式

无参函数

def func():

  pass

有参函数

def func(x):

  print(x)

空函数

def func()

  pass 

函数的使用:先定义,后调用
如何定义函数之定义函数的三种形式
1.定义无参函数:函数的执行不依赖于调用者传入的参数就能执行时,需要定义为无参函数
1
2
3
def  print_tag():
      print ( '*************************' )
print_tag()

2.定义有参数:函数的执行需要依赖于调用者传入的参数才能执行时,需要定义为有参函数

1
2
3
4
5
def  func(x,y, * args):
     print (x,y)
     print (args)
 
func( 1 , 2 , 3 , 4 , 5 , 6 )
1
2
3
4
5
6
7
8
def  max2(x,y):  
      if  x > y:
          return  x
      else :
          return  y
 
  res = 10 * max2( 20 , 2 )     #取大值乘10
  print (res)

  

1
2
3
4
5
6
7
8
9
def  max2(x,y):
     if  x > y:     #如果x值比y大
         return  x     #返回x值给函数max2
     else :
         return  y   #否则返回y值
 
#11,23,100
res = max2(max2( 11 , 23 ), 100 )   #比较x 、y的值,取大值接着比较
print (res)

  

3 定义空函数:

1
2
3
#3 定义空函数:函数体为pass
# def func(x,y,z):
#     pass

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def  auth():
     '''用户认证'''
     pass
 
def  get():
     '''download file'''
     pass
 
def  put():
     '''upload file'''
     pass
 
def  check_hash():
     '''check file hash value'''
     pass

 总结

函数的使用必须遵循:先定义后使用的原则

函数的定义:与变量的定义是相似的,如果没有事先定义函数而直接引用,就相当于在引用一个不存在的变量名

补充:函数里没有return 默认返回none值

包含多个值,默认识别返回值成元组格式

返回值:可以返回任意类型

return的效果:只能返回一次值,终止函数的执行

转载于:https://www.cnblogs.com/xiaoyonglaing/p/7264060.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值