day09 python
 
一.函数
    1.函数
        函数是对功能的封装
        语法:
        定义函数:
            def 函数名(形参):    #define
                函数体
        调用:
            函数名(实参)
 
    2.返回值 return
def func():
    print('bajie')
    return 'done'       #0.不写return就没有返回值(得到的是None),      #1.只写 return, 不写返回的是什么, 返回的还是None, 而且还会终止函数
    print('bajie')      #2.写return 值, 返回一个值, 而且还会终止函数, 后面的'bajie'不会被打印     #3.可以返回多个返回值: return 值1,值2,值3(接收的是元组)
 
rst = func()
 
print(rst)
 
        
    3.参数
        参数; 在函数执行的时候给函数传递信息时用的
        传参: 把实参交给形参的过程
def func(tools):    #在函数定义时,这个变量是形式参数
    print('open %s' % tools)
 
func('phone')       #在函数调用时, 是实际参数
        
        实参的传递方式: 位置参数, 关键字参数, 混合参数
def eat(good_food, no_good_food, drink, ice_cream):
    print(good_food, no_good_food, drink, ice_cream)
 
eat('fgood','nfgood','drink','icc')                 #按顺序传值, 位置参数
 
eat(ice_cream='fgood',drink='nfgood',good_food='drink',no_good_food='icc')    #关键字参数
 
eat('bajie','ai',ice_cream='shuishui',drink='haha')   #混合参数时, 分两部分:先位置, 后关键字
        
        形参的定义方式: 位置参数, 默认值参数, 动态参数
def eat(good_food, no_good_food, drink, ice_cream):     #位置参数
    print(good_food, no_good_food, drink, ice_cream)
 
def regist(name, phone, gender='man'):          #默认值参数, 默认值参数必须在参数列表的最后
    print(name, phone, gender)
 
regist('bajie', '10089')
 
        
        动态参数: 位置
def eat(*food):     # * 表示接收位置参数的动态传参
    print(food)     # food 接收到的是一个元组
    print(type(food))
 
eat('bajie','悟空','大唐')
eat()               #可以没有, 是空元组
        
        位置与动态位置的顺序
def eat(name, *food):   #位置参数, 和动态位置参数可以共存, 顺序: 先位置, 后动态位置
    print("%s want to eat %s" % (name, food))
eat('bajie', 'a','b','c')
        
        动态参数: 关键字
def eat(**food):    # ** 表示的是关键字的动态传参
    print(food)     # food接收到的是(不完全)字典
    print(type(food))
eat(name = 'bajie', age = '100')        # key 是变量(要遵守变量的命名规则), (数字不行, 字符串不行)
eat()                                    # 可以不传, 是空字典
>>>{'name': 'bajie', 'age': '100'}
        
        动态位置 + 动态关键字 : 聚合
def eat(*food1, **food2):   #万能传参, * ** 相当于一个聚合的作用
    print(food1, food2)
       
        打散
def func(*food, **kwfood):    #这里的 * 是聚合, 位置参数        # ** 同理
    print(food, kwfood)
 
lst = ['bajie','wukong','datang']
dic = {'1':'1','2':'2','3':'3','4':'4'}
 
func(lst)       #这样是传了一个参数, 是元组, 里面套了一个列表
func(*lst, **dic)      #这里的 * 是打散(list,tuple, set, str), 进行迭代打散        # ** 同理, 是打散(dict)
    
 
    
    内容总结:
    参数
        1.实参
            位置参数
            关键字参数
            混合参数(位置+关键字)
        2.形参
            位置参数
            默认值参数
            动态传参
                *args: 位置参数的动态传参
                **kwargs: 关键字参数的动态传参
            顺序: 位置参数, *args, 默认值参数, **kwargs
 
 
 
 
 
 
 
 
 
 

day09 python函数 返回值 参数的更多相关文章

  1. python函数返回值

    2016-08-09  15:01:38 python函数返回值使用return语句,可以返回任意类型的数.如果return语句执行,它之后的所有语句都不再执行. def func(x,y): pri ...

  2. Python 函数返回值、作用域

    函数返回值 多条return语句: def guess(x): if x > 3: return "> 3" else: return "<= 3&qu ...

  3. Python的函数, 返回值, 参数

    1. 函数 函数是对功能的封装 语法: def 函数名(形参): 函数体(代码块,return) 调用: 函数名(实参) 2. 返回值 return:在函数执行的时候, 遇到return 就直接返回, ...

  4. Python 函数返回值

    本章详细介绍 返回值: 0x 00 返回值简介 0x 01 指定返回值与隐含返回值 0x 02 return 语句位置与多条 return 语句 0x 03 返回值类型 0x 04 函数嵌套 0x 0 ...

  5. python 函数返回值笔记

    今天学习python时候学习到闭包和柯里化 感觉看概念时候不好理解,自己写下大概就明白点了 柯里化如下 定义一个加法函数 def add(x, y): return x + y 这是没有柯里化之前的函 ...

  6. python 函数返回值(总结)

    关键字:return 没有返回值的叫过程 def test1(): msg="我是一个过程" print(msg) 有return的叫函数 def test02(): msg=&q ...

  7. Python 函数返回值类型

    [ i for i in dir(set) if not i.startswith('_') ]   

  8. Python return语句 函数返回值

    return语句是从python 函数返回一个值,在讲到定义函数的时候有讲过,每个函数都要有一个返回值.Python中的return语句有什么作用,今天就来仔细的讲解一下. python 函数返回值 ...

  9. python学习——函数返回值及递归

    返回值 return语句是从python 函数返回一个值,在讲到定义函数的时候有讲过,每个函数都要有一个返回值.Python中的return语句有什么作用,今天小编就依目前所了解的讲解一下.pytho ...

随机推荐

  1. 深入学习Redis持久化

    一.Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义. 我们知道,在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常 ...

  2. Nginx四层负载均衡

    目录 Nginx四层负载均衡概述 Nginx如何配置四层负载均衡 使用nginx四层负载均衡实现tcp的转发 Nginx四层负载均衡概述 什么是四层负载均衡 四层负载均衡是基于传输层协议包来封装的(如 ...

  3. go语言从例子开始之Example11.range遍历

    range 迭代各种各样的数据结构.让我们来看看如何在我们已经学过的数据结构上使用 rang 吧. package main import "fmt" func main() { ...

  4. zxing opencv

           

  5. php7类型约束的意义

    在PHP7之前,函数和类方法不需要声明变量类型,任何数据都可以被传递和返回,导致几乎大部分的调用操作都要判断返回的数据类型是否合格. 为了解决这个问题,PHP7引入了类型声明. 目前有两类变量可以声明 ...

  6. 眼前一亮的WI微逸输入法

    手机上找了好多输入法,比如百度,谷歌,手心等,百度太花哨,pass:谷歌不知为何反映慢,也pass:手心颜值低,哈哈!!偶遇WI输入法,试用了不错.故推荐之,下面为界面截图:

  7. python3 实现简单ftp服务功能(服务端 For Linux)

    转载请注明出处! 功能介绍: 可执行的命令: lspwdcd put rm get mkdir 1.用户加密认证 2.允许多用户同时登陆 3.每个用户有自己的家目录,且只可以访问自己的家目录 4.运行 ...

  8. find及其他命令

    Find命令 Find / -type f    :f为普通文件 Find / -name *.txt :查找.txt结尾的 Find / -size  +30M   :找根目录下大于30M的文件 F ...

  9. 【纪中集训】2019.08.10【NOIP提高组】模拟 A 组TJ

    T1 Description Solution 有待填坑-- T2 Description 给定一个\(h(≤10)\)层.\(n(≤10)\)行.\(m(≤10)\)列的由泥土组成的立方体,挖开\( ...

  10. 微信公众号ios10.1 版本白屏问题

    真机调试IOS 10.1.x的版本不支持fetch 所以一直loading显示白屏. 其他设备都没问题. 所以用主要属性window.fetch用来判断是否支持fetch 属性 import { ba ...