一、Python起源
                aaarticlea/png;base64,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" alt="" />

  自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。

  Python的创始人为Guido van Rossum,人称“龟叔”。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

  Python 已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率是呈线性增长。由于Python语言的简洁、易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

二、Python能干什么

三、Python的优缺点

四、编程风格

1、语法要求
–缩进统一
  同一级别的代码必须一致!(并且建议所有级别的代码的缩进建议是相同的--必须,开发规范里建议4个空格)建议不要用table因为如果想把代码在windows上运行,linux和windows的table的定义不同!!!!
好的编辑器能提高开发代码的效率!
所有python,第一行一定要顶到行头! 同一级别的新的都要顶到行头。

2、设计哲学

Python的设计哲学是“优雅”、“明确”、“简单”。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。这些准则被称为“ Python格言”。在Python解释器内运行import this可以获得完整的列表

1.优美胜于丑陋(Python 以编写优美的代码为目标)

2.明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

3.简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

4.复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁,多加注释!)

5.扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

6.间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题,一行代码不能超过80个字符,你可以换行或起一个新的逻辑来写)

7.可读性很重要(优美的代码是可读的)

8.即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上),觉对不允许特列必须按照这个规则

9.不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)

10.当存在多种可能,不要尝试去猜测!

11.而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)

12.虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )

13.做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

14.如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)

15.命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召

3、变量
标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)
标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
有效 标识符名称的例子有i、__my_name、name_23和a1b2_c3。  
无效 标识符名称的例子有2things、this is spaced out和my-name。
标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。

常量:数值不变的
变量:数值会变动的量

在python中没有常量的,所有的数值都可以改变,但是他依然有个常量的概念,但是是人为的你不去改变他,定义一个常量应该用大写的形式。

AGE = 10 这个就是常量,他是大写的!是约定俗成的。但是他是可以改的!
name =  'Tim Luo' 这个是变量

##这里需要注意下,设置变量的时候不能设置python自带的内置方法比如type
以下关键字不能声明为变量名

1 ['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']

变量的起名的方式就是标识符名称,通过标识符去调用内存中的数据。

五、Python 解释器

六、Python 环境搭建

Python可应用于多平台包括 Linux 和 Mac OS X。你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。
  • Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。)
  • Win 9x/NT/2000
  • Macintosh (Intel, PPC, 68K)
  • OS/2
  • DOS (多个DOS版本)
  • PalmOS
  • Nokia 移动手机
  • Windows CE
  • Acorn/RISC OS
  • BeOS
  • Amiga
  • VMS/OpenVMS
  • QNX
  • VxWorks
  • Psion
  • Python 同样可以移植到 Java 和 .NET 虚拟机上。

 Python下载

Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:

Python官网:http://www.python.org/

你可以在一下链接中下载Python的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。

Python文档下载地址:www.python.org/doc/


Python安装

Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。

您需要下载适用于您使用平台的二进制代码,然后安装Python。

如果您平台的二进制代码是不可用的,你需要使用C编译器手动编译源代码。

编译的源代码,功能上有更多的选择性, 为python安装提供了更多的灵活性。

以下为不同平台上安装Python的方法:

Unix & Linux 平台安装 Python:

以下为在Unix & Linux 平台上安装 Python 的简单步骤:

  • 打开WEB浏览器访问http://www.python.org/download/
  • 选择适用于Unix/Linux的源码压缩包。
  • 下载及解压压缩包。
  • 如果你需要自定义一些选项修改Modules/Setup
  • 执行 ./configure 脚本
  • make
  • make install

执行以上操作后,Python会安装在 /usr/local/bin 目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号。

Window 平台安装 Python:

以下为在 Window 平台上安装 Python 的简单步骤:

  • 打开WEB浏览器访问http://www.python.org/download/
  • 在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件 , XYZ 为你要安装的版本号。
  • 要使用安装程序 python-XYZ.msi, Windows系统必须支持Microsoft Installer 2.0搭配使用。只要保存安装文件到本地计算机,然后运行它,看看你的机器支持MSI。Windows XP和更高版本已经有MSI,很多老机器也可以安装MSI。
  • 下载后,双击下载包,进入Python安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。

MAC 平台安装 Python:

最近的Macs系统都自带有Python环境,但是自带的Python版本为旧版本,你可以通过链接http://www.python.org/download/mac/ 查看MAC上Python的新版功能介绍。

MAC上完整的Python安装教程你可以查看:http://homepages.cwi.nl/~jack/macpython/index.html

 

环境变量配置

程序和可执行文件可以在许多目录,而这些路径很可能不在操作系统提供可执行文件的搜索路径中。

path(路径)存储在环境变量中,这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息。

Unix或Windows中路径变量为PATH(UNIX区分大小写,Windows不区分大小写)。

在Mac OS中,安装程序过程中改变了python的安装路径。如果你需要在其他目录引用Python,你必须在path中添加Python目录。

在 Unix/Linux 设置环境变量

  • 在 csh shell: 输入

    setenv PATH "$PATH:/usr/local/bin/python"

    , 按下"Enter"。

  • 在 bash shell (Linux): 输入 
    export PATH="$PATH:/usr/local/bin/python"

    ,按下"Enter"。

  • 在 sh 或者 ksh shell: 输入 
    PATH="$PATH:/usr/local/bin/python"

    , 按下"Enter"。

注意: /usr/local/bin/python 是Python的安装目录。

在 Windows 设置环境变量

在环境变量中添加Python目录:

  • 在命令提示框中(cmd) : 输入

    path %path%;C:\Python 

    , 按下"Enter"。

注意: C:\Python 是Python的安装目录。


Python 环境变量

下面几个重要的环境变量,它应用于Python:

变量名 描述
PYTHONPATH PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
PYTHONSTARTUP Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此文件中变量指定的执行代码。
PYTHONCASEOK 加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写.
PYTHONHOME 另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。

七、 Python入门

 一、第一句python

vim hello.py 创建一个文件

1
2
3
4
#!//usr/bin/env python
#-*- conding:utf-8 -*-
  
print "Hello World"

执行:

1
2
3
python hello.py 即可
或者增加执行权限:chmod 755 hello.py
./hello.py

解释:

1
2
1 #!//usr/bin/env python   #脚本用env启动的原因,是因为脚本解释器在linux中可能被安装于不同的目录,env可以在系统的PATH目录中查找。同时,env还规定一些系统环境变量。env就是:envirnment 环境变量)
2 # -*- coding: utf-8 -*- 指定编码类型为utf-8 (详情继续阅读)

二、编码

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

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

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

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

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

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),所以如果不指定编码类型,如果有中文就会报错。

三、Python的工作过程

python 把代码读到内存  2、词法语法分析 3、放到编译器  ---》 生成字节码   4、执行字节码 ---》生成机器码  CPU执行

四、执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
    Python内部提供的模块
    业内开源的模块
    程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

1
2
3
4
5
6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
    
import sys
    
print sys.argv

五、pyc文件

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

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。(任何字节码通过反编译都可以得到代码)

六、变量

字符串的值是不能被修改的,他在内存里是连续的,如果想改的话必须在后面预留所以不支持修改!
字符串特性,一旦修改,重新创建
例子:

1
2
3
name1 = "tianshuai"
name2 = name1
这里然后把name1 = "shuaige"

name2 变不变呢?其实是不变的结合上面的规则来:字符串特性,一旦修改,重新创建
name1 = "shuaige" name1的值变了,他会重新开辟一块内存空间!

注:

1
2
name1 = "tianshuai"
name2 = "tianshuai"

这里虽然他们的内存地址是相同的但是:他们的原理是各自在内存里开辟了一块内存空间,python给他进行了优化而已。有个池的概念(把你最常用的值做一个指向)!

集合又不相同:

1
2
name1 = ['tianshuai','eric','alex']  
如果把name2 = name1

name1 这个集合增加一个,现在name2 变不变呢?会变的集合和字符串不同他的各个元素不是连续的,所以name2=name1指向后,name1增加 一个元素不会开辟一块新的空间,name2就会跟着改变。

七、输入

1
2
3
4
5
6
#!/usr/bin/env python# -*- coding: utf-8 -*-
# 将用户输入的内容赋值给 name 变量
   
name = input("请输入用户名:")
   
# 打印输入的内容print name

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

 

八、流程控制

if...else      和   if....elif...elif..........else

需求一、用户身份认证

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import getpass
name = raw_input("请输入用户名:")
pwd = raw_input("请输入密码:")
if name == "tianshuai" and pwd == "123":
    print "登录成功"
else:
    print "登录失败"

测试:

1
2
3
4
5
6
7
8
9
root@tim:/home/tim# python tianshuai.py
请输入用户名:tianshuai
请输入密码:
登录成功
root@tim:/home/tim# python tianshuai.py
请输入用户名:tianshuai
请输入密码:
登录失败
root@tim:/home/tim#

需求二、根据用户输入内容输出其权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python
#-*- coding:utf-8 -*-
'''
tianshuai--->普通用户
eric--->管理用户
alex--->超级用户
'''
name = raw_input("请输入用户名:")
  
if name == "tianshuai":
    print "普通用户"
elif name == "eric":
    print "管理用户"
elif name == "alex":
    print "超级用户"
else:
    print "没有此用户"

输出结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
root@tim:/home/tim# python tianshuai.py
请输入用户名:tianshuai
普通用户
root@tim:/home/tim# python tianshuai.py
请输入用户名:eric
管理用户
root@tim:/home/tim# python tianshuai.py
请输入用户名:alex
超级用户
root@tim:/home/tim# python tianshuai.py
请输入用户名:lksjdfsdf
没有此用户
root@tim:/home/tim#

for i in range(100)    and   for i in xrange(1,100)

需求一、猜数字游戏

有3次机会,如果3次中没有猜中给予提示,3次都没有猜中,鼓励!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import random   #随机模块
rand_num = random.randrange(10)
  
for in range(3):
    guess_num = int(raw_input("请猜测数字:"))
    if guess_num == rand_num:
        print "太棒了你猜对了"
        break
    elif guess_num > rand_num:
        print "你猜测的有点大了,请尝试小点的数字"
    else:
        print "你猜测的有点小了,请尝试大点的数字"
else:
    print "不要灰心,这次只是运气不好,请下次尝试"
  
print "这个真正的数字是:%" % rand_num

输出结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
root@tim:/home/tim# python tianshuai.py
请猜测数字:8
你猜测的有点大了,请尝试小点的数字
请猜测数字:7
你猜测的有点大了,请尝试小点的数字
请猜测数字:6
你猜测的有点大了,请尝试小点的数字
不要灰心,这次只是运气不好,请下次尝试
这个真正的数字是:6
root@tim:/home/tim# python tianshuai.py
请猜测数字:5
太棒了你猜对了
这个真正的数字是:5

while 循环

他的原理是:当条件为真的时候运行,当条件为假的时候停止!

没有一个规定次数,不设置条件永远循环下去。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import time
count = 0
while True:
    count +=1
    print "loop",count
    time.sleep(3)
#这个循环3秒钟自+1 ,后无线循环只要这个条件为”真“,就无限循环下去
那看下下面的例子
#!/usr/bin/env python
#-*- coding:utf-8 -*-
  
import time
cout = 0
  
while cout < 3:
    cout +=1
    print "shuai",cout
    time.sleep(3)
      
#这个循环每3秒循环一次,当条件cout < 3的时候为真(自己设置的条件),当cout 不小于3的时候为假(false)停止。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#
import random
rand_num = random.randrange(10)
try_cout = 0
  
while try_cout < 3:
    guess_num = int(raw_input("请输入猜测的数字:"))
    if guess_num > 10:
        print "输入的数字超出范围了"
        continue
    if guess_num == rand_num:
        print "哇!太棒了你猜对了"
        break
    elif guess_num < rand_num:
        print "你猜的数字有点小了,请尝试大点的数字"
    else:
        print "你猜的数字有点大了,请尝试小点的数字"
  
    try_cout +=1
else:
    print "不要灰心你,这次只是运气不好,请下次尝试"
print "这个真正的数字是:%d"  % rand_num
#当执行到guess_num> 10 如果你输入的是大于10的数字那么将会执行continue,就会跳出档次循环,没有执行try_cout +=1 所以没有计数!

注:continue 是跳出当前循环,break是跳出整个循环!

有个需求,我想返回我的上层怎么做,用标识位!如下面的例子:

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#
while True:
    print "我是第一层"
    while True:
        print "我是第二层"
        while True:
            print "我是第三层"

这就是个死循环,当执行到第三个循环的时候就无限循环,这里有人回想,用break行不行,不行如下:

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#
while True:
    print "我是第一层"
    break
    while True:
        print "我是第二层"
        break
        while True:
            print "我是第三层"
            break

这个的输出结果:

1
2
root@tim:/home/tim# python tianshuai.py
我是第一层

就只执行了第一个循环就跳出,不我们想要的效果,那就用到“标志位”了,工作中也有很多地方用到他:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#
count = 0
while True:
    print "我是第一层"
    jump_1_flag = False
    while True:
        print "我是第二层"
        jump_2_flag = False
        while True:
            count += 1
            print "我是第三层"     
            if count > 3:
                jump_2_flag = True
                break
        if jump_2_flag:
            print "第三层跳到我这里来了,我也要跳到第一层"
            jump_1_flag = True
            break
          
    if jump_1_flag:
        print "第二层和第三层跳到第一层了,我也要跳"
        break

执行结果:

九、Pthon运算符

Python算术运算符:

操作符 描述符 例子
+ 加法 - 对操作符的两侧增加值 a + b = 30
- 减法 - 减去从左侧操作数右侧操作数 a - b = -10
* 乘法 - 相乘的运算符两侧的值 a * b = 200
/ 除 - 由右侧操作数除以左侧操作数 b / a = 2
% 模 - 由右侧操作数和余返回除以左侧操作数 b % a = 0
** 指数- 执行对操作指数(幂)的计算 a**b = 10 的幂 20
// 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商。 9//2 =  4 而 9.0//2.0 = 4.0
1
2
3
4
5
6
7
8
>>> a = 21>>> b = 10
>>> c = 0
>>> c = + b ; print c
31>>> c = -b ; print c11>>> c = * b ; print c210
>>> c = / b ; print c
21
>>> c = % b ; print c
1

Python的比较操作符:

运算符 描述 示例
== 检查,两个操作数的值是否相等,如果是则条件变为真。 (a == b) 不为 true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 (a != b) 为 true.
<> 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 (a <> b) 为 true。这个类似于 != 运算符
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 (a > b) 不为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 (a < b) 为 true.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 (a >= b) 不为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 (a <= b) 为 true.
1
2
3
4
5
6
7
8
>>> a = 21>>> b = 10
>>> c = 0
>>> c = + b ; print c
31>>> c = -b ; print c11>>> c = * b ; print c210
>>> c = / b ; print c
21
>>> c = % b ; print c
1

Python逻辑运算符:

运算符 描述 示例
and 所谓逻辑与运算符。如果两个操作数都是真的,那么则条件成立。 (a and b) 为 true.
or 所谓逻辑OR运算符。如果有两个操作数都是非零然后再条件变为真。 (a or b) 为 true.
not 所谓逻辑非运算符。用于反转操作数的逻辑状态。如果一个条件为真,则逻辑非运算符将返回false。

not(a and b) 为 false.

例子:

and运算,都为真时为真
>>> 9 8 and 9 10
True
>>> 9 8 and 9 10
False
 
or运算,有一个为真的时候即可为真
>>> 9 8 or 9 10
True
>>> 9 8 or 9 10
False
>>>
 
not运算,假为真真为假
>>> not 6.2 <= 6
True
>>> not 6.2 >= 6
False
>>>

Python赋值运算符:

运算符 描述 示例
= 简单的赋值运算符,赋值从右侧操作数左侧操作数 c = a + b将指定的值 a + b 到  c
+= 加法AND赋值操作符,它增加了右操作数左操作数和结果赋给左操作数 c += a 相当于 c = c + a
-= 减AND赋值操作符,它减去右边的操作数从左边操作数,并将结果赋给左操作数 c -= a 相当于 c = c - a
*= 乘法AND赋值操作符,它乘以右边的操作数与左操作数,并将结果赋给左操作数 c *= a 相当于 c = c * a
/= 除法AND赋值操作符,它把左操作数与正确的操作数,并将结果赋给左操作数 c /= a 相当于= c / a
%= 模量AND赋值操作符,它需要使用两个操作数的模量和分配结果左操作数 c %= a is equivalent to c = c % a
**= 指数AND赋值运算符,执行指数(功率)计算操作符和赋值给左操作数 c **= a 相当于 c = c ** a
//= 地板除,并分配一个值,执行地板除对操作和赋值给左操作数 c //= a 相当于 c = c // a
1
2
3
4
5
6
7
8
>>> a = 21
>>> b = 10
>>> c = 0
>>>
>>> c = +b
>>> c += a ; print c
52
>>> c += is = + a

循序渐进Python3(一)-- 初识Python的更多相关文章

  1. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  2. 初识python(二)

    初识python(二) 1.变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用. 1.1 声明变量: #!/usr/bin/env python # -*- coding: utf- ...

  3. 初识python (一)

    初识Python(一) python2和python3的一些区别 Python2 和 Python3 区别汇总:http://www.cnblogs.com/bigtreei/p/7806288.ht ...

  4. python学习【第二篇】初识python

    python的安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机] ...

  5. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  6. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  7. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  8. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  9. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

  10. 2017-06-22初识python

    初识python #!/usr/bin/env python (python解释器的文件路径)# -*- coding:utf-8 -*- (使用的编码内型)# python 2.7 <需要加第 ...

随机推荐

  1. 关于只针对ie7浏览器的css问题

    如代码: .centerDiv .search_k2{ margin-left: 18px; *margin-left: 9px; margin-top: 10px; height: 40px;} 中 ...

  2. Codeforces Round #163 (Div. 2)

    A. Stones on the Table \(dp(i)\)表示最后颜色为\(i\)的最长长度. B. Queue at the School 模拟. C. Below the Diagonal ...

  3. 《C与指针》第四章练习

    本章问题 1.Is the following statement legal?If so,what does it do? (下面的语句是否合法,如果合法,它做了什么) 3 * x * x - 4 ...

  4. yum info 查不到nginx下载info的问题

    如果查看nginx信息提示nginx找不到,那么可以通过修改rpm源来进行后续步骤,执行命令:rpm -ivh http://nginx.org/packages/centos/6/noarch/RP ...

  5. 原型模式(Prototype Pattern)

    用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的. 原型模式多用于创建复杂 ...

  6. ps颜色模式

    HSB(hue.saturation.bright)  基于人眼 RGB 基于光 CMYK 基于色 LAB 基于大自然颜色库(理论)

  7. maven的SNAPSHOT版本和正式版本不同

    转载文章: http://www.huangbowen.net/blog/2016/01/29/understand-official-version-and-snapshot-version-in- ...

  8. 使用swipecard实现卡片视图左右滑动监听以及点击监听

     前言: 大家好,今天给大家介绍安卓一种特别实用有很酷炫的组件swipecard,当然这并不是安卓爸爸创造的,这是国内的一个我认为是大牛的一个人随便写着玩儿搞出来了,我看了他的代码介绍已经很清晰了,但 ...

  9. css中的浮动以及清除浮动

    对于css中的浮动问题,曾经有一段时间我是懵懵懂懂的感觉,对于float这个属性一直是似懂非懂的赶脚,对于这种让我们一直懵懵懂懂的知识点,我们就需要找个时间点,仔仔细细的去将它搞懂,从这个过程中我们也 ...

  10. 在Ext JS 6中添加本地化包

    我在官方论坛发的帖子终于有人恢复了,也终于知道如何添加本地化包了.在Ext JS 6中,Ext JS属于经典工具包,而本地化是包含在经典工具包中,因而在app.json中,要添加本地化包,必须在cla ...