初始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、用户登录(三次机会重试)

原文地址:https://www.cnblogs.com/tina-python/p/5441521.html