编程入门的姿势-5月8日微信群语音分享
时间:2022-05-07
本文章向大家介绍编程入门的姿势-5月8日微信群语音分享,主要内容包括如何入门编程、python入门姿势、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
开头语
5月8日在微信群,语音分享了如何如何学习编程语言、并以python为例进行了分享相关经验,下面整理成文章共享给大家。
神马?还有微信群? 加入微信群正确姿势
- 加微信liyimin1912
- 拉你入微信群
- 每天大家交流软件测试相关话题
禁止任何形式的灌水、广告、绝杀伸手党。
收费么?单纯的测试交流群,禁止收费。
如何入门编程
- 掌握变量,基本数据类型定义
- 掌握判断语句、循环语句
- 掌握函数的定义、调用方法
- 掌握类的定义、调用方法
- 掌握常用的标准库
- 掌握一些常用的第三方开源库
- 掌握一些基本的数据结构和算法
- 了解一些设计模式或封装思想
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
先别去整什么继承啊,元类之类的,把上面的记住了,能用。就可以考虑去整个更复杂的功能实现实现了。
- 掌握常用的标准库 至少以下几类标准库
- 字符串操作类 具体这里就不一一列举,大家需要掌握:
替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等
在《python简明教程》中按示例练吧
- IO读写
读取键盘输入:
Python提供了两个内置的函数来读取一行,从标准输入,默认情况下是来自键盘的文本。 这些函数包括:
- raw_input
- 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简明教程》
- 网络通信,掌握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文档
- 掌握一些常用的第三方开源库 这里就不举具体的示例,列几个以后自动化测试需要掌握的库
- excel解析库: xlrd、xlwt、xlutils
- 第三方http库:requests (其API更友好,你可以用于HTTP接口级测试)
- UI级自动化测试: selenium/webdriver
- 移动端自动化测试: Appium
先初步了解这几个,建议的学习姿势是:
- 先了解其常用的API
- 多看并练习几个API使用示例
- 结合具体业务,只写最核心的业务测试实现,别什么都做,只做最核心的。
- 掌握一些基本的数据结构和算法
这块先不说掌握所有的算法,至少在不使用标准库的情况下实现冒泡算法吧
# 冒泡算法
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个月你就高高手了。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一文快速入门分库分表(必修课)
- 写出漂亮 Python 代码的 20条准则
- 简单red5+obs推流实现直播系统开发,具体设置介绍
- 使用pandas进行数据快捷加载
- 关于 JavaScript 中 null 的一切
- 总结 | DataFrame、Series、array、tensor的创建及相互转化
- 这就是你日日夜夜想要的docker!!!---------Harbor私有仓库
- Go by Example 中文版: 写文件
- PWN:House Of Force
- Windwos10下使用VS2017搭建cocos2d-x 4.0开发环境
- JavaScript 中的函数式编程:函数,组合和柯里化
- 如何设置一个生产级别的高可用etcd集群
- NVIDIA Jetson nano可以处理4K相机吗?来验证编码性能吧(中)
- House Of Lore原理学习
- 使用 rush 进行命令并行处理