python 函数初始.结构.调用.返回值.传参

day09

一丶函数的初识

什么函数:

函数是以功能为导向.一个函数封装一个功能

函数的优点:

1.减少代码的重复性,

2.增强了代码的可读性

二丶函数的结构

# def 关键字  定义一个函数,紧跟一个空格
# new_len 函数名:函数命名规范与变量命名规范一致,函数名具有可描述性
# ()   结构需要,传参使用
# :     分隔符 , 分隔函数的定义和函数体
# tab键 四个空格,缩进函数体,

   
def new_len(model):
   count=0
   for el in model:
       count+=1
   print(count)

三丶函数的调用

函数的调用: 函数名+() ----> 函数的调用者
#函数的调用 和 执行
def new_len():  #内存只加载函数到内存,如果没有被调用,就不会执行函数的内容
   print('abc')
   
************************************************************

new_len()  # 函数名 +() 是执行一个函数
print(new_len)  #<function new_len at 0x000002025FC02EA0>内存地址
print(id(new_len))  # 2565029441184 内存地址
print(type(new_len))#<class 'function'>

四丶函数的返回值(return)

函数的返回值作用:

1.结束函数

2.给函数的调用者返回值

函数的返回值return的3中类型:
#1.函数值没有return ,或者函数只写一个return     函数的执行者得到--> none
#2.函数中return后是单个值, 函数的执行者得到的是这个值, 不改变这个值的类型
#3.函数中return 返回多个值 , 函数的执行者得到多个值的数据类型是元组
#结束函数  -->none,只执行return之前的函数体,return之后的函数体不执行
def func():
    print('123')
    a=1
    return
    print('abc')
print(func())   #none 和 123

#函数return 单个值 ,得到单个值,单个值的数据类型不改变
def func():
    a=1
    return 1
print(func())

#函数return 多个值, 得到一个元组
def func():
    return 1,'abc',[1,2,3]
print(func())    #(1, 'abc', [1, 2, 3]) 元组
##可以结构去接return返回值,结构字典,元组,列表都可以,变量和值要一一匹配
a,b,c=func()
print(a,b,c)


# #函数 return返回执行的结果
def func():
    return 1>2
print(func())  #False

五丶函数的传参

目的:使函数变得具有可扩展性

参数: 函数在调用的时给函数传递的信息

传参:把实参付给形参的过程

参数的种类:形参和实参

形参: 在函数声明的位置的变量

实参 :在函数调用的时候给出的具体的值

#实参角度:
#   1.位置参数 ,从左到右 ,按照顺序位置一 一对应
def func(sex,age):
       print(f'性别{sex},年龄{age}')
   func('男','20')

   
   
#   2.关键字参数 ,必须 一 一二对应,参数的顺序随意
   def func(sex,age,job,height,weight):
       print(f'{sex},{age},{job},{height},{weight}')
   func(sex='男',age=20,job='学生',height='179cm',weight=60)

   
   
#   3.混合参数(位置参数+关键字参数)   一一对应(说的是参数的个数)

def func(name,sex,age,job,height,weight):
   print(f'{name},{sex},{age},{job},{height},{weight}')

#*** 遵循:位置参数,在关键字参数之前 ***
func('李四','男','20',job='代练',weight=120,height='170cm')



   
#形参角度:
#   1.位置参数   ,从左到右 ,按照顺序位置一 一对应
   def func(sex,age): # 位置 一 一对应
       print(f'性别{sex},年龄{age}')
   func('男','20')
   
   
   
#   2.默认参数 sex设置就是默认参数,常用的值就是默认参数
#默认参数一定要在位置参数后面,不传参数,就使用默认参数
   def meet(age,job,sex='女'):
       print(f'{age} , {job}, {sex}')
   meet(22, '教师')   # 使用默认参数
   
   #更改默认参数
   meet(20,'教师',sex='男')  # 关键字 指定修改
   meet(22,'教师','男')      # 位置 指定修改
   
   
   
   
#   3.动态位置参数
#   4.仅限关键字参数 (动态关键字参数)

 

posted on 2020-01-11 15:16  向往1  阅读(295)  评论(0编辑  收藏  举报

导航

……