南大慕课《用Python玩转数据》-01走近Python

用python玩转数据

python是一种解释性的,面向对象的,带有动态语义的高级程序设计语言。它拥有传统编译型程序所有的强大通用功能,也有简单脚本语言和解释性程序语言的易用性。

Python的应用

  1. WEB开发,定了WSGI标准应用接口来协调http服务器与基于python的web程序之间的沟通。
  2. GUI开发,用wxPython或PyQt来开发跨平台的桌面软件。
  3. 操作系统,大多数Linux发布版以及NetBSD,OpenBSD和MacOS X都集成了python,python标准库中包含了多个调用作业系统功能的库。
  4. 多媒体,三维游戏场景制作。

Python的语法基础

经典的hello world (本系列使用python2.7)

myString = 'Hello,World!' #无须定义变量类型
print myString

1. 变量
1.1 变量类型
必须有明确的数据类型,程序才能分配gei常量,变量精确的存储大小。python的标准数据类型如下

  • 整形和长整形,并不严格区分,整形值后加"L" 即为长整形
print type(3)
print type(3L)

输出结果为

<type 'int'>
<type 'long'>

  • 布尔型,属于整形的子类,True和False两个值,本质上是用1,0存储
x = True
y = False
print x
print y
print int(x)
print int(y)

输出结果为

True
False
1
0

  • 浮点型,即数学中的实数,可以类似科学计数法表示
print 9.8e3
print -4.78e-2
print type(-4.78e-2)

输出结果如下

9800.0
-0.0478
<type 'float'>

print type(2.4+5.6j)
print type(5+0j)

输出结果

<type 'complex'>
<type 'complex'>

复数可以分离成实数和虚数部分,如下面的代码:

x = 2.4 + 5.6j
print x.imag #分离虚数
print x.real #分离实数
print x.conjugate() #复数的共轭(实数部分相同而虚数部分互为相反数的两个复数)

输出结果如下

5.6
2.4
(2.4-5.6j)

  • 序列类型
- 字符串单引号,双引号,三引号内的都是字符串,不可变类型。
- 列表 ,强大的类型,用方括号[]界别,可变类型。
- 元组, 与列表类似,用小括号()界别,不可变类型。
  • 映射类型 字典
    用大括号{ }界别,类似于哈希表的键值对
d = {'name':'lijun','gender':'male','age':18} #dictionary
print d['name'] #ouput: lijun

1.2 命名规则

  • 首字符是字母或下划线 (下划线通常用来表示内建标识符, _XXX 通常表示私有的)
  • 大小写敏感(全大写的是符号常量)

2. 关键字

3. 赋值
3.1 python的语言类型
Python是动态的强类型语言,不需要显示声明,根据值确定类型. 以引用的方式实现赋值,将一个引用指向对应的内存单元。

3.2 增量赋值


3.3 多重赋值 , 如 PI = pii = 3.14

3.4 多元赋值 ,等号左右两边都以元组的方式出现

X = 1
Y = 2
X,Y
可以输出1,2
另外将两个值交换,可以直接如下赋值
X,Y = Y, X #在其他语言中,要交换两个值的话,需要用到第三个变量
exg. PI, r = 3.14159, 3 #最好左右都用括号

4. 基本运算符
4.1. 算数运算符

+a # 正数
-a # 負数
a + b # 加算
a - b # 減算
a * b # 乗算
a / b # 除算 / 传统除法
a % b # a を b で割った余り % 取余数
a ** b # a の b 乗 乘方 ,如33 为27
a // b # 切り捨て除算 // 整除,舍弃小数点后数字

4.2. 比较运算符

a == b # a が b と等しい
a != b # a が b と異なる
a < b # a が b よりも小さい
a > b # a が b よりも大きい
a <= b # a が b 以下である
a >= b # a が b 以上である
a <> b # a が b と異なる
a is b # a が b と等しい

a is not b # a が b と異なる
a in b # a が b に含まれる
a not in b # a が b に含まれない
字符串按照ASCII码值大小比较

4.3. 逻辑运算

not: 取相反
and: 一个false 则为false
or:一个true则为true

4.4. 字符运算

  • 原始字符操作符(r/R),用于一些不希望转义字符起作用的地方
f = open(r'C:\99.tool\hello.txt')
f = open('C:\\99.tool\\hello.txt') 
  • Unicode字符串操作符(u/U),转换成Unicode字符串

4.5. 位运算

~a # ビット反転
a & b # AND:論理積(aもbも1のビットが1)
a | b # OR:論理和(aまたはbが1のビットが1)
a << b # b ビット左シフト
a >> b # b ビット右シフト
a ^ b # XOR:排他的論理和(aまたはbが1のビットが1)

a与b的对应位进行异或运算,同为0或者同为1时,对应位结果为0;否则为1。比如,假设,a的值为二进制的1010,b的值为二进制的1100,那么a^b = 0110

5 模块与函数
5.1 函数
类似于数学中的函数,完成特定功能的代码,比如abs(x),round(x)等。
通过dir(builtin)查看内建函数(如 abs(x), type(x))

  • 内建函数


5.2 模块

  • 一个完整的python文件就是一个模块,如math.py数学库,python中通常用"import 模块"的方式将现成模块中的函数,类重用到其他代码中。

    用help(math)打印所有math内部的函数和变量

  • 导入多个库 import M1,M2,M3.
import math
print math.pi #ouput: 3.14159265359

5.3 包,包是一个有层次的文件目录结构

AAA/
-----CCC/
----------c1.py
----------c2.py
导入 import AAA.CCC.c1
使用 AAA.CCC.c1.func1()

5.4 库,一组有相关功能的模块的集合,python的一大特色就是有大量的标准库 和 第三方库

第一章测验

1,编程题

简单的输入输出:编程实现输入姓、名的提示语并接受用户输入,并单独显示姓、名和全名,执行效果如下所示:
Input your surname:ZHANG

Input your firstname:Dazhuang
Your surname is:
ZHANG
Your firstname is:
Dazhuang
Your full name is:
ZHANG Dazhuang
python2.7中的程序如下:

surname = raw_input('Input your surname:')
firstname = raw_input('Input your firstname:')
print 'Your surname is:'
print surname
print 'Your firstname is:'
print firstname
print 'Your full name is:'
print surname,firstname

TODO

  • 整理什么是动态/静态,强类型/弱类型 编程语言
  • 整理 列表 、元组 、字典的差异

参考资料

1, 南京大学 张莉老师《用Python玩转数据》视频课程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容