【学习笔记】炼数成金 Dataguru python2.x 2012
此教程 06Python正则表达式、08爬虫 部分讲解不错,值得回顾学习
01.解释型脚本语言初探
解释性脚本语言最重要的特性:动态类型
Python结构化编程,函数式编程,面向对象编程
关系数据库的 3范式NF
笛卡尔操作join
很多对象与类如果既不是包含也不是继承关系,统称叫做关联关系。面向对象的包含关系主要由两种表现方式:组合、聚合,这两种方式的区别就是构成子对象的生命周期不同。
面向对象主要分为3个阶段:OOA,OOD,OOP
传统编译型语言如C++,Java都是强类型语言,要求变量在定义时就明确定义变量类型,整个生命周期都是该类型。但对于动态类型语言呢,在运行时才决定他的类型,在执行过程中可以改变数据类型,在开发过程中无疑带来很大灵活性,
Python本身是弱类型语言,只有在运行时才决定是什么类型。
Python内置列表,元组,字典几种数据结构增强了很多特性。本身也是胶水语言,可以灵活地与其他语言进行组合,实现整体功能,比如对速度要求很高的算法部分,使用C++实现。Python写东西就是快。
常见编程语言比较
编译型:C C++ Java .net object-c
解释型:Python MATLAB Erlang lua Perl shell HTML JavaScript
笛卡尔方法论:拆分、排序、处理、归并
建议C C++是必须的语言,因为它对计算机内存会时刻保持很清晰的概念。
程序员的陋习:
自我,封闭,惯性,沟通障碍,一叶障目,工作量的估计乐观,拒绝变化,拒绝重构
02.Python开发环境
Python运行环境的安装和配置;Setuptools,wingIDE, 两个非常重要的module(os,sys)
Setuptools工具对Python来说,类似于yum之于Redhat,apt-get之于ubuntu
某些版本win平台下安装Python后,在cmd并不能启动Python交互式环境,需要手动将Python添加到环境变量PATH,Python辅助工具建议安装Setuptools, pip
下载与Python版本对应的Setuptools,直接运行自动找到Python路径/sitepackages,同时安装easy install的script(该script也要添加到path环境变量),这样就可以cmd中使用easy install命令了
如easy install django,easy install numpy 就可以安装了(当然这种安装方式必须联网),安装第三方库还可以其他方式,如下载lib离线压缩包,执行setup.py的方式,执行命令python setup.py build/install
linux下Python环境安装部署
存在一种情况,Linux上自带的Python版本与我们开发需要的不一致,就像java -version一样,Linux下可以存在多个Python/jdk版本,只要在.bashprofile文件配置好指定版本的路径调用就好。把对应版本解压,将bin目录添加到命令搜索路径path下,安装到/usr/local/下(行业规定)
注意在Linux下不要覆盖系统自带Python版本,因为很多系统工具可能依赖该版本环境。因此一定要安装指向路径./configure –prefix=/usr/local/pythonnew,然后进行make编译过程,然后makeinstall安装。
那么如何在环境变量中使用指定版本的Python呢?可以在环境变量文件即bashprofile中设置,或者使用软连接ls方式添加到/bin/目录,就像win中的快捷方式。
ln -s /usr/local/pythonnew/bin/python /bin/pythonnew ln -s 真实文件路径 软连接路径
用mget工具获取Linux平台的setuptools工具包,到官网上找到对应版本下载链接,右键另存为的获取下载链接downURL,mget downURL即可下载。
然后同样方式安装setuptools,easy_install django安装第三方lib。
这样就完成了在Linux上安装配置新指定版本Python 并配置setuptools,easy_install的过程。
wingIDE安装
wingIDE可以灵活设置作为main入口的.py文件,还支持分步断点调试Debug Probe,还可以将Debug Probe窗口作为IDLE一样的交互式工具,随时查看变量,对象信息。
wingIDE中F1,F2键可以方便的切换下方,右侧区域窗口。
5)自醒的便利
type(),str(),dir(),help()
查看变量类型用type
对于sys package,要查看有哪些构成函数成员,用dir(sys),是一种概览展示。
对于想要详细查看该module或function的用法说明,用help(sys),help(sys.func)
str(sys) ; type(sys)
python中非常重要的两个module:os,sys
import os
dir(os)
import(sys)
dir(sys)
03.python使用基础
单引号’strings’ 双引号”strings” 三引号”’strings”’ or “”“strings”“”
三引号可以用作:定义字符串;定义块注释
当字符串内部含有特殊字符\t,\n等,会被自动转义处理,print(‘abcd\nsdfj\tkl’),如果不希望内置特殊字符被转义,有两种方法:
1.手动在每个特殊字符前添加转义字符\,但如果str是未知,或者很多特殊字符,将很难处理;
2.声明字符时用a=r’abcd\nsdfj\tkl’,特殊字符将不被转义
a=r’abcd\nsdfj\tkl’
a
‘abcd\nsdfj\tkl’
print(a)
abcd\nsdfj\tkl
插入自定义分隔符的处理非常简单:利用str自带的join
”.join(b)
‘abcd\nsdfjkl’
‘-‘.join(b)
‘a-b-c-d-\n-s-d-f-j-k-l’
‘_’.join(b)
‘a_b_c_d_\n_s_d_f_j_k_l’
‘-._’.join(b)
‘a-.b-._c-._d-.\n-._s-._d-._f-._j-._k-._l’
eval()方法,将数值型,可计算的字符串,转换为计算型表达式:
a=’1+1*2*5-3’
a
‘1+1*2*5-3’
eval(a)
8
eval(‘“1”+”1”’)
‘11’
type(eval(‘“1”+”2”’))
conn,address=sock.accept()
rlists=[sock]
wlists=[]
msg_que={}
timeout=20
print(connect by client,address)
while rlists:
rs,ws,es=select.select(rlists,wlists,rlists,timeout)
if not (rs or ws or es)
print(‘timeout’)
break
for s in rs:
if s in sock:
conn.addr=s.accept()
print(connect by client,address)
conn.setblocking(False)
rlists.append(s)
msg_que[s]=Queue.Queue()
else:
data=sock.recv(1024)
if data:
print(data)
msg_queue[s].put(data)
if s not in wlists:
wlists.append(s)
else:
if s in wlists:
wlists.remove(s)
rlists.remove(s)
s.close()
del msg_queue[s]
for s in ws:
try:
msg=msg_queue[s].get_nowait[]
except Queue.Empty:
print(ms_empty)
wlists.remove(s)
else:
s.send(msg)
for s in es:
print(‘except’,s.getpeername())
if s in rlists:
rlists.remove(s)
if s in wlists:
wlists.remove(s)
s.close()
del msg_queue[s]
【学习笔记】炼数成金 Dataguru python2.x 2012相关推荐
- 炼数成金dataguru邀请码C451
Dataguru是2011年11月创建的关于 数据仓库.数据挖掘.商业智能等技术和业务讨论的数据分析专业社区网站.上面有很多关于数据分析的课程还是很不错的,虽然要交一部分钱,但是大家在一起学习.讨论也 ...
- 【备忘】2017年最新炼数成金机器读心术之神经网络与深度学习视频教程
课程大纲: 第1课 跌宕起伏70年:神经网络发展概述:最简单的神经元仿生:单层感知器. 第2课 线性神经网络,BP神经网络,基于梯度下降的各种学习算法:BP神经网络应用:信用识别:为什么BP网络丌能支 ...
- 炼数成金Tensorflow学习笔记之2.2_变量
炼数成金Tensorflow学习笔记之2.2_变量 代码及分析 代码及分析 import tensorflow as tfx = tf.Variable([1, 2]) a = tf.constant ...
- 炼数成金Tensorflow学习笔记之2.4_Tensorflow简单示例
炼数成金Tensorflow学习笔记之2.4_Tensorflow简单示例 代码及分析 代码及分析 # -*- coding: utf-8 -*- """ Created ...
- 炼数成金数据分析课程---8、数据清洗
炼数成金数据分析课程---8.数据清洗 一.总结 一句话总结: 数据分析课程的实质是:介绍库中的函数:介绍py的3个常用的数据分析库(numpy,pandas,scipy)的函数的操作 实例:其实找几 ...
- 炼数成金数据分析课程---16、机器学习中的分类算法(交叉内容,后面要重点看)...
炼数成金数据分析课程---16.机器学习中的分类算法(交叉内容,后面要重点看) 一.总结 一句话总结: 大纲+实例快速学习法 主要讲解常用分类算法(如Knn.决策树.贝叶斯分类器等)的原理及pytho ...
- 炼数成金数据分析课程---17、机器学习聚类算法(后面要重点看)
炼数成金数据分析课程---17.机器学习聚类算法(后面要重点看) 一.总结 一句话总结: 大纲+实例快速学习法 主要讲解常用聚类算法(比如K-means等)的原理及python代码实现:后面学习聚类的 ...
- 炼数成金数据分析课程---13、回归分析
炼数成金数据分析课程---13.回归分析 一.总结 一句话总结: 大纲+实例快速学习法 主要内容是回归分析的原理及编程实现 1.回归分析是什么? 通过建立模型来研究变量之间相互关系的密切程度.结构状态 ...
- python数据内容_炼数成金:Python数据分析内容分享
相信看这篇文章的每一位朋友,都有过努力学习 炼数成金:Python数据分析 这个课程.提升自我的想法, 可是学习是一件非常反人性的事情,大多数人都是晚上想想千条路,早上醒来走原路. 也相信很 ...
- 炼数成金邀请码:YY96
dataguru 炼数成金 邀请码 YY96 学费减免 dataguru 炼数成精 邀请码 YY96 学费减免 炼数成金邀请码,使用邀请码报名课程可以减免50%固定学费哦! http://edu.d ...
最新文章
- 请问知识图谱有哪些研究点是可以进行深入研究的?
- ajax成功或失败的原因,实际上成功后,AJAX发布请求报告失败
- hybris backoffice 产品属性和sample data的对应关系
- java 实现excel样式设置(居中、字体、大小、换行、合并行,列宽、指定特定字符串样式等)
- c语言在函数中只执行一次,请问大家,为什么我调用我定义的函数俩次,但是程序只执行一次...
- python中的zip是什么意思_python中zip是什么函数
- 电梯管理php,写字楼物业电梯管理规定
- socketmq 设置队列大小_LeetCode 622:设计循环队列 Design Circular Queue
- oracle 10g 高级复制,Oracle9i和Oracle10g之间构建高级复制环境的测试用例
- FineBI使用文档
- Markdown表格——在CSDN上画表格
- SqlServer 对象名无效的解决方法
- Selenium2学习(四)-- xpath定位
- Mysql学习总结十二:系统变量、用户变量、定义条件和处理程序
- win10内置Ubuntu安装图形界面
- 天龙八部OL登录器编写之创建快捷方式
- 【特征匹配】BRIEF特征描述子原理及源码解析
- 语音视频SDK的回声消除技术是如何实现的
- java生成随机数的方法_Java获取随机数的3种方法
- 关于用js实现的日历记事功能
热门文章
- js多线程编程web worker
- 顶尖电子秤ls6恢复出厂_顶尖LS6(X)条码秤调试教程
- 【项目管理/PMP/PMBOK第六版/新考纲】纯干货!敏捷型/Stacey矩阵/vuca/敏捷宣言/冲刺/产品负责人/敏捷团队/敏捷教练/待办事项列表/迭代任务列表/可交付产品增量
- Luogu P4484 [BJWC2018]最长上升子序列
- 亿级 QQ 会员活动运营系统的设计之道
- 查询QQ会员账号信息API接口
- R Shiny module学习笔记
- 支付宝当面付_小小的支付完成页上,微信和支付宝“打起来了”
- Ablation study消融实验
- UE4 C++ UMG框架搭建