pythonGuideFromZero-dataScience-1

摘要:
从 命令行交互式界面 开始

  1. 进入界面
  2. 计算器,number
  3. 尝试变量赋值
  4. 尝试字符串操作,string

千里之行,始于足下&

Python从零开始系列

交互式界面

理解命令行交互界面

python提供了一个命令行交互式界面。对于新手,可能一时半会儿难以理解 “交互界面”。为了便于理解,我们打个比方.比如cmd中,
我们运行

ping www.baidu.com

接着会有回显

C:\Users\0xff007>ping www.baidu.com

正在 Ping www.a.shifen.com [111.13.100.92] 具有 32 字节的数据:
来自 111.13.100.92 的回复: 字节=32 时间=15ms TTL=54
来自 111.13.100.92 的回复: 字节=32 时间=14ms TTL=54
来自 111.13.100.92 的回复: 字节=32 时间=15ms TTL=54
来自 111.13.100.92 的回复: 字节=32 时间=14ms TTL=54

111.13.100.92 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 14ms,最长 = 15ms,平均 = 14ms

C:\Users\0xff007>

这种输入指令,回显结果就式一种命令行交互界面。

进入python的交互界面

只要cmd里一个单词作为指令即可

python

回车后得到界面

C:\Users\0xff007>python
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

我们的指令就在 ">>>" 后输入

退出python的命令行交互界面

>>> exit()

入门必学"hello,Python world"

如下所示,只要使用print()函数,嵌入需要回显的字符串就好。

Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello,Python world")
hello,Python world
>>>

到这里,我们学会了简单的使用交互界面回显字符串。

计算器,number

python的命令行交互界面对于新手,最实惠的一个功能,可以当作计算器。
在命令行交互界面中,我们可以直接输入运算符连接数字的表达式来做运算,这听起来是不是很像小时候玩过的计算器。

下面大家一起来看一些例子

>>> 2+6 # 2+6 结果 8
8
>>> 2*6 # 2乘以6 结果12
12
>>> 6-2
4
>>>

注意,上面 表达式 2+6 后面#号 是注释符,其后所更内容是注释,我这里添加注释是为了方便大家理解。
更多例子
乘方

>>> 2**10
1024

除法

>>> 17//3
5
>>> 17/3
5.666666666666667
>>>

混合运算

>>> (30+3*5)%6
3
>>>

这时候可能有同鞋会发出疑问啦,可不可以用字符或字符串来存储一些值呢。答案是肯定的。这里我们简单的尝试一下。后续会有章节详细讲解

>>> num1 = 1024
>>> num1
1024
>>> num1 = 2048
>>> num1
2048
>>> num2 = 201314
>>> print(num2)
201314
>>> num1+num2
203362
>>> num3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'num3' is not defined
>>>

从上面结果可以看到,我们给num1赋值1024,此时num1的值就是1024。随后我们又赋值为2048,其值就变为2048。两个变量名在被赋予值的同时被声明,也因此可以参与运算了。最后我们试着call num3,发现回显traceback, 提示NameError,说,这个num3 未被定义。仔细看看我们的实验过程,确实没有给num3赋予任何值,也从未定义过声明过num3时什么东东。

到这里呢,我们学会了使用命令式交互脚本来做常见的数学计算,简单的变量赋值。同时我们第一次比较明白的看了一回错误回显,相信后续再遇到麻烦,大家就懂得从这些错误回显中寻找蛛丝马迹了。

ps 新手很容易困惑的一件事儿, 等号和赋值号容易混淆。在coding world,数学中的 = 表示其右边的值或表达式的值赋予左边的变量
而等号变成了 == 或者 === 之类的,在python中是 ==

另外值得一提的是,除了 int 和float类型,python的number还支持complex numbers,以及十进制二进制等,这里就不一一列举了

>>> 3+4j
(3+4j)
>>>

最后我们再来试试比较有实际意义的计算。注意,其中的 _ 表示暂存上次计算数值,用于计算计算。最后呢,我们用round()函数是结果保留了小数点后的两位。

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

尝试字符串操作

学习一些高级编程语言时,都会学习字符串处理,很多时候字符串处理可以带来极大的方便。这个过程中,我们可以更深刻的认识python的语言特性

  1. 字符串输出
    直接从python3.6.1的doc中抽取一小段演示代码
>>> 'spam eggs'  # 使用单引号的字符串
'spam eggs'
>>> 'doesn\'t'  # 使用 反斜杠 \' 转义 ,让反斜杠后的 单引号不被识别为引号对的结束。这样字符串里就可以显示出引号了
"doesn't"
>>> "doesn't"  # 使用双引号也可以再字符串中表达出单引号。
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'

有时候,我们希望回显出可读性更高的字符串,又或者时拼接及其灵活的字符串。这时候我们可以再次尝试print()

>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
>>> print('"Isn\'t," she said.')
"Isn't," she said.
>>> s = 'First line.\nSecond line.'  # \n 是换行符 ,
>>> s  # 不用print()函数时, \n 不会被理解为换行 ,所以结果中会包含 字符串\n,并且显示结果时一行
'First line.\nSecond line.'
>>> print(s)  # 用print() 函数来打印字符串的花, \n 就会被识别为换行符,结果就会在\n 后新起一行显示其后内容
First line.
Second line.
  1. 左斜杠的神奇之处
    有时候,我们也许不想要print()函数中的 \ 生效,可以试着在字符串的引号前加上一个r
>>> print('C:\some\name')  # here \n means newline!
C:\some
ame
>>> print(r'C:\some\name')  # note the r before the quote
C:\some\name
  1. 输出多行字符串
    输出多行字符串
>>> print('''hello
... world
... llls''')
hello
world
llls
>>> print("""
... llll
... lslos
... osk??
... lsls""")
llll
lslos
osk??
lsls
>>> print("""\
... sss
... sdd
... fe""")
sss
sdd
fe
>>>
  1. diy一个命令帮助的回显
>>> print("""\
... Usage: thingy [OPTIONS]
...      -h                        Display this usage message
...      -H hostname               Hostname to connect to
... """)
Usage: thingy [OPTIONS]
    -h                        Display this usage message
    -H hostname               Hostname to connect to

>>> print("""
... Usage: thingy [OPTIONS]
...      -h                        Display this usage message
...      -H hostname               Hostname to connect to
... """)

Usage: thingy [OPTIONS]
    -h                        Display this usage message
    -H hostname               Hostname to connect to

>>>
  1. 字符串拼接
    两个字符串直接拼接
>>> 'Py' 'thon'
'Python'
带运算的字符串拼接
>>> # 3 times 'un', followed by 'ium'
>>> 3 * 'un' + 'ium'
'unununium'
变量存贮字符串并拼接.注意,字符串拼接要用 加号 + .不然会报错哦, 会直接提示语法错误的.
>>> prefix = 'Py'
>>> prefix 'thon'  # can't concatenate a variable and a string literal
  ...
SyntaxError: invalid syntax
>>> ('un' * 3) 'ium'
  ...
SyntaxError: invalid syntax
>>> prefix + 'thon'
'Python'
  1. 字符串索引
    python的字符串是可以索引的,看下面这个图示,大家应该很容易明白的

    var1= "PYTHON" # 定义一个字符串变量var1

    0P1Y2T3H4O5N6

    这样,对于字符串 var1[0,3]则表示下标0与下标3之间的字符串 PYT .

    如果还是不明白,再看看这个

     +---+---+---+---+---+---+
     | P | y | t | h | o | n |
     +---+---+---+---+---+---+
     0   1   2   3   4   5   6
    -6  -5  -4  -3  -2  -1
    
    

    做几个小实验,帮助理解

    >>> word = "visul Studio Code"
    >>> word
    'visul Studio Code'
    >>> word[0]
    'v'
    >>> word[2]
    's'
    >>> word[2:]
    'sul Studio Code'
    >>> word[5:]
    ' Studio Code'
    >>> word[6:12]
    'Studio'
    >>> word[:12]
    'visul Studio'
    >>> len(word) #获取 word的字符串长度
    17
    >>> word[18] #超出下标范围会报错
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    IndexError: string index out of range
    >>> word[6:12]+" python" #字符串截取再拼接
    'Studio python'
    

通过上面的学习,大家应该也发现了命令行交互的一个好处,给指令,立刻生效。无论赋值,还是一些回显行为,都是即刻执行。

这一篇,我们了解到了如下知识

  • 命令行交互界面
  • number
  • string

为了更深入学习和理解python,大家可以自行阅读python手册,手册通常位于python目录

比如我的在 D:\codeLang\Python36\Doc\python361.chm

双击打开即可
也可以通过开始菜单打开手册

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

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,373评论 0 17
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,454评论 6 428
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,671评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,630评论 4 418