美文网首页Python学习践行社群
Python入门学习过程(5-1)

Python入门学习过程(5-1)

作者: 一日歌 | 来源:发表于2017-06-15 13:44 被阅读43次

    我原来在想我这部分写什么呢?读完大大的代码解释之后要真的全部自己写对代码的认识,那绝对跟大大差了好几个数量级。可是完全复制粘贴大大的文章又不道德。我想我可以这样,把这部分当做读书笔记。重点句摘抄(也就是复制粘贴了),然后附上自己对这段程序的认识。等我找到更好的方法,这个模块的内容还会改动的。

    一般程序都是通过{}来标识代码块的,而在python中,是通过缩进来识别代码块的。

    缩进几个空格或者tab都是可以的,只要保持一致就可以。

    行开头的空格才算缩进。当需要书写子代码块时,用缩进。

    想想,写文章也是用缩进格式来进行排版,所以其实写python和写文章还是一脉相通的。

    不过python的用格式代表的逻辑更严密。归属于“主模块”的子模块会缩进更多,以表示这个子模块从属于上一级缩进的"主模块“。

    如下代码是从一个有名的python的框架django里摘取出来的。

    Python入门学习过程(5-1)

    别看代码很多,很吓人,仔细看下三个箭头,你会发现这三部分至少从格式上是处在同一缩进位置,应该是从逻辑上是同一层。

    仔细看看这些行python代码,是不是像文章一样啊,如果英文不好,至少眯缝着眼睛,能看出这"文章"有多少层逻辑含义。

    将这三块逻辑含义翻译成中文,意思就更明确了(如果A.......否则....。假如B.......)

    就顺带说下python的判断语句,if elif else.

    假如在初冬出门,会看天气情况来应对,如果下雪。。。。。,如果下雨.........其他情况。。。。。。

    用python写这个逻辑就是 if 下雪:  xxxxx elif 下雨: xxxxxx else:xxxxxx

    python除了缩进用的老多,来代表逻辑以外,还喜欢在if 等末尾 加“:” 代表下面还有“内容”。

    接下来就讲,末尾还加":"的函数定义了。

    Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为:

    def 函数名(参数1, 参数2, ……, 参数N):

        执行语句

        return xxxx

    为什么有函数呢?

    举个例子,平常生活中,偷懒的时候,都希望有个人来帮我们干活。只要给那个人说明任务,然后吩咐一声,他就去干了,干完后,还把劳动成果送给我们。

    在程序中,这个“佣人”就叫函数。参数是啥意思呢?就是对应干活必要的说明。

    然后return 就是干完的结果返回给“主人”。

    上我们每日一练的代码。

    Python入门学习过程(5-1)

    这里的def output(k,v): 就是我们定义了一个“仆人”叫 output。然后给他吩咐了k,v2个参数。

    细心的同学看到,明明是def output(k,v="lists"):嘛,为啥?

    因为“主人”懒,懒得每次都给仆人说2个参数了,就给“仆人”说,“如果v那个没有给你说是啥意思,你就当主人说的是 “lists”“。

    真的很懒啊,这种吩咐(传参数)的办法就叫默认参数,默认,顾名思义,约定好的参数,不用说也知道。

    def 函数完毕后,“仆人”函数就自己执行去了。有人又说,为什么没有return呢,仆人不一定要返回结果,这里只打印出来不用处理并产出结果,就不返回了。

    你看,定义好函数后,只要轻轻一调用,哈哈,“仆人”就可以自己去忙乎了。

    在这个例子里,output如果有返回,那就这么调用。

    xxx =output(k,v)

    xxx就是得到的“劳动成果“了。

    而且函数实现可以写很多,可以参看上面那个摘抄的django的源码中的,append(self.....的实现。

    明天我们会讲到break,pass,for。

    我的感悟

    如果print k 只会输出左边的一列

    Python入门学习过程(5-1)

    同理,print v 只会输出右边的一列

    Python入门学习过程(5-1)

    程序短的话,print和函数可以执行一样的内容

    Python入门学习过程(5-1)

    由此想到,把函数删了是不是也可以

    Python入门学习过程(5-1)

    相关文章

      网友评论

      • 晋力吧:班长 请问你平时学习python大大的资料后自己还看哪些教材 :fist:
        一日歌: @越老越翻精 其实也没有特别去学,有不明白的就上网搜一下,网上有很多人都在写类似的东西,看看别人的解答也能明白不少。我看的都是大大给的书。没明白的话多看几遍呗,或者在群里问

      本文标题:Python入门学习过程(5-1)

      本文链接:https://www.haomeiwen.com/subject/ofoyqxtx.html