类比:函数是一个准备好执行任务并给出答案的可克隆助手。任务由函数的参数定义(括号内的内容)。让我们重写这些名称以赋予它们语义意义(即说明我们期望的名称)。在def isXGreaterThanY(.....

在这里,任务的名称是“X是否大于Y?”。如果你走到你的可克隆助理那里问“X大于Y吗?”,除非你告诉他们X和Y是什么,否则你的助手将无法完成你想要的。在

^{pr2}$

现在我可以开始解释你可能错在哪里了。在这一级别的编程中,一个错误是,仅仅因为你在网页上看到了一些几乎是你想要的东西,你可能会被诱惑去复制它的语法,并试图篡改语法,希望它能正常工作。这是行不通的。这不是编程的重点。在

一些日常生活中的人认为编程是关于解决你的问题的神奇的词汇(我不是在暗示你这么想)。事实并非如此。相反,编程是(经典的)能够制造自动装置(这些小助手)来为你操作信息。计算机擅长死记硬背、机械地处理信息。我们希望我们的任务是可复制的,所以我们给它们起一个名字,比如“X大于Y吗?”什么是函数(在eem.a中称之为“程序”)。在

让我们想想你写的:def isXGreaterThanY(x, y):

if x > y:

return True

else:

return False

程序就是关于控制流的。过程的每个部分都是一个语句或表达式(在这个级别上,可以将其视为同一件事)。一个过程通常有一个答案:每当控制流遇到“return answer”语句时,整个过程都会停止(任务完成),您的魔法助手会返回给您,并在一张纸上写上ANSWER。返回答案的过程被称为“函数”,这几乎总是我们想要的(在幕后产生丑陋的“副作用”的过程通常不是我们想要的)。在

下面,我将说明从语法(我们写下的内容)到机械动作的想法。一个过程是由句法表达式组成的,每个表达式可以有子表达式等我们有if __ then __ else __语句,它由三个子表达式组成:

x > y的查询子句,它包括:

作用于的_ > _运算符:

变量x

变量y

return True的“then”子句,包括:

return语句,返回:

文本布尔值True

return False的“else”子句,包括:

return语句,返回:

文本布尔值False

这个“语法树”就是计算机看到的。现在,编程语言将含义与这些表达式关联起来:它知道如何在所谓的“控制流”中导航这棵树。特别是在编程语言Python中,我们知道当我们看到if-then-else语句时,我们首先检查测试条件。在本例中,我们查看测试条件,并注意到这是一个裸比较(我们询问CPU,它会返回True或False)。如果比较结果为真,我们将执行“then”子句,该子句将返回;即,递给您一张带有答案True的纸条。如果比较结果是错误的,我们会做“else”子句,并给你一张纸条,上面写着答案False。在

这样,每当你问你的助手“X大于Y吗?”?其中X=。。。而Y=…”,你的助手会(实际上)看着你在过程中指定的指令,并在助手的眼睛始终盯着一个指令的情况下进行解释一次表达式(“控制流”可以看作是突出显示或带下划线的“活动”子表达式,即控制流是助手在查看代码时眼睛所走的路径)。在这种特殊情况下,您的过程从if-then-else子句开始,它将其解释为控制流中的一个分支点(一个岔路口);它采取适当的分支,在这种情况下,将发现两个“return”语句中的一个,然后尽职地给您一张纸条。在

控制流由特殊控制流语句(如if-then-else)背后的语义(含义)决定。其他控制流结构的解释不同。for x in range(7): ...将假装x是1并执行...,假设x是2并执行...,依此类推

一个while True: ...将永远循环,反复执行...。在

一个break(break-out)的意思是“停止while循环”或“过早地停止for循环”。在

continue表示“跳过while/for循环中...的其余部分,但继续循环”。在

您可以使用上述函数和您自己的自定义函数来实现您自己的控制流,这就是所谓的递归(此答案范围之外的另一个主题)。在

简而言之,这就是控制流和命令式编程。在

顺便说一句,这样做比较好:def isXGreaterThanY(x, y):

# this is a comment

# you can insert a print x>y here, or print(x>y) depending on your version of python

return (x > y)

表达式x > y在输入if-then-else语句之前计算结果为True/False。所以,你可以返回表达式作为答案。但是,到那时,你的函数非常简单,你不会写出函数的答案:#print isXGreaterThanY(1,3)

print (1 > 3)

python中return true的用法_Return True/False何时使用它而不是Return相关推荐

  1. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  2. python中break怎么用_详解Python中break语句的用法

    详解Python中break语句的用法 在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中 ...

  3. python中循环语句的用法,python几种循环方式

    python中while循环的用法是什么? python while循环语句:while 判断条件(condition):执行语句(statements)--执行语句可以是单个语句或语句块. 判断条件 ...

  4. python中index函数_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  5. python中的lambda函数用法--无需定义函数名的函数或子程序,避免代码充斥着大量单行函数

    匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序. lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值. 要点: lambda 函数不能包含命令 包含 ...

  6. python中index方法详解_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  7. python中int函数的用法浅析_Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__ ...

  8. python中int用法,Python中int()函数的用法浅析

    int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__ ...

  9. python中pop函数的用法_python中pop()函数怎么用

    python中pop()函数的用法:pop()函数用于移除列表中的一个元素(默认最后一个元素),并且返回从列表中移除的元素对象.函数语法:[list.pop(ojb=list[-1])]. pop() ...

最新文章

  1. Mysql技术内幕——InnoDB存储引擎
  2. Atitit.android  jsbridge v1新特性
  3. Oracle查询会话连接数
  4. Leetcode 12. 整数转罗马数字 (每日一题 20210827)
  5. Access数据库访问助手类
  6. Redis操作ZSet相关API
  7. PHP 显示信息到控制台console
  8. 全面解读php-流程控制
  9. 利用EGM96和EGM2008模型,分别计算计算高程异常、重力异常和垂线偏差。
  10. 《C专家编程》之 内存泄漏
  11. java字符串数组排序
  12. 不允许同时配置%Error 140357: Simultaneous configs not aUowed.问题解决
  13. C++学习笔记--多继承
  14. laravel+redis通过api简单实现微博登陆注册关注取消关注发布信息等
  15. 情人节程序员用HTML网页表白【3D旋转木马相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  16. mysql 批量造假数据
  17. unity算法面试_Unity笔试面试题目分享
  18. JESD204B接口调试记录2 - 资料
  19. Docker学习四--Harbor私有仓库搭建
  20. IBM MQ Linux安装与卸载

热门文章

  1. 基于JavaWeb的表格实例
  2. 获取硬件UUID方法(windows、linux)
  3. linux 32位系统运行eclipse报错:eclipse: symbol lookup error,.so: undefined symbol: XXXg_bus_own_name
  4. 给网站戴上「安全套」
  5. 长安逸动系统升级服务器连接失败,15逸动系统救砖、升级教程
  6. 元素和小于等于阈值的正方形的最大边长(来源:力扣(LeetCode))
  7. 关于自定义标签当中的unable to find setter method for attribute:xxx错误 小记
  8. 台式键盘计算机,一种台式计算机键盘的制作方法
  9. python 文本处理 保留中英文和标点符号_python-文本处理和正则表达式
  10. 那些async、await 魔鬼细节