我们先来看看def和字典的用法吧:

def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks)name = input('what is your name ')number = input('how much is ranked ')ranks(name, number)

代码及结果如上图所示,写的比较简单,应该没有什么地方要解释的。

咱们在上面的例子上再加上一行代码,就可以玩一年了:

while True:def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks) name = input('what is your name ') number = input('how much is ranked ') ranks(name, number)

这样就进入了while 循环中,我们填入姓名和排名,就能打印出相应的字典了。如果要退出循环,就要用到break语句了,

while True:def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks) name = input('what is your name ')if name == 'q':print('exit')break number = input('how much is ranked ') ranks(name, number)

这么我们使用了if+break的用法,代码及结果如上图所示,都算是些常用的用法,知道用法后,要灵活运用。

咱们再来看看def和列表的一些例子,看看它们是怎么一块使用的:

def user(names):for name in names:print(name)user_names = ['av','bv','cv']user(user_names)

这是一个简单的def和列表的运用,如果要得到结果,其实直接给出一个列表,用for循环会更简单,但调用函数def在下次要打印user()会更方便,也有利于代码的维护。

讲到这,大家会不会有个疑问:我也不知道我的的调用函数里的形参写多少好,不能一一对应,到时代码会报错啊。

我反正是有这个疑问的,毕竟我后面想用到它,但是形参我只写了一个,而我实参却有两个,咱们来看看这个错误代码:

咱们主要看它报的错,这个也是学习的一个能力,毕竟人人都会犯错,要学会快速的解决问题。

TypeError: names() takes 1 positional argument but 2 were given

大致就是说只有一个形参,却给了2个实参。

好了,不卖乖了,这时我们可以用到‘*’来解决,还是上面的例子:

def names(*name):print(name)names('av','bv')

咱们只是在形参前面加了一个星号,就可以解决这个问题了,不管调用语句提供了多少实参,这个形参都将它们统统收入囊中,要记住哦。

讲到这,我们在多学一点,虽然 *形参可以囊括所有的实参,但在python中,先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。 咱们还是看例子:

def name_number(name,*numbers):print(name)for number in numbers:print(number)name_number('av',1,2,3,4)

这里我们特意用了字符串加数字以供区分,总那言之,就是在默认情况下,按顺序对应,其它多的实参全都储在了 *形参中。

好了,今天就到这了,大家多多练习吧。

matlab调用python函数未定义函数类_从零学习Python—调用函数def用法(下)相关推荐

  1. 使用了未定义的类_解决方法

    在游戏类的编写中,遇到了一个导入工程后运行出现"使用了未定义的类"的错误. 绞尽脑汁也没搞懂是哪里出现了问题,看了其他人的blog后才发现了问题所在:类定义的顺序 第一次错误代码如 ...

  2. python培训的课时是多久_如何快速学习python,学习python的最短时间是多久?

    在我们即将迈入python培训课堂之前,你肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这个问题,希望对你有所帮助! 这篇文章将为你的自学之 ...

  3. 笨办法学习python应该看第几版_笨办法学习python

    天陆续收到很多读者.球友的留言.私信,说要怎么学Python?有没有基础的,偏小白的学习方法?我的回答是:等我统一答复. 小胖从不食言,今天就来说说我觉得一个零基础.想转行.一直不得法的人应该如何入门 ...

  4. python付费课程推荐知乎_新手小白学习Python,有什么课程推荐吗?

    第一阶段(1-8天) 该阶段我们正式进入Python这门语言的学习,首先通过了解Python语言的起源,Python语言的设计目标,Python语言的设计哲学,Python语言的优缺点和面向对象的基本 ...

  5. python web开发项目 源码_真零基础Python开发web

    Python开发web服务的优势是开发效率高,可能只需要java五分之一的代码量. Python搭建web服务有许多框架,本文介绍Django和bottle两个框架. Django 安装 首先,安装该 ...

  6. educoder实训平台python入门之运算符的使用_从零学Python之入门(四)运算

    Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 >>>print 1+9        # 加法 & ...

  7. MATLAB报错:未定义函数或变量解决方案

    MATLAB报错:未定义函数或变量 MATLAB报错:未定义函数或变量 常见错误原因 我的解决方案 MATLAB报错:未定义函数或变量 最近准备数学建模比赛,学习MATLAB入门遇到了个问题:未定义函 ...

  8. MATLAB报错:未定义函数或变量解决办法

    MATLAB报错:未定义函数或变量解决办法 edit(fullfile(matlabroot,'examples','nnet','main','此处放未定义函数')) 比如: edit(fullfi ...

  9. 代码操作 ACCESS时为什么老出现XXX函数未定义错误?

    为什么老出现XXX函数未定义错误? 问题: 1.为什么以前运行正常的Access数据库,搬到另一台电脑上老出现XXXX函数未定义错误? 2.为什么我在Access中调试通过的sql语句,在VB/ASP ...

最新文章

  1. java post接口测试_接口测试——Java + TestNG 国家气象局接口(json解析)实例
  2. win8安装11gR2[INS-13001] 环境不满足最低要求
  3. 线程中的同步辅助类Exchanger
  4. 【网络安全】Agent内存马的自动分析与查杀
  5. 多组测试数据(求和)IV
  6. JZOJ 1322. 硬币游戏
  7. C++圆形线性链表Cicular Linear Linked List算法(附完整源码)
  8. [VC]strcpy memcpy memset区别与简介
  9. 突发,这个国家进入紧急状态!数十年来最严重经济危机、每天停电13小时!外交部发出提醒...
  10. python链接器编译器实现_一个链接器的实现「一」
  11. JMS系列(三)-java操作JMS Topic实例
  12. 计算机一级在线模拟试题,全国计算机等级考试一级模拟试题及答案解析
  13. 【线上活动】材料计算训练营(量子力学、物理、化学、新能源、碳中和、生物制药、化工、新材料、催化、锂电池、半导体)
  14. 下面我安利一款编辑数学公式软件AxMath,可以搭配Word、LaTeX、typora使用
  15. ubuntu安装anjuta
  16. 计算机网络实习个人总结,(实习报告)计算机网络实训个人小结
  17. BE-Gradient 微流控芯片用于胶质母细胞瘤的研究
  18. 增长战略五大维度:单点突破、由内而外、锚点绑定、群体延伸、圈层建设
  19. pmu2008终端服务器,基于PMU的电网实时监测系统主站设计
  20. Linux上搭建ElasticSearch-8.x集群以及安装Kibana(保姆级安装教程)

热门文章

  1. IDEA 2020.2 稳定版发布,带来了不少新功能...
  2. 机器学习算法源码全解析(二)-范数规则化之L0、L1与L2范数
  3. python取三位小数_python保留小数位的三种实现方法
  4. Python入门100题 | 第029题
  5. Java面向对象part1
  6. 云计算大会有感—MapReduce和UDF
  7. 全链路监控方案概述与比较
  8. graylog2 架构--转载
  9. 深入了解ibatis源码----简单ibatis示例代码
  10. 基于R的信用评分卡模型解析