IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 自动化快速上手--Python(8)--函数(下) -> 正文阅读

[系统运维]自动化快速上手--Python(8)--函数(下)

??????? 这里是清安,函数上偏不知道各位是否有学会呢,本章是函数下章,也是属于比较重要的一篇,所以,各位,仔细学洛。V:qing_an_an

向函数传递列表

def get_list(names):
    for name in names:
        # 定义这个变量是为了打印名字的时候首字母可以大写
        l_name = f"你好,{name}"
        print(l_name.title())
# 这里定义一个列表
user_name = ['tom','tim','bob']
# 调用函数,使用列表的值
get_list(user_name)

????????话不多说,我们首先上了一个例子,这个例子中l_name这里,小伙伴有疑问就自己动手试试,不要这个变量看看能不能首字母大写哦,也可以试试其他的方法首字母大写哦。

在函数中修改列表

def full_animals(animals,make_animals):
    # 循环动物列表
    while animals:
        # 使用列表方法方法,一个个移除
        new = animals.pop()
        print(f"被运走的动物有:{new}")
        # 将移除的重新添加到新的动物列表中
        make_animals.append(new)
    # 循环遍历添加进去的动物
# def make_full_animals(make_animals):
    for every_animals in make_animals:
        print(f"被添加进来的动物有:{every_animals}")

animals = ['cat','dog','bird','snake']
make_animals = []
full_animals(animals,make_animals)
# make_full_animals(make_animals)

????????这个示例就涉及到我们之前学习的列表的,这个例题还是很不错的哦 ,小伙伴们看看能理解吗。

????????这里我们也可以添加一个函数,添加在for循环前面哦,不过小北这里觉得可能有点多余,所以我就注释掉了。这里小伙伴们可能看着有点犯迷糊,看我将它分解为不是函数体制的,小伙伴一对比就明白了。

animals = ['cat', 'dog', 'bird', 'snake']
make_animals = []
# 循环这个动物列表
while animals:
    # 使用列表方法方法,一个个移除
    new = animals.pop()
    print(f"被运走的动物有:{new}")
    # 将移除的重新添加到新的动物列表中
    make_animals.append(new)
for every_animals in make_animals:
    print(f"被添加进来的动物有:{every_animals}")

传递任意数量的实参

??? 首先我们需要明白的一点是什么样的格式才能进行任意数量的实参传递呢,看例子吧:

def new_name(*name):
    print(name)
new_name('张三','李四','王五')

??? 我们定义了一个带有*号的形参,这个形参的意思就是会让python创建一个名为name的空元组,如何通过调用函数将实参写入空元组中。

小伙伴也可以换一种输出方式:用for循环一个个输出出来

def new_name(*name):
    for names in name:
        print(names)
new_name('张三','李四','王五')

????????这个就不解释了,小伙伴应该秒懂,不懂得看我for循环介绍哦。实参我们是可以组合起来用的哦。

位置实参与任意数量实参

def new_name(year,*name):
    for names in name:
        print(f"我的名字叫{names},今年{year}岁了")
new_name(12,'张三','李四','王五')

????????这里值得注意的地方就只是传参的位置了,不管是默认形参还是任意数量形参,都只能放在形参的最后面哦

任意数量的关键字实参

????????这个就比较有趣,且重要了,它的方式是**,意思组建一个空字典哦,并且写法也有一些不一样。

def new_name(first_name,last_name,**names):
    # 这里的[]里面的内容可以随意写什么样的字符串哦
    names['first_name'] = first_name    #1
    names['last_name'] = last_name    #2
    # 将值返回到列表,这里的意思就是此路不同,就此打住
    return names
# 这里有两种传值方式
new_names = new_name('zhang','san',lisi = 'lisi',wangwu = 'wangwu')
print(new_names)

????????解惑:**names是创建一个空字典,实则我们这里定义的函数new_name只有两个形参,往下看#1跟#2这里是字典传值的方式。后面的实参传入就似乎传到names字典中,然后传到对应的值里,我们呢给定实参的时候有两种方式,一种是直接给定形参的值,这是位置实参传值,后面的才是关键字实参传值,我们在pint里重新定义了键,并且给定了值,python在后台将值传入字典中,并按照格式一一对应的写入,最后得到我们的结果哦。

????????注:**names也可以理解为python在收集任意数量的关键字实参

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 20:02:38  更:2021-11-09 20:03:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:20:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码