2019.04.12 Head First
第一节 认识python
python.exe -V
python 会进入解释器
quit()命令会退出解释器
IDEL,一个python的集成开发环境,能够利用颜色突出语法的编辑器,一个调试工具,Python Shell 以及一个完整的Python3在线文档。
我装了python3.5,那个就是IDEL呀。意思是说我安装了python3.5就是一个IDEL,因为Windows是不带有python解释器的
Mac os Linux是带有的解释器,解释器就是在终端打开的呀!
释义1:IDLE 是一个纯 Python 下自带的简洁的集成开发环境(IDE) [1] 。
那么问题来了 PyCharm是什么也是一个IDEL吗
然后又告诉我们参数要一致,因为有了参数之后就会变成必填的了
然后又出了一个可选参数,增加了一个缺省值是的“level”变成一个可选的参数 level = 0
Python术语:
PyPI 就是Python包索引(Python package index)这个网站很值得访问的
Python内存中的名字就存放在“命名空间”中
Python的主命名空间名为__main__
模块(python代码的文本文件)
项目描述
基本
这个工具可以用来以图形涂鸦的形式“记笔记”,就像用铅笔,钢笔,Sharpie(tm)或类似的东西在一张小纸上画它们一样。它没有按设计提供任何特殊选项。你得到一个画布,可以画上它,用一个固定大小的黑色笔......就是这样。
如果你正在寻找更多花哨的东西,那里有很多好的绘图应用程序(gimp,inkscape,......)。去挑选其中一个,例如,如果您需要特殊的刷子形状,并附带动力学。
我尽量保持pysketch的简约越好,这样我可以专注于什么我画画,而不是 如何我画它。
"腌制"数据 pickle pickle引擎 保存和恢复数据
用dump保存 用load恢复
‘wb’ b:告诉python以二进制模式打开数据文件
with open('mydata.piclke','wb') as mysavedata:
pickle.dump([1,2,'three'],mysavedata)
因为没有创建过mydata这个文件,所以系统会帮你创建
第一行[0]
最后一行[-1]
pickle的通用I/O才是上策 恢复列表吗? 那还支持其他的那些数据结构呢
第四章术语
“不可变数据类型”
“腌制” “解除腌制”
strip() 空白符
finally
except
str()
locals()返回当前作用域中的变量集合
in 操作符用于检查成员关系
“+”连接字符串 数字相加
with
sys.stdout标准输出
pickle.dump()
pickle.load()
第五章处理数据
split(‘,’)这会创建一个列表
整形吗 字符串吗
排序 sort() sorted()
方法串链 函数串链
默认是升序的, 传入参数reverse = True
推导列表
clean_mikey = [sanitize(each_t) for each_t in mikey)] 遍历后面的项,然后传给前面的函数处理 不用使用append方法 不用再创建一个新的列表
叫clean_mikey了
对列表中的每一项完成一个转换, 函数串链
一次只处理一个数据 不能再嵌套sorted()了,可以在clean_mikey 做排序吧
访问列表前三 james[0:3]
去除重复项呢 这不是转换了 应该是一个过滤器
if in 去处理 不在列表里就添加
集合的数据项是无序的,而且不允许重复 如果重复了,python会将其忽略
使用set()BIF创建一个空集合,这是工厂函数的一个例子:
distances= set() 有意思的工厂函数 和有意思的集合 和有意思的内置函数
集合 字典 都是用{}的
sortedBIF 集合 列表推导
第五章 术语
原地 排序 复制排序
方法串链 函数串链(从右向左读)
列表推导 分片 集合
sort sorted reverse = True
new_1 = []
for i in old_1:
new_1.append(len(i))
使用列表推导
new_1 = [len(t) for in old_1]
my_list[3:6] 列表索引3到6(但不包括)
使用set()工厂方法可以创建一个集合
第六章 定制数据对象
使用字典关联数据
任何东西都可以放到列表中,不论什么
创建两个空字典 cleese = {} palin = dict() 一个使用大括号创建 一个工厂函数创建
pop()我怎么记得删除的最后一个的、
从字典到类 将代码及其数据打包在类中
面向对象编程模型,提供了一种方法允许将代码及其处理的数据定义成一个雷。一旦有了类定义,就可以用他来创建(或实例化)数据对象,
他会继承类的特性
在面向对象世界里,你的代码通常称为类的方法(method),而数据通常称为类的属性(attribute)。实例化的数据对象通常称为实例(instance)
每个定义的类都有一个特殊的方法,名为__init__(),这个方法控制如何初始化对象
Python中没有定义构造函数“new”
如果没有这个self赋值,Python解释器无法得出方法调用要到那个对象实例。
方法是共享的,而属性不共享。
每个方法的第一个参数都是self
self应该是那个实例对象
d = Athlete("Holy Grail") Athlete.__init__(d,"Holy Grail")
d.how_big() Athlete.how_big(d) d:目标标识符或实例
不把实例对象传进去,他不知道是哪个。所以要写self
不同的内存地址上
append() extend()
你已经把代码与数据打包在一起,并且创建了一个定制类,
如果有办法扩展一个内置类来增加定制的属性,那该多好!
今晚话题继承,也就是说,他看起来很像他的父亲
定制类 继承类
class NamedList(list):
def __init__(self,a_name):
list.__init__([]) 注意这里的写法 还有位置 为什么要这里 证明我要继承你了 现在你就是我的了
self.a_name = a_name
意思是现在我就是list list就是我 我还是我 我还有我的属性
Jonny = NmaeList(“John paul”)
type(johnny) dir(johnny)查询拥有的方法,属性
“johnny”可以做列表能做的所有事情,另外还可以在“name”属性中存储数据
johnny是个list还可以迭代 for attr in johnny:
这么有意思吗?继承
那我可以从任何内置的类型继承吗?
Python支持多重继承吗 可以
第六章 术语
字典 键 值
“self” 这是一个方法参数,总是指向当前对象实例
第七章Web开发
所有人都想访问教练的数据 最好的办法是可以把你的程序防砸iWeb上
dump的第一个参数是存入的数据内容,第二参数是存入的文件名
CGI网关接口允许Web服务器运行一个服务器端程序,称为CGI脚本
通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。
如果在运行一个基于Unix系统(Linux Mac OS)
这个pickle有意思啊
https://www.cnblogs.com/abobo/p/8080447.html
第七章术语
web应用 Web请求 Web响应
CGI--通用网关接口:允许Web服务器运行一个服务器端程序
大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,
这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。
第八章 移动应用开发
下载软件开发包(SDK)
要配置SDK和模拟器需要做两件事;增加一个Android平台,另外创建一个Android虚拟设备(也称为AVD)
Android Studio 的安装配置详细过程
https://www.cnblogs.com/xiadewang/p/7820377.html
pickle json
@property修饰符 这样一来,对于类用户来说这个方法就像是一个新的属性
@property
def as_dict(self):
return({'name':self.name,
'DOB':self.dob,
'Top3':self.top3})
JSON库模块允许将Python的内置类型转换为基于文本的Json数据交换格式
json.dumps()可以创建一个Python类型的字符串版本
json.loads()可以从一个Json字符串创建一个Python类型
如果数据使用Json发送,需要将其Content-Type:设置为 application/json
urllib和urllib2 库模块(都在Python 2 中提供)可以用来从一个程序向Web服务器发送编码的数据
(使用urlencode()和 urlopen()函数)
sys模块提供了sys.stdin,sys.stdout和sys.stderr输入流
第九章管理数据
处理输入
Python 包括SQLite
利用Python的数据库API
连接:建立与所选数据库后台的一个连接
创建:创建一个游标,通过连接与数据通信。
交互:利用游标,使用SQL管理数据
知道为什么API叫接口了
这些都是python底层的源码吗?比较底层吧
Google App Engine 是一种让您可以在 Google 的基础架构上运行您的网络应用程序。
Google App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。
使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。
Google提供了这个Web应用托管服务
我们没有谈到的十大问题:
1.使用一个“专业”IDE”本课一直使用的是IDLE
2.处理作用域 Python允许你在函数中访问和读取一个全局变量的值,但是不能修改。Python看到这里的赋值是,会查找一个名为name的局部
变量,但是找不到 要修改就要表明意愿
name = 123
def what_happens_here():
print(name)
global name
name = name +'is a great book'
what_happens_here()
print(name)
3.测试
if __name__ = "__main__":
import doctest
doctest.testmod() 如果代码作为一个模块导入,这段代码不会运行。如果从命令行运行你的模块,则会运行测试
您将从本书学会什么?
你会迅速掌握Python的基础知识,然后转向持久存储,异常处理,Web开发,SQLite,数据加工和Google
App Engine。你还将学习如何为Android编写移动应用,这都要归功于Python为你赋予的强大能力。
2019.04.12 Head First的更多相关文章
- PowerBI更新2019/04 - 解决方案架构 - PowerBI Solution Architecture(一图胜万字!)
Power BI 架构图 (2019/04) 1) Power BI Desktop 是一个免费的工具.它可以用来准备和管理数据模型:包括链接各种数据:做数据清洗:定义关系:定义度量值和层级关系:应用 ...
- 35.ES6语法介绍——2019年12月24日
2019年12月24日16:22:24 2019年10月09日12:04:44 1. ES6介绍 1.1 新的 Javascript 语法标准 --2015年6月正式发布 --使用babel语法转换器 ...
- 24.mongodb可视化工具部署——2019年12月19日
2019年10月09日17:05:54 教程链接:https://blog.csdn.net/qq_32340877/article/details/79142129 项目名:adminMongo g ...
- 20.Nodejs基础知识(上)——2019年12月16日
2019年12月16日18:58:55 2019年10月04日12:20:59 1. nodejs简介 Node.js是一个让JavaScript运行在服务器端的开发平台,它让JavaScript的触 ...
- 19.go语言基础学习(下)——2019年12月16日
2019年12月16日16:57:04 5.接口 2019年11月01日15:56:09 5.1 duck typing 1. 2. 接口 3.介绍 Go 语言的接口设计是非侵入式的,接口编写者无须知 ...
- 7.搭建hyperledger fabric环境及启动——2019年12月12日
2019年12月12日13:05:16 声明:从网络中学习整理实践而来. 1.介绍fabric Fabric 是一个面向企业应用的区块链框架,基于 Fabric 的开发可以粗略分为几个层面: 1. 参 ...
- AHKManager.ahk AHK管理器 2019年12月15日
AHKManager.ahk AHK管理器 2019年12月15日 快捷键 {Alt} + {F1} ///////////////////////////////////////////// ...
- java 时间格式化(2016.04.12 12:32:55)
输入的时间格式如:2016.04.12 12:32:55所示: 想要获取一定格式的日期,时间的方法 String startString = "2016.04.25 12:25:44&quo ...
- Ubuntu 13.04/12.10安装Oracle 11gR2图文教程(转)
Ubuntu 13.04/12.10安装Oracle 11gR2图文教程 原文标题:How to Install Oracle 11G R2 Enterprise Edition Database U ...
随机推荐
- return返回两个三元表达式的和,返回不正确,同样要注意在JavaScript中,也是如此
public string b() { string b = ""; "; } public int c() { public string b() { string b ...
- Zookeeper —— 初识
什么是 Zookeeper Zookeeper 是一个开放源代码的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现: Zookeeper 是典型的分布式数据一致性的解决方案,分布 ...
- C语言 · 求先序遍历
算法训练 求先序排列 时间限制:1.0s 内存限制:256.0MB 锦囊1 后序的最后一个字母为根结点. 问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树 ...
- activemq 安装 部署
ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用Apache提供的授权,任何人都可 ...
- 使用Go语言操作MySQL数据库的思路与步骤
最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork. 软件环境:Goland.Navicat f ...
- Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法;关于如何查看 EntityValidationErrors 详细信息的解决方法
我们在 EF 的编程中,有时候会遇到这样一个错误: 但是,按照他的提示 "See 'EntityValidationErrors' property for more details.&qu ...
- opencv利用直方图判断人脸光照质量
懒得用中文再写一遍了, 直接传送门过去吧. https://medium.com/@fanzongshaoxing/detect-face-in-bad-lighting-condition-usin ...
- 【AI】神经网络基本词汇
neural networks 神经网络activation function 激活函数hyperbolic tangent 双曲正切函数bias units 偏置项activation 激活值for ...
- Dynamic seq2seq in tensorflow
v1.0中 tensorflow渐渐废弃了老的非dynamic的seq2seq接口,已经放到 tf.contrib.legacy_seq2seq目录下面. tf.contrib.seq2seq下面的实 ...
- GitLab上传项目到新的分支
多人协同开发,GitLab上的group仓库里的master分支作为开发分支(最终从dev提交的代码),dev分支作为每个人的代码测试后合并的分支,每个人需要定期merge request自己的分支到 ...