0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编程语言其实不重要,重要的是要明白如何和计算机交流

电子工程师 来源:lq 2019-02-27 10:10 次阅读

什么是code

code就是一种语言,一种计算机能读懂的语言。计算机是一个***,他理解不了默认两可的任何东西。比如,你让你老公去买个西瓜,你老公会自己决定去哪里买,买几个,找个搞活动打折的买,总之,你给他钱,他就给你买回来让你吃到爽的西瓜。但是,你想让计算机买一个西瓜?你要告诉他:去门口的鲜丰水果店买,买沙瓤无子西瓜,若旁边的店打折,就去旁边的店买。总之,你不能让计算机做任何决定,你要清楚的告诉他所有情况下的所有的行为。而code,就是你和计算机交流的语言,或者说是对计算机的命令。

我们就把计算机理解为一个人,这个人很死板,只能按照你给他的详细命令进行工作。而这个人工作速度特别特别快,并且保证工作结果都是正确的。

编程语言其实不重要,重要的是要明白如何和计算机交流,明白了这个也就能看懂代码了。

python就是一种和计算机交流的语言,这种语言单词(关键字)不多,规则也少。下面所有的内容都基于python。

判断

当你命令计算机做一件事情的时候,这件事情可能分一些情况进行处理。

判断通常涉及到的关键字有:if , else, elseif, and, or,<, >,=,<=,>=,==

比如,你让计算机买西瓜,希望买到打折的西瓜,不打折的话你就不吃了。

if水果店打折:买西瓜else:不买了

通过这个命令,计算机变得更智能了一些,他可以根据情况执行你的命令。

水果店不打折你就吃不到西瓜,你不开心。那么,我们让计算机更智能一些。假如西瓜打折,就买西瓜;不打折的话让计算机跟老板讲价,老板同意打折,就买西瓜;不同意,不吃了;

if水果店打折:买西瓜else:与老板讲价if讲价成功:买西瓜else:不吃了。

虽然和老板讲价一般都能讲成功,但是有的老板给力给打五折,有的老板只给打九折。你就想了,若老板打五折,我就买两个,今天吃一个,明天吃一个。若老板不给力,打折不到五折,就买一个,今天先吃,明天再说。

if水果店打折:买西瓜else:与老板讲价if打折成功and打折力度<=5:        买两个西瓜    elseif 打折成功 and 打折力度 >5:买一个西瓜else:不吃了。

此外,有没有发现,打着成功这段代码其实也可以写成:

if打折成功:if打折力度<=5:            买两个西瓜        else:            买一个西瓜    else:        不吃了。

由此可见,计算机也不是完全的一成不变,只要你给他的命令他能理解并且不会默认两可,他都可以完成工作。

and的意思代表且,or的意思代表或。and和or的顺序不同,结果也不同,可以通过括号来说明判断条件的优先级。

a==b是比较a和b是否相等的意思,而=代表赋值。赋值的含义,我在下面的变量章节介绍。

循环

python中涉及到循环的关键字包括:for...in... ,while,break,continue

上面的例子我们已经让电脑成功的可以根据不同的情况去水果店买西瓜了,但是若老板不打折,你就吃不到西瓜了。这时,你就想了,咱们小区门口有三家水果店,分别是鲜丰水果、四季水果和路边摊,一家不打折不代表三家都不打折啊,所以你希望电脑可以去三家都去看看,挑一家打折的店买西瓜。

for水果店in(鲜丰水果、四季水果和路边摊):if水果店打折:买西瓜break(循环结束)else:啥都不做带西瓜回家

循环的意义在于,可以用电脑对不同的对象执行相同的命令。

介绍下break,break的意思就是结束循环。比如,这段代码中的break表示,我们一旦买了西瓜,那么就带西瓜回家。

变量

现在是时候介绍'变量'这个重要的东西了。

我们依然把电脑理解为帮我们工作的一个人,那么作为一个人,他需要有记忆力,而我们就可以通过变量去控制、利用计算机的记忆力。

变量可以理解为计算机的一个记忆单元,计算机拥有极好的记忆力,所以,可以随心所欲的使用,用完了就扔,需要了就要。(当然,说随心所欲是不严谨的,但是你可以理解为随心所欲)

那为什么叫变量呢,就是因为可以改变。为什么要改变呢?比如我们都有自己的年龄,我今年18,明年就19了。所以,'年龄'在我的记忆里是每年改变的。

变量对应的一个东西叫常量,在我的记忆力,我的老婆是江江同学。而这个'老婆'这个记忆单元在我的脑子里是不会变的,她永远都是江江同学。常量你现在可以不用理解,我写主要是为了秀恩爱。

现在,计算机又要去买西瓜了。不过这次,你希望计算机可以在三个水果店中,找到一个打折力度最大的水果店去买水果。

之前所有水果店的最大折扣=None之前给最大折扣的水果店=Nonefor水果店in(鲜丰水果、四季水果和路边摊):当前水果店折扣=老板给的折扣if当前水果店折扣< 之前所有水果店的最大折扣:#4折比5折力度大        之前所有水果店的最大折扣 = 当前水果店折扣        之前给最大折扣的水果店 = 水果店去 之前给最大折扣的水果店 买一个西瓜

以上有以下几个记忆单元:

之前所有水果店的最大折扣

之前给最大折扣的水果店

当前水果店折扣

水果店 注意,for a in b,a也是一个变量,他在每次执行的时候都是b中的当前执行的一个元素。

这里需要介绍一些概念:

None 在python中表示空,表示这个记忆单元现在啥都没有。比如在我情窦初开时,脑海中就已经有了情人这个记忆单元,我一直在寻找,但遇到你之前一直没有找到,所以那段时间这个记忆单元里面一直是空。

赋值符号:=。 注意,在计算机语言里面,一个'='号表示赋值,两个等号'=='表示比较前后元素。赋值的意思是,把后面的元素,放到前面的变量里面。

变量的作用域

作用域这个东西非常重要,但是真心不想讲,因为没办法结合现实的例子,不过还是大体说明下。

还是刚才的例子,我加了行号,并且我使用-代表空格,表示代码的缩进。

1之前所有水果店的最大折扣=None2之前给最大折扣的水果店=None3for水果店in(鲜丰水果、四季水果和路边摊):4---当前水果店折扣=老板给的折扣5---if当前水果店折扣< 之前所有水果店的最大折扣:#4折比5折力度大6 ------之前所有水果店的最大折扣 = 当前水果店折扣7 ---之前给最大折扣的水果店 = 水果店8 去 之前给最大折扣的水果店 买一个西瓜

你看这个例子可能纳闷,为什么要先给'之前所有水果店的最大折扣'、'之前给最大折扣的水果店'这两个变量赋值为None呢。就是因为作用域问题。

你看这个程序,每行代码的缩进都是不一样的。变量作用域可以理解为:一个变量,只有在其第一次出现的地方的缩进,以及缩进更多的代码里面,才有效。我们第1、2行的变量,就可以用于3-8行,因为这些代码的缩进都在1、2行的后面。而第四行的变量'当前水果店折扣',只在5、6、7行有效

1A=None2————B=None3————..4————————C=None5————————..6————D=None7————..8————————..9————————..10..11..

再举个例子,ABCD是变量,..代表某些代码。A的作用域就是1-11行,即1-11行都可以使用A。B的作用域是2-9行,C的作用域只有4-5行,注意,8-9行就不能再使用C了,虽然他的缩进和4、5行一样,作用域遇到第一个不能用缩进行代码即结束。D的作用域就是6-9行。

函数和模块

看懂以上几节,大概应该明白计算机如何执行代码的了。

而函数和模块,和之前的介绍不太一样。之前是介绍如何让计算机工作,是面向计算机的。而这一节,是面向人的,是如何让我们写给计算机的代码看起来更加简洁、明了。函数和模块都是对代码结构的优化,否则一个稍微大点的项目,一大坨代码,计算机看得懂人看不懂,不利于管理和交流。

首先说函数。函数是一系列代码的集合,用函数一般是有几个原因:

1.给一段代码起个名字。

2.这段代码和使用它的代码关系不大,所以可以抽出来,抽出来后代码更简洁。关系不大的意思就是:使用函数的代码通过传给函数几个参数,函数就可以执行。

3.代码集合起来就可以在代码的不同地方使用。

依然我们去买西瓜,不过我们希望电脑可以今天买完西瓜明天再买一个。按照之前的方式,这个逻辑应该写成这样:

for水果店in(鲜丰水果、四季水果和路边摊):if水果店打折:买西瓜else:与老板讲价if打折成功and打折力度<=5:            买两个西瓜        elseif 打折成功 and 打折力度 >5:买一个西瓜else:不吃了。休息一天。for水果店in(鲜丰水果、四季水果和路边摊):if水果店打折:买西瓜else:与老板讲价if打折成功and打折力度<=5:            买两个西瓜        elseif 打折成功 and 打折力度 >5:买一个西瓜else:不吃了。

上面的代码可以实现我们的要求,但是买西瓜的代码其实是重复的,对于重复代码,管理起来比较麻烦,比如你想改一点,那么就要去各个地方都改一次。

那么,我们把买西瓜的代码弄成一个函数,代码就可以整理为:

def买西瓜_函数():for水果店in(鲜丰水果、四季水果和路边摊):if水果店打折:买西瓜else:与老板讲价if打折成功and打折力度<=5:                买两个西瓜            elseif 打折成功 and 打折力度 >5:买一个西瓜else:不吃了。买西瓜_函数()休息一天。买西瓜_函数()

这一次,代码整洁多了,而且,我们每次想修改买西瓜的代码,都只需要改这个函数一处代码都可以。

在python中,使用def function_name():定义函数,函数下面所有的缩进都属于这个函数,叫函数体。

使用function_name()调用函数。

函数参数

现在你又不满足与电脑只会买西瓜了,你又想吃柚子。怎么办呢,那么是不是我们又要写一个买柚子的函数呢。

当然可以再写一个买柚子函数,但是买柚子函数的逻辑和买西瓜函数的逻辑都是一样的,命令也一样,唯一的区别就是之前是卖西瓜,现在是买柚子。如果再写一个类似的买柚子函数,那么又出现刚才说的问题,每次修改买水果的逻辑,都需要同时去修改买西瓜、买柚子函数,如果柚子吃腻了,又要买香蕉、苹果、梨,岂不是要写非常多的函数?

为了解决这个问题,其实有一个更好的方法,就是使用函数参数。

由于我们买水果(无论是西瓜、还是柚子)的功能都是一样的,所以我们可以写一个买水果函数,买水果函数定义了买一个水果的流程,当我们使用这个函数的时候,我们只要告诉这个函数我们要买什么水果,函数就可以根据你告诉他的水果名,去买对应的水果。

买水果函数的代码如下:

def买水果函数(水果名):for水果店in(鲜丰水果、四季水果和路边摊):if水果店打折:买[水果名]else:与老板讲价if打折成功and打折力度<=5:                买两个[水果名]            elseif 打折成功 and 打折力度 >5:买一个[水果名]else:不吃了。买水果函数(西瓜)#让电脑去买西瓜买水果函数(柚子)#让电脑去买柚子

在python中想使用函数参数,只需要在函数定义的时候,在括号里面加上参数即可,我们这里的参数就是'水果名'。在函数体中代码可以使用函数参数。

在调用函数的时候,把一个变量或者常量写在函数名后面的括号里面,传给函数。

注意,若是存在多个参数,函数定义和调用函数的参数顺序一定要一致。

在python中,还存在默认参数、关键字参数等稍微高级一点的使用方式,举个例子,不详细说明了。

defsum(a,b=0,c=1):#b/c是默认参数returna+b+cfunc(1,0,1)func(1)func(1,c=1)

这三个func调用的结果都是一样的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7429

    浏览量

    87730
  • 编程语言
    +关注

    关注

    10

    文章

    1939

    浏览量

    34605
  • python
    +关注

    关注

    56

    文章

    4783

    浏览量

    84473

原文标题:给老婆写个Python教程

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    计算机语言概述

    计算机语言概述 在计算机技术发展过程中,出现过各种各样的程序设计语言。从程序设计语言发展过程来看,可分为机器语言、汇
    发表于 12-06 00:17

    [转]Python难懂?买一次西瓜就懂了!

    个人工作速度特别特别快,并且保证工作结果都是正确的。编程语言其实不重要重要的是
    发表于 04-20 13:19

    计算机编程 精选资料分享

    其实我感觉计算机编程有两个坎(我就经历这么多):一个是入门,另一个是应用。 对于新手,那些语句仿佛是一大堆无意义的字母,看上去乱七八糟的。其实计算
    发表于 07-15 06:09

    c语言为什么要用指针

    c语言为什么要用指针?C语言到底重不重要? 大学考C语言计算机二级考C语言,单片机、嵌入式还是
    发表于 07-20 08:04

    什么是计算机系统、计算机硬件和计算机软件?

    第一章 计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算
    发表于 07-22 09:06

    什么是计算机系统?硬件和软件哪个更重要

    第一章计算机系统概论1 .什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解: P3计算
    发表于 07-26 07:18

    微型计算机的用途

    接口技术实验大纲.《汇编语言与接口技术》实验指导河南大学计算机与信息工程学院概 述学习微机接口技术,实践是非常重要的环节。我们学习微型计算机不仅
    发表于 09-10 07:32

    计算机重要的特点是什么

    的是______。A:体积庞大B:计算精度高C:运算快速D:通用性强答案: A3、计算机重要的特点是______。A:有记忆能力B:高速度与高精度C:可靠性与可用性D:存储程序与自动控制答案: D4、把
    发表于 09-10 07:07

    基于逻辑语言计算机软件设计(JAVA语言

    研究基于逻辑语言计算机软件开放设计问题。应用对比法分析在计算机软件开放设计之中,当前应用不同计算机逻辑语言的优势,并可应用最优的
    发表于 11-01 15:19 0次下载
    基于逻辑<b class='flag-5'>语言</b><b class='flag-5'>计算机</b>软件设计(JAVA<b class='flag-5'>语言</b>)

    计算机编程语言有哪些

    第一个阶段是 机器码编程 (你肯定知道计算机只能识别0和1,以前就是这样编程的)。
    发表于 09-26 09:32 1.9w次阅读

    C语言计算机资料介绍怎样编程?和函数的详细概述

    C语言是程序员与计算机交流的工具,程序员借助C语言“指挥”计算机为用户提供服务,因此,只有先了解了计算机
    发表于 10-18 17:49 11次下载
    C<b class='flag-5'>语言</b>和<b class='flag-5'>计算机</b>资料介绍怎样<b class='flag-5'>编程</b>?和函数的详细概述

    计算机硬件的重要部件

    本视频主要详细介绍了计算机硬件的重要部件,分别是控制器、运算器、存储器、输入设备、输出设备以及中央处理器。
    的头像 发表于 11-24 10:34 1.8w次阅读

    计算机编程语言发展的三个重要阶段你都知道吗?

    第一代计算机语言称为机器语言。机器语言就是0/1代码。计算机只能识别0和1。在计算机内部,无论是一部电影还是一首歌曲或是一张图片,最终保存的
    发表于 02-04 11:46 2w次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b>发展的三个<b class='flag-5'>重要</b>阶段你都知道吗?

    导热硅胶片厚度到底重不重要

    导热硅胶片厚度到底重不重要?自从进入导热界面材料这一行,就一直没觉得导热硅胶片厚度问题,会是存在疑问的一个点,但是今天早上听到同事在跟客户通电话,听到对方说导热硅胶片厚度不重要,常规就行,听到这么一
    发表于 03-15 22:10 1646次阅读

    以Python编程语言为例介绍编程语言

    编程语言是研发人员与计算机交流的工具,计算机中的程序和软件均通过编程
    的头像 发表于 02-09 10:11 1233次阅读