learn python the hard way 读书笔记(1)
2015-05-02 21:39
477 查看
这是我的第一本python学习课本的笔记, 其实head frist python 是第二本, 我的职业是一个创业的销售,学习python目的是为了dj的微信开发和网页后端的开发。还想做一个自动发帖机以及蜘蛛搜索数据记录。
静下来读书, 每年两小时的编程, 时间是节约出来的。
Learn python the hard way 目前读到了自动化测试。
笔记主题内容: 自动化测试。(书的第46-49课)
知识点: 1, 什么是python软件包?
一个第三方python共享包。
2,项目骨架是什么?
3,pip是什么?
4,mac 下如何建立项目骨架环境?
5,什么是自动化测试?
拓展知识点:
1: 如何查看python模块保存在本地电脑哪里?
ide中 , import sys ; sys.path
2,分号是干嘛用的?
多个命令在一行, 用分行隔开。
3,分享(发布)工具有哪些?
第三方: setuptools
官方:distutils
4, 函数中的*与** 干嘛的?
5,字典怎么用,怎么打印出字典不同健和值
6, 如何添加字典的值
{1:'wow;} , 有一点特别注意, move 必须被定义过。
7, 如何增加列表的值
回想第一课笔记。 列表的增加,减少,删除都必须使用bif中的方法,而不是调用。move[1] = 'wow' ,这种是错误的。
笔记内容:
一、可爱的pypi.
还记得上一篇日记中,提到的printlist函数, 把这个嵌套的列表打印出来, 如果你一个人知道,可就不是python的特点了, python最大的功能就是分享,把你的代码分享出去。
python 专门为这个, 制作了分享工具, 如果我们叫的比较正式,叫发布工具。
而存放全世界所有共享python代码,就叫做pypi python软件包索引。
二,共享你的软件包
软件包的核心, 是你编写的程序代码, 但是如果你给了别人,就必须加上一些注释,这样人家才看的懂。
把他保存成一个printlist.py 保存下来。
建立一个文件夹,printlist.
1, 将printlist放在文件夹里。
2,使用发布工具, 制作setup.py文件
一种setup代码, 简称setup-1
另一种setup代码,简称setup-2
这个地方查看一下, 两本书不同, 一本书是这么写的。, config = { 健:值} setup(**config) , 两种方式,到底哪个对呢? **config是撒意思。
首先当然是查看 import distutils ; distutils.setup
setup(**attrs)
一串英文, 看懂, 还好找到官方文档,https://docs.python.org/2/distutils/apiref.html
大致是看懂了, setup(**attrs)
说的是撒意思呢, 参数可以多选,没有限制,就是文档里面出现的参数,随便你填, 还有一个重要的一点, 就是顺序随便弄。
这样话, 函数setup中的参数, 调用函数的时候, setup(a,c,d,e,b) 就可以了,不需要安装一定参数的, 我们在例子中不就是setup-1了吗。
那你可能会问, 这种def 函数, 怎么表达, python考虑到了, 用一个星表示参数多少都可以接受, 两个星表示顺序可以乱, 用代码看看呗!
显示 12
('home','who?')
这里面我们用setup-2的思路:
看到了吗, 参数的不同方式, 接着下面写一个**
TypeError: yourhome() takes exactly 1 argument (2 given)
出错了? 怎么回事?
12
{'age': 12, 'author': 'lixiang'}
2
函数中的参数, 你怎么用字典呢??? 那可是参数哦, 如果你想只用一个参数表示,
这个地方, 突然想到字典,len(字典),是2, 还有字典有没有顺序呢?
因为测试是个数, 通过学习字典,你会发现, 根本不需要顺序啊。 弄懂来setup两种表达方式了吧。
这里还有一个想法,这样可以吗?
def yourhome (a,*b):
print a
print b
print len(b)
yourhome (12, author='lixiang', age=12)
推断,是错误的,
因为元组没有办法保存这个, 其实看到了上面都格式,就应该想到**
我们继续哦。
静下来读书, 每年两小时的编程, 时间是节约出来的。
Learn python the hard way 目前读到了自动化测试。
笔记主题内容: 自动化测试。(书的第46-49课)
知识点: 1, 什么是python软件包?
一个第三方python共享包。
2,项目骨架是什么?
3,pip是什么?
4,mac 下如何建立项目骨架环境?
5,什么是自动化测试?
拓展知识点:
1: 如何查看python模块保存在本地电脑哪里?
ide中 , import sys ; sys.path
2,分号是干嘛用的?
多个命令在一行, 用分行隔开。
3,分享(发布)工具有哪些?
第三方: setuptools
官方:distutils
4, 函数中的*与** 干嘛的?
5,字典怎么用,怎么打印出字典不同健和值
movies = { "author": "lixiang", "addres":'shanghai' } for x in movies: print x print movies[x]
6, 如何添加字典的值
move = {} move[1] = 'wow' print(move)
{1:'wow;} , 有一点特别注意, move 必须被定义过。
7, 如何增加列表的值
回想第一课笔记。 列表的增加,减少,删除都必须使用bif中的方法,而不是调用。move[1] = 'wow' ,这种是错误的。
move = [] move.append('jack') move.pop() #删除最后的元素 move.extend(), 拓展一个集合 move.remove('jack') move.insert(1,'jack') 在某个位置,插入元素
补充,insert的位置, 如果之前的位置是空值,只会按照实际顺序来添
笔记内容:
一、可爱的pypi.
还记得上一篇日记中,提到的printlist函数, 把这个嵌套的列表打印出来, 如果你一个人知道,可就不是python的特点了, python最大的功能就是分享,把你的代码分享出去。
python 专门为这个, 制作了分享工具, 如果我们叫的比较正式,叫发布工具。
而存放全世界所有共享python代码,就叫做pypi python软件包索引。
二,共享你的软件包
软件包的核心, 是你编写的程序代码, 但是如果你给了别人,就必须加上一些注释,这样人家才看的懂。
''' 这是一个printlist,模块,他包括printlist函数,作用时打印列表,可能包括(不包括)嵌套列表''' def printlist(list_name): ''' 这个函数用一个参数,list_name, 可以任意列表,包括嵌套列表''' for each_item in list_name: if isinstance(each_item,list): printlist(each_item) else: print(each_item)
把他保存成一个printlist.py 保存下来。
建立一个文件夹,printlist.
1, 将printlist放在文件夹里。
2,使用发布工具, 制作setup.py文件
一种setup代码, 简称setup-1
__author__ = 'lixiang' try: from setuptools import setup except ImportError: from distutils.core import setup setup( name = 'printlist', version = '1.0.0', py_moudle = ['printlist'], author = 'lixiang', author_mail = '3qfriend@gmail.com', url = "http://www.1b98.com" )
另一种setup代码,简称setup-2
__author__ = 'lixiang' try: from setuptools import setup except ImportError: from distutils.core import setup config = { name :'printlist', version : '1.0.0', py_moudle :['printlist'], author :'lixiang', author_mail : '3qfriend@gmail.com', url : "http://www.1b98.com" } setup(**config)
这个地方查看一下, 两本书不同, 一本书是这么写的。, config = { 健:值} setup(**config) , 两种方式,到底哪个对呢? **config是撒意思。
首先当然是查看 import distutils ; distutils.setup
setup(**attrs)
一串英文, 看懂, 还好找到官方文档,https://docs.python.org/2/distutils/apiref.html
大致是看懂了, setup(**attrs)
说的是撒意思呢, 参数可以多选,没有限制,就是文档里面出现的参数,随便你填, 还有一个重要的一点, 就是顺序随便弄。
这样话, 函数setup中的参数, 调用函数的时候, setup(a,c,d,e,b) 就可以了,不需要安装一定参数的, 我们在例子中不就是setup-1了吗。
那你可能会问, 这种def 函数, 怎么表达, python考虑到了, 用一个星表示参数多少都可以接受, 两个星表示顺序可以乱, 用代码看看呗!
def yourhome (a,*b): print a print b print len(b) yourhome(12,'home','who?')
显示 12
('home','who?')
这里面我们用setup-2的思路:
def yourhome (a,*b): print a print b print len(b) config = ('home','who?') yourhome(12,*config)
看到了吗, 参数的不同方式, 接着下面写一个**
def yourhome (a,**b): print a print b print len(b) yourhome (12, {'author':'lixiang','age':'12'})
TypeError: yourhome() takes exactly 1 argument (2 given)
出错了? 怎么回事?
def yourhome (a,**b): print a print b print len(b) yourhome (12, author='lixiang', age=12)
12
{'age': 12, 'author': 'lixiang'}
2
函数中的参数, 你怎么用字典呢??? 那可是参数哦, 如果你想只用一个参数表示,
config = { 'author':'lixiang', 'age':12 }
yourhome(12,**config)
这个地方, 突然想到字典,len(字典),是2, 还有字典有没有顺序呢?
因为测试是个数, 通过学习字典,你会发现, 根本不需要顺序啊。 弄懂来setup两种表达方式了吧。
这里还有一个想法,这样可以吗?
def yourhome (a,*b):
print a
print b
print len(b)
yourhome (12, author='lixiang', age=12)
推断,是错误的,
因为元组没有办法保存这个, 其实看到了上面都格式,就应该想到**
我们继续哦。
相关文章推荐
- 《Learn Python the Hard Way》读书笔记
- Learn Python The Hard Way-Ecercise11~15
- Learn Python The Hard Way exercise 42
- 笨办法学 Python (Learn Python The Hard Way)
- 【Python】Learn Python the hard way, ex6 格式化字符串,多行文本
- 函数与文件-习题20--learn python the hard way
- Learn Python The Hard Way, 2nd Edition
- 【Python】Learn Python the hard way, ex33 while循环
- 【Python】Learn Python the hard way, ex39 字典操作
- learn python the hard way EX2
- Learn Python The Hard Way学习(30) - Else和If
- 【Python】Learn Python the hard way, ex46 项目骨架搭建练习
- Learn Python The Hard Way学习(39) - 可爱的字典
- Learn Python The Hard Way 3: Ex01 A good first Program
- Learn Python The Hard Way学习(42) - 继承,包含,对象和类
- 学习learn python the hard way习题46, ImportError问题
- Learn python the hard way_习题32_循环和列表
- 【Python】Learn Python the hard way, ex1 简单print语句
- 【Python】Learn Python the hard way, ex7 字符串连接
- 【Python】Learn Python the hard way, ex12 raw_input 提示别人