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

图片.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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容