pythonGuideFromZero-dataScience-

作者: ipaddr | 来源:发表于2017-04-04 17:26 被阅读56次

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

    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

    相关文章

      网友评论

        本文标题:pythonGuideFromZero-dataScience-

        本文链接:https://www.haomeiwen.com/subject/yqhzottx.html