大数据处理之道(十分钟学会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) 文件处理

[python] view plaincopy

  1. filename = raw_input(‘Enter your file name‘)  #输入要遍历读取的文件路径及文件名
  2. file = open(filename,‘r‘)
  3. done = 0
  4. while not  done:
  5. aLine = file.readline()
  6. if(aLine != ‘‘):
  7. print aLine,
  8. else:
  9. done = 1
  10. 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) 综合应用,文件读取,控制台读取,时间转化,编码转换

[python] view plaincopy

    1. import time
    2. from time import strftime
    3. import sys
    4. reload(sys)
    5. sys.setdefaultencoding(‘utf8‘)
    6. # -*- coding: cp936 -*-
    7. print ("Hello, Python!")
    8. #!/usr/bin/python
    9. a = 21
    10. b = 10
    11. c = 0
    12. c = a + b
    13. print "Line 1 - Value of c is ", c
    14. c = a - b
    15. print "Line 2 - Value of c is ", c
    16. c = a * b
    17. print "Line 3 - Value of c is ", c
    18. c = a / b
    19. print "Line 4 - Value of c is ", c
    20. c = a % b
    21. print "Line 5 - Value of c is ", c
    22. a = 2
    23. b = 3
    24. c = a**b
    25. print "Line 6 - Value of c is ", c
    26. a = 10
    27. b = 5
    28. c = a//b
    29. print "Line 7 - Value of c is ", c
    30. # for repeat its
    31. list = [2, 4, 6, 8]
    32. sum = 0
    33. for num in list:
    34. sum = sum + num
    35. print("The sum is:", sum)
    36. # print and Input, assignment
    37. print("Hello, I‘m Python!")
    38. name = input(‘What is your name?\n‘)
    39. print(‘Hi, %s.‘ % name)
    40. # test for
    41. fruits = [‘Banana‘, ‘Apple‘, ‘Lime‘]
    42. loud_fruits = [fruit.upper() for fruit in fruits]
    43. print(loud_fruits)
    44. # open, write and read file
    45. fo = open("./tmp/foo.txt","w+")
    46. fo.write("Python is a gerat language.\nYeah its great!!\nI am zhang yapeng, who are you?\n")
    47. t_str = u‘我是张燕鹏,您是什么货色?‘
    48. print(t_str)
    49. fo.write(t_str)
    50. fo.close()
    51. #read and write
    52. fr = open("./tmp/foo1.txt","r+")
    53. fw = open("foo_rw.txt","wb")
    54. done = 0;
    55. localtime = time.asctime(time.localtime(time.time()))
    56. print "Local current time : ", localtime
    57. fw.write(localtime + "\n")
    58. while not done:
    59. t_str = fr.readline()
    60. if(t_str != ‘‘):
    61. print "Read String is : ", t_str
    62. fw.write(t_str)
    63. else:
    64. done = 1
    65. fr.close()
    66. fw.close()
    67. # test time (import)
    68. localtime = time.localtime(time.time())
    69. print "Local current time : ", localtime
    70. # format the time from time import strftime
    71. t_time = strftime( ‘%Y-%m-%d %H:%M:%S‘, localtime)
    72. print "formatting local current time : ", t_time
    73. # design the time by yourself
    74. year = str(localtime.tm_year)
    75. mon = str(localtime.tm_mon)
    76. day = str(localtime.tm_mday)
    77. hour = str(localtime.tm_hour)
    78. mins = str(localtime.tm_min)
    79. sec = str(localtime.tm_sec)
    80. newtime = u"时间是: " + year + "年" + mon + "月" + day + "日 " + hour + ":" + mins + ":" + sec
    81. print "Local current time : ", newtime
时间: 2024-11-10 01:27:48

大数据处理之道(十分钟学会Python)的相关文章

十分钟学会Python的基本类型

一:起因 (1)说起学习Python的原因,上一篇blog已经提到过了:Python掐指一算不过是自己接触过的第四门大型语言(从接触到现在已经2周了)c/c++ ,Java,MATLAB(PS:应该还不算入门,只会简单的应用),之后就是python了. (2)c/c++ 到java的过渡是非常短暂的,但是过渡到MATLA就非常的不顺利(PS:就是上一篇的blog提到过的,从内心里抵触一门未曾谋面的语言),当时就已经感受到了开启一门新语言阻力非常大(有时可以用可遇不可求来形容). (3)从java

快速入门:十分钟学会Python

初试牛刀     假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些基本概念.很显然,如果你希望真正学好一门语言,你还是需要亲自动手实践的.在此,我会假定你已经有了一定的编程基础,因此我会跳过大部分非Python语言的相关内容.本文将高亮显示重要的关键字,以便你可以很容易看到它们.另外需要注意的是,由于本教程篇幅有限,有很多

十分钟学会Python

[简介] Python是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. [特点] 1. Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型. 2. Python具有很强的面向对象特性,而且简化了面向对象的实现.它消除了保护类型.抽象类.接口等面向对象的元素. 3. Python代码块使用空格或制表符缩进的方式分隔代码. 4. Python仅有31个保留字,而且没有分号.be

十分钟学习Python的进阶语法

(0)目录 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 分布式版本管理神器--GIT GIT文件的三种状态 & Git SSH秘钥问题 十分钟学习Python的进阶语法 配置SSH无密码访问及Linux热键.重启.kill进程 Java的不定长参数和Python的不定长参数对比 一:起因 (1)作为胶水语言的Python,可谓无处不在,快速开发原型网站:大数据处理等

PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony

这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人复制转载,原文为我们老板写的"十分钟学会Symfony",不过GItHub已经清理了,所以今天我重新整理一下,不过基本不变) Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都可以通过这个教程完成自己

大数据处理之道 (MATLAB 篇&lt;三&gt;)

一:起因 (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是必不可少的 : (3)可视化工具可以说百度一大篇,可是作为研究者的我们,程序猿的我们可能更希望能够抽象出一种数学模型,对现实的现象进行非常好的描述和刻画 (4)Python(数据清洗和处理) + MATLAB(模型分析) 或 c++/j

十分钟的Python代码知识点总结

#-- 寻求帮助:dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表help(obj.func) # 查询obj.func的具体介绍和用法 #-- 测试类型的三种方法,推荐第三种if type(L) == type([]):print("L is list")if type(L) == list:print("L is list")if isinstance(L, list):print("L is list") #-

十分钟学会Markdown(younghz原创)

younghz原创,转载请注明:http://blog.csdn.net/u012150179/article/details/26503779 原内容及代码托管在GitHub上,并持续更新,欢迎交流:https://github.com/younghz/Markdown 主要内容 MARKDOWN是什么? 谁发明可这么个牛X的东西? 为什么要使用它? 怎么使用? 都谁在用?没人用的东西我可不用. 感觉有意思?趁热打铁,推荐几个工具. 正文 1. MARKDOWN是什么? MARKDOWN是一种

快速入门:十分钟学会PythonTutorial - Learn Python in 10 minutes

This tutorial is available as a short ebook. The e-book features extra content from follow-up posts on various Python best practices, all in a convenient, self-contained format. All future updates are free for people who purchase it. Preliminary fluf