zoukankan      html  css  js  c++  java
  • 初始python

    一、学前准备

    对于一个小白来说,我推荐一本书,适合初学者,我个人觉得内容简单易懂,又能很好的带着我们入门python,书名叫《简明python教程》。

    对于为什么要选python,我在这里不打算写一些虚空的python吹捧之词,我觉得两个原因足以让自己坚持下去:兴趣+钱多(前景好)!

    另外,就是对于初次接触python的童鞋,在这里说一下python的种类:

    • Cpython
    •     Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
    • Jyhton
    •     Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
    • IronPython
    •     Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
    • PyPy(特殊)
    •     Python实现的Python,将Python的字节码字节码再编译成机器码。
    • RubyPython、Brython ......

    接下来的日子,我们主要在pypy上下功夫。why?因为PyPy是在Python的基础上对Python的字节码进一步处理,从而提升执行速度!

    然后一张图说明一下学习态度的问题:(图是从群里粘过来的,至于发图人从哪里搞的就不晓得了,O(∩_∩)O哈哈~)

    二、环境搭建

    1、Windows系统环境的安装

    大多数人应该用的是Windows操作系统,Windows上安装软件也特别简单,在www.python.org官网上把Windows版的python2.7和python3.5安装包下载下来点击安装就OK了,这里需要强调的是,在安装过程中需要把python的安装路径粘贴到PATH环境变量中。

    配置环境变量:

    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用分号;分割】

    如:系统原有的值;C:python27,切记前面有分号

    我这里是把它装到E盘了,所以在原有默认的路径后加了我的安装路径。

    2、Linux系统环境的安装

    Linux系统中自带有python软件,但是是2.6版本的,需要升级到2.7(先用python-v查看一下自己系统中python的版本。)

     (1)从官网下载python安装包(这个版本可以是任意版本3.3 2.7 2.6等等)

    wget http://python.org/ftp/python/2.7/Python-2.7.tar.bz2 

     (2)解压并安装

    • [root@tina ~]# tar -jxvf Python-2.7.tar.bz2
    • [root@tina ~]# cd Python-2.7
    • [root@tina Python-2.7]# ls
    • [root@tina Python-2.7]# ./configure
    • [root@tina Python-2.7]# make all
    • [root@tina Python-2.7]# make install
    • [root@tina Python-2.7]# make clean

    *注:make clean 这一步可以不执行,执行后的结果如下:

    """find . -name '*.py[co]' -exec rm -f {} ';'

    find . -name '*.o' -exec rm -f {} ';'
    find . -name '*.s[ol]' -exec rm -f {} ';'
    find build -name 'fficonfig.h' -exec rm -f {} ';' || true
    find build -name 'fficonfig.py' -exec rm -f {} ';' || true
    rm -f Lib/lib2to3/*Grammar*.pickle

    """

    (3)更改系统默认路径

    • [root@tina Python-2.7]# /usr/local/bin/python2.7

    系统的默认python放置在/usr/bin/python2.6处(这个2.6是系统默认版本) 
    所以我们在升级版本后需要建立软连接指向当前系统默认的python目录处,让系统使用新的python版本

    • [root@tina ~]# mv /usr/bin/python /usr/bin/python2.6
    • mv: overwrite `/usr/bin/python2.6'? y                                           ==>对系统默认版本python进行操作
    • [root@tina ~]# ln -s /usr/local/bin/python2.7 /usr/bin/python          ==>第一个路径是新安装的python版本路径,而第二个路径是系统默认路径
    • [root@tina ~]# python -V                                                            ==>Python 2.7当前版本
    PS:
    
    a、修改了新的python版本,那么原先安装的python插件都不在新版本python目录下,因此需要重新安装
    
    b、有些人更新了python版本无法使用yum,需要为yum修改它的配置文件

     (4)修改yum源的头部注释

    • [root@tina ~]# vim /usr/bin/yum  ==> 将文件头部的#!/usr/bin/python改成#!/usr/bin/python2.6(防止yum执行异常,修改yum使用的Python版本)

     三、牛刀小试

     环境搭建好了以后,我们就可以随心所欲的折腾了,虽然此刻我们还知道的不多,然而却有一颗不怕犯错的心呀,开启错误中前进之路!吼吼~

    1、编写今生第一段小代码:hello world!

    在还没有安装IDE时,我们可以写在notepad++记事本里,当然还有其他的高大上的编辑器,选哪个都行,随意。

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    #author:tina
    print("hello world!")

    码完上面代码后,保存并复制下文档保存路径,打开Windows中的cmd,输入python E:pythonhello.py (根据自己文档的实际保存路径)执行代码文件。

    正确的执行结果应该是下图中的:

    当然,也有不顺利的时候,比如报错如下图:

    报错的原因是:
    python默认是ACK编码,有中文时就编译出错,所以采用utf-8编码(ascii码,Unicode(万国码),utf-8)
    万国码Unicode最少用2个字节,造成内存浪费,所以推出utf-8,utf-8是对Unicode的加工,其中英文用8位,欧洲16位,中文24位。。。还有其他的编码,eg:GBK

    2、编写第二个小代码:连续输出数字

    新建一个文档,连续输出1-10

    import time
    start = 1 flag = True while flag: print(start) if start == 10: flag = False start = start + 1 time.sleep(1) print("end")

    当然有更精简的写法,思路不同,结果一样就行,优秀代码可以借鉴:

    i = 0
    while i<10:
       i += 1
       print(i)

    正确的输出结果应该如下图:

    而我们要关注不顺利执行时的报错,如下图:

    在这里解释下第二个常见报错,IndentationError: unexpected indent,这个错误很常见,是缩进错误,看到IndentationError就要马上返回代码行检查代码缩进是否一致。

    3、写代码时的小技巧(—*—其实也算不上技巧啦—*—):

    • 一个等号是赋值,两个等号是比较
    • 缩进:默认四个空格
    • 执行Python代码时,如果导入了其他的 .py 文件,在执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。(代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。)
    • 解释器执行python程序经过哪几个阶段:加载内存、词法分析、语法分析、编译 --> 字节码,执行字节码,机器码
    • ASCII(8位)、UNICODE(最少16位)、UTF-8(根据实际进行调整)
    • 注释有两种 单行和多行(#和"""都表示注释,但是#表示注释一行代码,""" """代码注释多行代码。)
    • 捕捉脚本参数 用sys.argv (需要导入sys模块)
    • 变量声明有三个规则:
    •     a.只能有字母大小写、下滑线、数字;
          b.变量名的第一个位置不能是数字;
          c.避免使用python的关键字,系统内置关键字不要使用:
      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
    • C语言里没有字符串,所以Python的字符串不改变

    四、通过一些需求学习流程控制语句

    1、求1-100的所有数的和

    2、输出1-100内的所有奇数

    3、输出1-100内的所有偶数

    4、求1-2+3-4+5...99的所有数的和

    5、用户登录(三次机会重试)

  • 相关阅读:
    kali linux DVWA config 问题解决方案
    HashMap&线程
    Synchronized和java.util.concurrent.locks.Lockde区别联系
    线程池
    信息嗅探
    java子类对象和成员变量的隐写&方法重写
    Java中Super和final关键字以及异常类
    523. Continuous Subarray Sum
    494. Target Sum
    477. Total Hamming Distance
  • 原文地址:https://www.cnblogs.com/tina-python/p/5441521.html
Copyright © 2011-2022 走看看