python的简介(一) 1. Python的种类 2. Python环境  3. python入门 4. 内容编码方式 5. python注释表示 6. 执行脚本传入参数 7. pyc 文件 8. 变量 9. 条件语句if 10. while循环 11. 数据类型 12. 数据类型运算 13. 练习题

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

以上除PyPy之外,其他的Python的对应关系和执行流程如下:

python的简介(一)
1. Python的种类
2.
Python环境 
3.
python入门
4.
内容编码方式
5.
python注释表示
6. 执行脚本传入参数
7. pyc 文件
8. 变量
9.
条件语句if
10. while循环
11.
数据类型
12.
数据类型运算
13.
练习题 

2. Python环境 

2.1 安装Python

2.1.1 windows安装(python2)

 

1、下载安装包

    https://www.python.org/downloads/

2、安装

    默认安装路径:C:python27

3、配置环境变量

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

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

2.1.2 windows安装(python3)

https://www.python.org/getit/

python的简介(一)
1. Python的种类
2.
Python环境 
3.
python入门
4.
内容编码方式
5.
python注释表示
6. 执行脚本传入参数
7. pyc 文件
8. 变量
9.
条件语句if
10. while循环
11.
数据类型
12.
数据类型运算
13.
练习题

下载64位程序包python-3.5.2-amd64.exe

python的简介(一)
1. Python的种类
2.
Python环境 
3.
python入门
4.
内容编码方式
5.
python注释表示
6. 执行脚本传入参数
7. pyc 文件
8. 变量
9.
条件语句if
10. while循环
11.
数据类型
12.
数据类型运算
13.
练习题

选择

下一步

python的简介(一)
1. Python的种类
2.
Python环境 
3.
python入门
4.
内容编码方式
5.
python注释表示
6. 执行脚本传入参数
7. pyc 文件
8. 变量
9.
条件语句if
10. while循环
11.
数据类型
12.
数据类型运算
13.
练习题

windows python3.5和2.7 共存

D:Program FilesPython35目录下python.exe重命名为python3.exe

关于pip的使用
若需要安装Python2的库,执行python -m pip install xxxx即可,xxxx是库的名字。
若需要安装Python3的库,执行python3 -m pip install xxxx即可。

2.1.3 linux安装(python2)

yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python,查看默认Python版本 python -V

1、安装gcc,用于编译Python源码

yum install -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel gcc ncurses-devel libpcap-devel wget bzip2-devel

2、下载源码包

https://www.python.org/ftp/python/

3、解压并进入源码文件

4、编译安装

mkdir -p /usr/local/python/2.7.10/lib

./configure --enable-shared --prefix=/usr/local/python/2.7.10 LDFLAGS="-Wl,-rpath /usr/local/python/2.7.10/lib"

make

make install

5、查看版本

/usr/local/python/2.7.10/bin -V

6、修改默认Python版本

mv /usr/bin/python /usr/bin/python2.6

ln -fs /usr/local/python/2.7.10/bin/python2.7 /usr/bin/python

7、防止yum执行异常,修改yum使用的Python版本

vi /usr/bin/yum

将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6nux安装(python3)

2.1.4 Linux安装(python3

yum install -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel gcc ncurses-devel libpcap-devel wget bzip2-devel

tar zxvf Python-3.5.2.tgz
cd Python-3.5.2
mkdir -p /usr/local/python/3.5.2/lib
./configure --enable-shared --prefix=/usr/local/python/3.5.2 LDFLAGS="-Wl,-rpath /usr/local/python/3.5.2/lib"
make
make install
ln -fs /usr/local/python/3.5.2/bin/python3.5 /usr/bin/python3

linux:

Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python

查看默认Python版本

python -V 

1、安装gcc,用于编译Python源码

    yum install gcc

2、下载源码包,https://www.python.org/ftp/python/

3、解压并进入源码文件

4、编译安装

    ./configure

    make all

    make install

5、查看版本

    /usr/local/bin/python2.7 -V

6、修改默认Python版本

    mv /usr/bin/python /usr/bin/python2.6

    ln -s /usr/local/bin/python2.7 /usr/bin/python

7、防止yum执行异常,修改yum使用的Python版本

    vi /usr/bin/yum

将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

3. python入门

3.1 第一句Python代码

创建 hello.py 文件,内容如下:

print "hello,world"

执行 hello.py 文件,即: python  hello.py

python内部执行过程如下:

小结:
Python经过解释器分析哪几个阶段:
加载内存–> 词法分析–> 语法分析–> 编译字节码–> 执行字节码–> 机器码

3.2 解释器

上一步中执行 python /home/dev/hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。

如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

#!/usr/bin/env python

print "hello,world"

如此一来,执行: ./hello.py 即可。

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

4. 内容编码方式

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

① ASCII

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

② Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。
Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536

③ UTF-8
utF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存..

小结:
编码3种:ascii(256个,二进制8位长度表示)、unicode(至少二进制16位长度表示)、utf-8(同时可满足ascii和unicode两种表示,减少内存占用)
Python2.7版本默认是ascii码,只持256个,如果需要支持中文等字符,需使用utf-8编码模式,建议在代码的开头加入如下内容。声明编码
# -*- coding:utf-8 -*-

5. python注释表示

当行注释:# 被注释内容

多行注释:""" 被注释内容 """

6. 执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

#!/usr/bin/env python

# -*- coding: utf-8 -*- 

import sys

print sys.argv

7. pyc 文件

执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码

8. 变量

1、 声明变量

#!/usr/bin/env python

# -*- coding: utf-8 -*-  

name = "jimmy"

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
    ['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']

9. 条件语句if

9.1 if基本语句

if 条件

     print(”芝麻开门”)

else:

     print(芝麻不开门)

9.2 支持嵌套

if  1 == 1:

     if  2 == 2:

          print(“第一名”)

         print (“第二名”)

     else:

         print(“第三名”)

else:

print(“第四名”)

9.3 if elif

inp = input(‘请输入段位’)            

                       if inp == "钻石":

                            print('美女')

                       elif inp == "黄金":

                            print('白银')

                       elif inp == "青铜":

                            print('一线小明星')

                       else:

                            print('城管')

                           

                       print('开始服务把....')

补充:pass

                       if 1==1:

                            pass

                       else:

                            print('sb')

                                                                                   

10. while循环

10.1.1 基本循环

while 条件:  

    # 循环体

    # 如果条件为真,那么循环体则执行,死循环

# 如果条件为假,那么循环体不执行

10.1.2  while else使用

10.1.3 break

break用于退出所有循环,终止所有循环

while True:

    print "123"

    break

    print "456"

10.1.4 continue

continue用于退出当前循环,下面不执行,继续下一次循环,终止当前循环

使用while循环输入 1 2 3 4 5 6     8 9 10

 

永远不输出1111111111

 

11. 数据类型

11.1.1 单值

数字

11.1.2 int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

11.1.3 long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

11.1.4 float(浮点型)

浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

11.1.5 complex(复数)

复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

注:Python中存在小数字池:-5 ~ 25

11.1.6 布尔值

  True或False
  1 或 0

11.1.7 字符串

"hello world"

12. 数据类型运算

12.1 字符串运算

加法

乘法

12.2 数字运算

>>> n1=10

>>> n3=3

>>> print(n1//n3)  取熵值

3

>>> print(n1/n3)  #除法

3.3333333333333335  

>>> print(n1%n3)  #取余数

1

13. 练习题

13.1 练习1

使用while循环输入 1 2 3 4 5 6     8 9 10

                       n = 1

                       while n < 11:

                            if n == 7:

                                 pass

                            else:

                                 print(n)

                            n = n + 1

                       print('----end----')

13.2 练习2

求1-100的所有数的和

                       n = 1

                       s = 0

                       while n < 101:

                            s = s + n                        

                            n = n + 1

                       print(s)

13.3 练习3

输出 1-100 内的所有奇数

                       n = 1

                       while n < 101:

                            temp = n % 2

                            if temp == 0:

                                 pass

                            else:

                                 print(n)

                            n = n + 1

                       print('----end----')

13.4 练习4

输出 1-100 内的所有偶数

                       n = 1

                       while n < 101:

                            temp = n % 2

                            if temp == 0:

                                 print(n)

                            else:

                                 pass

                            n = n + 1

                      

                       print('----end----')

13.5 练习5

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

                       n = 1

                       s = 0 # s是之前所有数的总和

                       while n < 100:

                            temp = n % 2

                            if temp == 0:

                                 s = s - n

                            else:

                                 s = s + n                        

                            n = n + 1

                       print(s)

13.6 练习6

用户登陆?(三次重试的机会)

     count = 0

         while count < 3:

              user = input('>>>')

              pwd = input('>>>')

              if user == 'alex' and pwd == '123':

                   print('欢迎登陆')

                   print('..........')

                   break

              else:

                   print('用户名或者密码错误')

              count = count + 1