zoukankan      html  css  js  c++  java
  • python learn note1

    1.python 的缩进

    习惯了java,c++之类的宽容,初学python,被它摆了道下马威,写if else,竟然必须要我正确用缩进格式,原来在python里不能用括号来表示语句块,也不能用开始/结束标志符来表示,而是靠缩进来表示,好吧,我以后多注意 


    空白在Python中是重要的。事实上行首的空白是重要的。
    它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组

    这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子


    引用:https://www.cnblogs.com/zxf330301/articles/5415750.html

    2.python 的切片

    split()方法是将指定字符串按某指定的分隔符进行拆分,拆分将会形成一个字符串的数组并返回

    如:string str = "aa.bb.cc.dd";
    string[] strArray = str.Split('.');

    所得到的结果strArray的值为 string[]{"aa","bb","cc","dd"}
    其中"aa","bb","cc","dd"即是构成数组strArray的元素

    数组中的每元素都各自对应一个索引值,就好比在数据库的表中每行数据纪录都拥有自己的索引ID一样

    数组元素的索引值是从0开始计数的,也就是说第一个元素的索引值是0,往后依次加1

    我们可以用数组的索引值来取对应位置的数组元素的值,比如说我们要取数组的第一个元素 “aa”,那么我们就可以这样写 :
    string aa = strArray[0];

    这里split('.')[1] 是一种缩写形式,把它拆开来看实际就是
    先用split('.')方法将字符串以"."开割形成一个字符串数组,然后再通过索引[1]取出所得数组中的第二个元素的值

     引用:https://zhidao.baidu.com/question/52046763.html

    3.assert 断言

    顾名思义,断定此处是对的,如果错了,那一定是有问题。

    函数原型:assert expression

    作为一条特殊的编程语句,检查表达式的正确性,可以理解为“这里一定是成立的”,如果表达式不成立(False),则抛出异常。

    引用:https://blog.csdn.net/shijichao2/article/details/61421735

    以下为测试url解析程序

    def test_parsed_url():
        http = 'http'
        https = 'https'
        host = 'g.cn'
        path = '/'
        test_items = [
            ('http://g.cn', (http, host, 80, path)),
            ('http://g.cn/', (http, host, 80, path)),
            ('http://g.cn:90', (http, host, 90, path)),
            ('http://g.cn:90/', (http, host, 90, path)),
            #
            ('https://g.cn', (https, host, 443, path)),
            ('https://g.cn:233/', (https, host, 233, path)),
        ]
        for t in test_items:
            url, expected = t
            u = parsed_url(url)
            e = "parsed_url ERROR ({}) ({}) ({})".format(url, u, expected)
            assert u == expected, e

    t 由 url(测试解析的程序) 和 expected(预期解析的情况)

    e 为解析错误时返回的情况 报错 输出 解析的网址url    解析后的结果u 应该解析的结果 来方便判断出错的地方(确实有恍然大悟的感觉)

    最后一句 如果 解析后的 u 与预期一致则不报错 否则输出e中内容(一目了然) 

    总结:以后写程序 也要加上测试 报错 尝试捕捉错误 对于bug的处理相当有效

     

  • 相关阅读:
    推荐系统实践
    python实现itemCF and userCF
    Mahout分步式程序开发 基于物品的协同过滤ItemCF
    用Maven构建单机Mahout项目
    Apache Mahout:适合所有人的可扩展机器学习框架
    mahout0.7 示例运行纪实
    win7基于mahout推荐之用户相似度计算
    cygwin
    Mahout初体验
    Android慎用layout嵌套, 尽量控制在5层下面java.lang.StackOverflowError
  • 原文地址:https://www.cnblogs.com/junkdog/p/9844567.html
Copyright © 2011-2022 走看看