美文网首页开源优测
编程入门的姿势-5月8日微信群语音分享

编程入门的姿势-5月8日微信群语音分享

作者: 苦叶子 | 来源:发表于2017-05-10 09:38 被阅读456次
    图片.png

    开头语

    5月8日在微信群,语音分享了如何如何学习编程语言、并以python为例进行了分享相关经验,下面整理成文章共享给大家。

    神马?还有微信群? 加入微信群正确姿势

    1. 加微信liyimin1912
    2. 拉你入微信群
    3. 每天大家交流软件测试相关话题

    禁止任何形式的灌水、广告、绝杀伸手党。

    如何入门编程

    1. 掌握变量,基本数据类型定义
    2. 掌握判断语句、循环语句
    3. 掌握函数的定义、调用方法
    4. 掌握类的定义、调用方法
    5. 掌握常用的标准库
    6. 掌握一些常用的第三方开源库
    7. 掌握一些基本的数据结构和算法
    8. 了解一些设计模式或封装思想

    python入门姿势

    下面我们根据上节提到的入门方式来分享如何入门python。

    浓缩就是精华,实践才是真道理。

    学习时,不要东学一下,西搞一把,专注点。

    • 掌握变量,基本数据类型定义
      不要管什么全局变量、局部变量。
      用什么直接拿来就用,例如:
    # 数值类型
    a = 1
    
    # 字符串类
    aa = "it's string"
    
    # 一维数组,在python里专用名词tuple, 元组
    array = (1, 2, 3, 4)
    
    # 列表, 即list
    list_demo = [1, 2, "haha", "4", 5.5]
    
    ## 字典,即dict
    dict_demo = {
        "key_1": "value_1",
        "key_2": "value_2"
        }
    

    先掌握上面的就够了,注意元组、列表、字典在定义时的符号区别,分布对应(), [], {}。

    另外需要掌握的就是元组、列表、字典的操作方法:尤其是切片动作。

    具体的请参见《python简明教程》, 看上个十遍八遍的,把示例练上个三五遍就够了。

    其他的书暂时也不需要看太多。

    • 掌握判断语句、循环语句
    a = 1
    
    # 判断姿势1
    if a == 1:
        print "ok"
    else:
        print "ni cai"
        
    # 判断姿势2
    if a == 1:
        print "ok1"
    elif a == 0:
        print "ok0"
    else:
        print "ni cai"
        
    # 循环,先掌握一种姿势吧
    array = (1, 2, 3, 4, 5)
    for a in array:
        print a
        
    # 格式就是for ... in ...    
    
    • 掌握函数的定义、调用方法
    # 姿势一
    def function_name(param1, param2):
        return true
        
    # 变参方式,姿势二
    def function_name(param1, *param2):
        return true
        
    # 变参方式,姿势三
    def function_name(param1, *param2, **argskw):
        return true
        
    # 一次返回多个值
    def function_name(param1, param2):
    
        # 返回list、dict类似
        return (1, 2, 3, 4)
    

    看不懂?那就别看了, 好好的去点点点~~

    • 掌握类的定义、调用方法
    class DemoClass:
        def __init__(self):
            print u"我是干初始化活的"
            
            # 我们两个是类变量成员
            self.a = 1
            self.b = 2
        
        # 我是类方法,干点加法动作
        def sum(self, a=1, b=2):
            self.a = a
            self.b = b
            return self.a + self.b
        
        # 我是类方法,干点减法动作
        def sum(self, a=1, b=2):
            self.a = a
            self.b = b
            return self.a - self.b
    

    先别去整什么继承啊,元类之类的,把上面的记住了,能用。就可以考虑去整个更复杂的功能实现实现了。

    • 掌握常用的标准库
      至少以下几类标准库
    1. 字符串操作类
      具体这里就不一一列举,大家需要掌握:

    替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等

    在《python简明教程》中按示例练吧

    1. IO读写

    读取键盘输入:

    Python提供了两个内置的函数来读取一行,从标准输入,默认情况下是来自键盘的文本。
    这些函数包括:

    1. raw_input
    2. input

    文件读写:

    # 读当前目录的foo.txt文件
    fo = open("foo.txt", "r+")
    # 读取10个
    str = fo.read(10);
    print "Read String is : ", str
    # 关闭文件
    fo.close()
    
    
    # 写当前目录foow.txt
    fo = open("foow.txt", "wb")
    # 写入字符串
    fo.write( "Python is a great language.
    Yeah its great!!");
    
    # 关闭文件
    fo.close()
    

    其他的方法就不列举了,请参考《python简明教程》

    1. 网络通信,掌握http相关库
      在python中提供了标准的http实现: urllib、urllib2、httplib。大家需要对其基本的API熟悉。下面以httplib为示例,来个简单的示例:
    # -*- coding: utf-8 -*-    
    import httplib  
    import urllib  
      
       
    def sendhttp():  
        # url参数编码
        data = urllib.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'})     
        
        # 定义请求头
        headers = {"Content-type": "application/x-www-form-urlencoded",  
                   "Accept": "text/plain"}  
        
        # 初始化http链接           
        conn = httplib.HTTPConnection('bugs.python.org')  
        
        # 发送POST请求
        conn.request('POST', '/', data, headers)  
        
        # 获取请求响应,返回的是一个对象
        httpres = conn.getresponse()  
        
        # 输出返回状态码
        print httpres.status  
        
        # 输出状态码对应的说明
        print httpres.reason  
        
        # 输出返回内容
        print httpres.read()  
                 
                    
    if __name__ == '__main__':    
        sendhttp()   
    

    其他方法就不列举,请参考该模块的官方API文档

    • 掌握一些常用的第三方开源库
      这里就不举具体的示例,列几个以后自动化测试需要掌握的库
    1. excel解析库: xlrd、xlwt、xlutils
    2. 第三方http库:requests (其API更友好,你可以用于HTTP接口级测试)
    3. UI级自动化测试: selenium/webdriver
    4. 移动端自动化测试: Appium

    先初步了解这几个,建议的学习姿势是:

    1. 先了解其常用的API
    2. 多看并练习几个API使用示例
    3. 结合具体业务,只写最核心的业务测试实现,别什么都做,只做最核心的。
    • 掌握一些基本的数据结构和算法

    这块先不说掌握所有的算法,至少在不使用标准库的情况下实现冒泡算法吧

    # 冒泡算法
    array = [1,2,3,6,5,4]
    for i in range(len(array)):
        for j in range(i):
            if array[j] > array[j + 1]:
                array[j], array[j + 1] = array[j + 1], array[j]
    print array
    
    

    对于其他算法,请找示例并自己去实现。

    • 了解一些设计模式或封装思想

    简单一句话:一个模块或是一个类或是一个函数,只干一类/件事。

    总结

    对于新手来说,千说万说只有一件事:先写够10000行有效代码,每天200行,动起来吧,坚持6个月你就高高手了。

    本文已在版权印备案,如需转载请访问版权印16360996

    相关文章

      网友评论

        本文标题:编程入门的姿势-5月8日微信群语音分享

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