2018-11-19

0) 安装ipython

IPython 7.0+ supports Python 3.5 and above.
When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
Python 3.3 and 3.4 were supported up to IPython 6.x.

  • 根据本地python版本安装相应版本的ipython
pip install ipython=888   #指定不存在的版本以查看可用版本
pip install ipython=5.8.0

1) python文件类型

1.1) 源码(.py):vim 1.py

#!/usr/bin/python
print 'hello world'

python 1.py
./1.py

1.2) 字节代码(.pyc):vim 2.py

#!/usr/bin/pytthon
import py_compile
py_compile.compile('1.py')

python 2.py
python 1.pyc

1.3) 优化代码(.pyo)

python -O -m py_compile 1.py
python 1.pyo

2) python变量

  • python下变量是对一个数据的引用
  • python中给变量赋值,即变量指向内存中的另一块区域
  • 变量不能使用关键字
  • 变量不能以数字开头

2.2) 定义赋值

a = 123
id(a)
a = 456
id(a)

2.3) 运算符

2.3.1) 赋值运算符

x = 2
str = 'abc'
type(x)
type(str)

x += 2
x

x -= 1
x

x *= 8
x

x /= 5
x

x %= 3
x

2.3.2) 算数运算符

3 + 4
'a' + 'b'
3 - 4
3 * 4
4 / 3
4.0 / 3
4.0 // 3  #取整
4 % 3
2**3

2.3.3) 关系运算符

1 > 2
1 <= 2
1 == 2
1 != 2

2.3.4) 逻辑运算符

1 == 2 and 2 > 1
1 == 2 or 2 > 1
not 1 == 2

2.4.5) 优先级

  • 越往下优先级越高
  • 一行中,越往右优先级越高
    逻辑:or
    逻辑:and
    逻辑:not
    成员测试:in, not in
    同一性测试:is, is not
    比较:<, <=, >, >=, !=, ==
    按位或:|
    按位异或:^
    按位与:&
    移位:<<, >>
    加减法:+, -
    乘除法取余:, /, %
    正负号:+x, -x
    按位翻转:~x
    指数:
    *

2.4.6) input与raw_input

help(input)
input("Please input: ")   #分别输入数字和字母测试下,默认数值
raw_input("Please input: ")   #分别输入数字和字母测试下,默认字符串
  • vim 3.py
#!/usr/bin/python

num1 = input("Please input number1: ")
num2 = input("Please input number2: ")

print "%s + %s = %s" % (num1, num2, num1+num2)   #格式化字符串 %s
print "%s - %s = %s" % (num1, num2, num1+num2)
print "%s * %s = %s" % (num1, num2, num1+num2)
print "%s / %s = %s" % (num1, num2, num1+num2)

3) python数据类型

  • 数值
  • 字符串
  • 元组
  • 列表
  • 字典

3.1) 数值类型

  • 整型
  • 长整型
  • 浮点型
  • 复数型
a = 456
type(a)   #int范围:-2**31 --- 2**31
b = 100l   #long长整型:l或L,大小写都行
type(b)

type(3e+7)   #float浮点型:科学计数法也是浮点数

c = 23j
type(c)   #complex复数型

3.2) 字符串类型:string

  • str = 'this is a string'
  • str = "this is a string"
  • str = '''this is a string'''

python中,单引号和双引号没区别,三重引号(docstring)既能定义字符串也能用作注释

a = "hello\nworld"
print a

a= ''' hello
world'''
print a

#可通过索引和切片来操作字符串(序列)
a = 'abcde'

a[0]
a[-1]   #最后一个字符

a[0]+a[1]   #取前两个字符,通过使用a[:2]
a[0:2]
a[:2]
a[1:]
a[:]
a[:-1]
a[::2]   #步长step
a[-4:-2]
a[-2:-4:-1]   #-1表示从右到左

3.3) 序列的基本操作

  1. +: 连接2个序列
  2. *: 重复序列元素
  3. in: 判断元素是否在序列中
  4. len(): 求序列长度
  5. max(): 返回最大值
  6. min(): 返回最小值
  7. cmp(x, y): 比较2个序列

string字符串、tuple元组、list列表,都是序列

In [1]: a = 'abcde'

In [2]: max(a)
Out[2]: 'e'

In [3]: min(a)
Out[3]: 'a'

In [4]: len(a)
Out[4]: 5

In [5]: b = [1, '2', (3), ("4",), ["a", 6, 'b', '7']] 

In [6]: max(b)
Out[6]: ('4',)

In [7]: min(b)
Out[7]: 1

In [8]: len(b)
Out[8]: 5

In [9]: cmp(a, b)
Out[9]: 1

In [10]: cmp(a, 'bcde')
Out[10]: -1

In [11]: cmp(a, 'ABCDE')
Out[11]: 1

3.4) 元组类型:tuple

元组和字符串是不可变的序列

In [18]: a
Out[18]: 'abcde'

In [19]: t = (a, 'b', 'c')

In [20]: t
Out[20]: ('abcde', 'b', 'c')

In [21]: first, second, third = t

In [22]: first
Out[22]: 'abcde'

In [23]: second
Out[23]: 'b'

In [24]: third
Out[24]: 'c'

In [25]: t.count("b")
Out[25]: 1

In [26]: t.count('c')
Out[26]: 1

In [27]: t.count('a')
Out[27]: 0

In [28]: t.count(a)
Out[28]: 1

In [29]: t.count('ab')
Out[29]: 0

3.5) 列表类型:list

  • 取值:切片和索引
  • 添加:list.append()
  • 删除:list.remove(list[]) 或 del list[index]
  • 修改:list[] = x
  • 查找:var in list
In [35]: list1 = ['b', (1,), 3]

In [36]: list1.append([])

In [37]: list1
Out[37]: ['b', (1,), 3, []]

In [38]: list1[3].append('abc123')

In [39]: list1
Out[39]: ['b', (1,), 3, ['abc123']]

In [41]: range(5)
Out[41]: [0, 1, 2, 3, 4]

In [42]: list1.extend(range(5))

In [43]: list1
Out[43]: ['b', (1,), 3, ['abc123'], 0, 1, 2, 3, 4]

In [44]: a
Out[44]: 'abcde'

In [45]: list1.extend(a)

In [46]: list1
Out[46]: ['b', (1,), 3, ['abc123'], 0, 1, 2, 3, 4, 'a', 'b', 'c', 'd', 'e']

3.6) 字典类型:dict

turn to 2018-11-21

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

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,744评论 0 10
  • 基础语法 运行 Python 交互式解释器 在命令行窗口执行python后,进入 Python 的交互式解释器。 ...
    小天真_5eeb阅读 1,404评论 0 36
  • 物竞天择,适者生存。只有不断的刷新,更替,竞争,伤害。提高自身是为万能钥匙,站在顶端的人选择的权利多,俯视下面那些...
    哈里登登阅读 216评论 0 0
  • 有很长的一段时间,我离开了土马。那时我硬着头皮做完了20个演讲,后面的稿子越来越难写,我又恐惧又绝望,因为我会讲的...
    罗伯特阿里斯托芬大宝阅读 266评论 0 0
  • 【1115打卡话题】 今天的文章《你有找到自己内在的驱动力了吗?》你有什么感悟? 注意力 注意力>时间>金钱。 可...
    石三英语阅读 171评论 0 1