大数据处理之道(十分钟学会Python)
一:python 简介
(1)Python的由来
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991
年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结
在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,
比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C++重写。
(2)Python 语法简介 ---- 类型转化
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
(3)Python 语法简介 ---- 类型转化
s + r 序列连接
s * n , n * s s的 n 次拷贝,n为整数
s % d 字符串格式化(仅字符串)
s[i] 索引
s[i :j ] 切片
x in s , x not in s 从属关系
for x in s : 迭代
len(s) 长度
min(s) 最小元素
max(s) 最大元素
s[i ] = x 为s[i]重新赋值
s[i :j ] = r 将列表片段重新赋值
del s[i ] 删除列表中一个元素
del s[i :j ] 删除列表中一个片段
(4)(3)Python 语法简介 ---- 类型转化
x >> y 右移
x & y 按位与
x | y 按位或
x ^ y 按位异或 (exclusive or)
~x 按位翻转
x + y 加
x - y 减
x * y 乘
x / y 常规除
x // y 地板除
x ** y 乘方 (xy )
x % y 取模 (x mod y )
-x 改变操作数的符号位
+x 什么也不做
~x ~x=-(x+1)
abs(x ) 绝对值
divmod(x ,y ) 返回 (int(x / y ), x % y )
pow(x ,y [,modulo ]) 返回 (x ** y ) x % modulo
round(x ,[n]) 四舍五入,n为小数点位数
x < y 小于
x > y 大于
x == y 等于
x != y 不等于(与<>相同)
x >= y 大于等于
x <= y 小于等于
二:python应用
(1) 文件处理
![](http://www.thebigdata.cn/upload/2015-01/150122105735322.png)
- filename = raw_input('Enter your file name') #输入要遍历读取的文件路径及文件名
- file = open(filename,'r')
- done = 0
- while not done:
- aLine = file.readline()
- if(aLine != ''):
- print aLine,
- else:
- done = 1
- file.close() #关闭文件
解释:
.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构
进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。
如果Python文件读到了文件尾,则会返回一个空字符串‘’,而如果是读到一个空行的话,则会返回一个‘\n’
Python的readline()方法,每行最后都会加上一个换行字符‘\n’。有时候有的文件最后一行没有以'\n'结尾时,不返回‘\n’。
readlines()方法返回的是一个列表,而readline()返回一个字符串。
(2)错误处理
Python报错TypeError: 'str' object is not callable
当一般内部函数被用作变量名后可能出现此错误。比如:
range=1
for i in range(0,1):
………
就会报这样的错误
这样的错会报在for行,但是时间引起的原因却是在range=1这行,如果两行相距较远,怎很难被发现。所以要特别注意不要用内部已有的变量和函数名作自定义变量名。或者str被预先定义了
str=10
for i in range(1,10):
print str(i)
(3) 综合应用,文件读取,控制台读取,时间转化,编码转换
![](http://www.thebigdata.cn/upload/2015-01/150122105735322.png)
- import time
- from time import strftime
- import sys
- reload(sys)
- sys.setdefaultencoding('utf8')
- # -*- coding: cp936 -*-
- print ("Hello, Python!")
- #!/usr/bin/python
- a = 21
- b = 10
- c = 0
- c = a + b
- print "Line 1 - Value of c is ", c
- c = a - b
- print "Line 2 - Value of c is ", c
- c = a * b
- print "Line 3 - Value of c is ", c
- c = a / b
- print "Line 4 - Value of c is ", c
- c = a % b
- print "Line 5 - Value of c is ", c
- a = 2
- b = 3
- c = a**b
- print "Line 6 - Value of c is ", c
- a = 10
- b = 5
- c = a//b
- print "Line 7 - Value of c is ", c
- # for repeat its
- list = [2, 4, 6, 8]
- sum = 0
- for num in list:
- sum = sum + num
- print("The sum is:", sum)
- # print and Input, assignment
- print("Hello, I'm Python!")
- name = input('What is your name?\n')
- print('Hi, %s.' % name)
- # test for
- fruits = ['Banana', 'Apple', 'Lime']
- loud_fruits = [fruit.upper() for fruit in fruits]
- print(loud_fruits)
- # open, write and read file
- fo = open("./tmp/foo.txt","w+")
- fo.write("Python is a gerat language.\nYeah its great!!\nI am zhang yapeng, who are you?\n")
- t_str = u'我是张燕鹏,您是什么货色?'
- print(t_str)
- fo.write(t_str)
- fo.close()
- #read and write
- fr = open("./tmp/foo1.txt","r+")
- fw = open("foo_rw.txt","wb")
- done = 0;
- localtime = time.asctime(time.localtime(time.time()))
- print "Local current time : ", localtime
- fw.write(localtime + "\n")
- while not done:
- t_str = fr.readline()
- if(t_str != ''):
- print "Read String is : ", t_str
- fw.write(t_str)
- else:
- done = 1
- fr.close()
- fw.close()
- # test time (import)
- localtime = time.localtime(time.time())
- print "Local current time : ", localtime
- # format the time from time import strftime
- t_time = strftime( '%Y-%m-%d %H:%M:%S', localtime)
- print "formatting local current time : ", t_time
- # design the time by yourself
- year = str(localtime.tm_year)
- mon = str(localtime.tm_mon)
- day = str(localtime.tm_mday)
- hour = str(localtime.tm_hour)
- mins = str(localtime.tm_min)
- sec = str(localtime.tm_sec)
- newtime = u"时间是: " + year + "年" + mon + "月" + day + "日 " + hour + ":" + mins + ":" + sec
- print "Local current time : ", newtime
(4)运行图:
(5) 总结:
(1)Python是一门入手非常快的语言,处理大数据的好语言,一些规范非常类似于c++语言,例如语法和一些函数命名,文件的打开和读写,以及
读写方式,非常类似于c++
(2)正如,开头所写的 “python是胶水语言,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适
的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C++重写。”
(3)分享一下非常基础的系统的学习网站
(4)W3CSchool.cc (3)中提到的学习网站是非常基础的人们课程,要是想深入,具体的内容可以百度。
原文链接:http://blog.csdn.net/u010700335/article/details/42025391
大数据处理之道(十分钟学会Python)的更多相关文章
- 快速入门:十分钟学会Python
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
- 快速入门:十分钟学会Python(转)
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
- 高速入门:十分钟学会Python
初试牛刀 如果你希望学习Python这门语言.却苦于找不到一个简短而全面的新手教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手冊(Cheat ...
- 十分钟学会python
1.raw_input的使用 从键盘读取信息,返回字符串. 例: hrs = raw_input("Enter Hours:")pay=raw_input("Enter ...
- PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony
这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...
- Python十分钟学会
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
- 十分钟学会 tmux
tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理.在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求. 如上图所示,iTerm2 能新建多个标签页(快捷键 ...
- 快速入门:十分钟学会PythonTutorial - Learn Python in 10 minutes
This tutorial is available as a short ebook. The e-book features extra content from follow-up posts ...
- python第八篇:十分钟学会Flask
什么是Flask Flask是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI服务的一个微型框架 Flask中包含一个轻量级的web 服务器主要用于在开发阶段测试使用 F ...
随机推荐
- MySQL删除相同前缀的表,修改某个库的存储引擎
MySQL5.0 之后,提供了一个新的数据库information_schema,用来记录MySQL总的元数据信息.元数据指的是 数据的数据. 比如表名.列名.列类型.索引名等表的各种属性名称.这个库 ...
- Django——form组件is_valid校验机制
#先来归纳一下整个流程#(1)首先is_valid()起手,看seld.errors中是否值,只要有值就是flase#(2)接着分析errors.里面判断_errors是都为空,如果为空返回self. ...
- HDR(High Dynamic Range) - 高动态范围
1. Dynamic Range 动态范围是指一个场景的最亮和最暗部分之间的相对比值 2. Tone-mapping 现实真正存在的亮度差,即最亮的物体亮度和最暗的物体亮度之比为 , 而人类的眼睛 ...
- maven setting.xml 中文配置详解(全配置)
春节假期在家养病,乘有时间整理了下之前的知识——知识贵在归纳总结. 参照了官方文档,针对其中的一些未描述详尽的内容翻查了不少资料,补充到了配置文件中,同时再加上一些说明.例子,方便查阅. 内容虽然比较 ...
- DEV开发之控件XtraTabbedMdiManager
使用的时候要先设置窗体的IsMdiZContainer属性为True然后再窗体上新增XtraTabbedMdiManager控件 设置属性:HeaderLocation为bottomClosePage ...
- [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 【leetcode刷题笔记】Single Number
题目: Given an array of integers, every element appears twice except for one. Find that single one. No ...
- python3 包
python3 包 执行文件为test.py,内容 #test.py import aaa 同级目录下创建目录aaa,然后自建空__init__.py(或者干脆建包) 需求:验证导入包就是在导入包下的 ...
- Struts2 遇到的问题汇总
1.报错如下信息: org.apache.jasper.JasperException: The Struts dispatcher cannot be found. This is usually ...
- 织梦dedecms 调用文章图片数功能
function BodyImgNum($aid) { global $dsql; $sql = "select aid,body from dede_addonarticle where ...