Python的创始人:吉多·范罗苏姆(Guido van Rossum)java
1989年,吉多·范罗苏姆为了在阿姆斯特丹打发圣诞节假期时间,开发的一个新的脚本解释程序,做为ABC语言的一种继承。python
Python社区的人赋予他“仁慈大君” 的称号,这一称号直接来自英国肥皂剧《Monty Python飞行马戏团》。Guido当初之因此选中Python做为语言的名字,是由于他太喜欢这部肥皂剧了。linux
TIOBE排行榜 c++
http://www.tiobe.com/tiobe-index/算法
优势:数据库
1)易于学习:Python有相对较少的关键字,结构简单,和一个明肯定义的语法,学习起来更加简单。编程
2)易于阅读:Python代码定义的更清晰。网络
3)易于维护:Python的成功在于它的源代码是至关容易维护的。多线程
4)一个普遍的标准库:Python的最大的优点之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。运维
5)互动模式:互动模式的支持,您能够从终端输入执行代码并得到结果的语言,互动的测试和调试代码片段。
6)可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工做)到许多平台。
7)可扩展:若是你须要一段运行很快的关键代码,或者是想要编写一些不肯开放的算法,你可使用C或C++完成那部分程序,而后从你的Python程序中调用。
8)数据库:Python提供全部主要的商业数据库的接口。
9)GUI编程:Python支持GUI能够建立和移植到许多系统调用。
10)可嵌入: 你能够将Python嵌入到C/C++程序,让你的程序的用户得到"脚本化"的能力。
缺点:
可是大量的应用程序不须要这么快的运行速度,由于用户根本感受不出来。例如,开发一个下载MP3的网络应用程序,C程序的运行时间须要0.001秒,而Python程序的运行时间须要0.1秒,慢了100倍,但因为网络更慢,须要等待1秒,用户能感受到1.001秒和1.1秒的区别吗?这就比如F1赛车和普通的出租车在北京三环路上行驶的道理同样,虽然F1赛车理论时速高达400千米,但因为三环路堵车的时速只有20千米,所以,做为乘客,你感受的时速永远是20千米。
这个缺点仅限于你要编写的软件须要卖给别人挣钱的时候。好消息是,在目前的互联网时代,靠卖软件受权的商业模式愈来愈少了,靠网站和移动应用卖服务的模式愈来愈多了,后一种模式不须要把源码给别人。另外,如今如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数很是优秀的像Linux同样的开源代码,咱们千万不要高估本身写的代码真的有很是大的“商业价值”。那些大公司的代码不肯意开放的更重要的缘由是代码写得太烂了,一旦开源,就没人敢用他们的产品了。
下载地址:https:
/
/
www.python.org
/
downloads
/
2.2.1 Windows:
1)添加到PATH
2)next
3)选择安装目录
4)安装成功
2.2.2 Linux:
解压、编译、安装
1 # tar zxvf Python-3.5.2.tgz 2 3 # cd Python-3.5.2 4 5 # ./configure 6 7 # make 8 9 # make install
1 Python 3.5.2 (default, Sep 28 2016, 14:44:21) 2 [GCC 4.1.2 20070626 (Red Hat 4.4.7-3)] on linux 3 Type "help", "copyright", "credits" or "license" for more information. 4 >>> print("Hello World!") 5 Hello World! 6 >>>
1 编辑文件:vi hello.py 2 写入代码:print("Hello Woold!") 3 执行文件:python hello.py
3.3.1 PyCharm 简介
PyCharm是由JetBrains打造的一款Python IDE,具有调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等功能。另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython!
3.3.2 PyCharm快捷键
在菜单栏Help下你点击Default Keymap Reference,能够打开一个PDF文件,里面列出了全部的快捷键,你能够打印出来备用。千万不要被这么多快捷键吓到了,平常编程常用的也就下面 几个,若是你想放弃鼠标,直接纯键盘编程,那么你会彻底爱上PyCharm。
◆ Basic code completion --- ”基本代码完成“快捷键
在平常写代码中,Basic code completion是用的比较多的,它能够智能的提示你或者帮你补全余下的代码。可是这一个快捷键是最有争议的一个快捷键,由于它的快捷方式是Ctrl + Space,会与咱们的输入法快捷键冲突,因此第一步咱们须要改变这个快捷键,我通常喜欢改为Ctrl + Comma。(如何修改默认快捷键见下面介绍)
◆ Tab
Tab 有2种状况:
1. 当你什么也没有输入的时候,Tab只是4个空格的缩进。
2. 当你输入前几个字母,PyCharm会智能的列出全部的候选项,这时候,你只要按下Tab,会默认选择第一个候选项。你也许以为这没什么,可是这个功能能保证你的双手不离口键盘的“字母区”,你不须要按上下左右键去选择候选项,提供输入速度,很是流畅。
◆ Shift+Enter --- 智能换行
class function鼠标在这(): 鼠标在function后面括号前面,我想换到下一行正确的位置写代码,那么就Shift+Enter 智能换行吧
◆ 其余快捷键 --- 若是你感兴趣,就看Default Keymap Reference吧,保证有惊喜
3.3.3 PyCharm默认快捷键的修改
上面提到,咱们须要修改Basic code completion的默认快捷键。
1)快捷键(Ctrl + Alt + S)打开设置面板,或者点击如图所示红方框里面的图标:
2)找到Keymap选项
3.3.4 PyCharm 的插件
由于PyCharm的功能已经很强大了,我通常不多用插件,这里介绍一个我很喜欢的插件,叫Native Neighbourhood,这个插件能够快速的打开操做系统的文件。
那么如何安装插件呢?
1)快捷键(Ctrl + Alt + S)打开设置面板,或者点击如图所示红方框里面的图标
2)找到Plugins
3.3.5 PyCharm 一下吧
那么如今就点击这个连接下载吧,不须要找注册码,先试用一个月再说!
http://www.jetbrains.com/pycharm/
使用符号#开头注释单行内容:
1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 # 文件名:test.py 4 5 # 第一个注释 6 print("Hello, Python!") # 第二个注释
输出结果:
1 Hello, Python!
使用三个单引号(''')或三个双引号(""")注释多行内容
1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 # 文件名:test.py 4 5 6 ''' 7 这是多行注释,使用单引号。 8 这是多行注释,使用单引号。 9 这是多行注释,使用单引号。 10 ''' 11 12 """ 13 这是多行注释,使用双引号。 14 这是多行注释,使用双引号。 15 这是多行注释,使用双引号。 16 """
变量是存储在内存中的值。这就意味着,在建立变量时,会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据能够被存储在内存中。所以,变量能够指定不一样的数据类型,这些变量能够存储整数,小数或字符。
1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 4 counter = 100 # 赋值整型变量 5 miles = 1000.0 # 浮点型 6 name = "John" # 字符串 7 8 print counter 9 print miles 10 print name
以上实例中,100,1000.0和"John"分别赋值给counter,miles,name变量。
执行以上程序会输出以下结果:
1 100 2 1000.0 3 John
如下关键字不能声明为变量名
['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']
用print()
在括号中加上字符串,就能够向屏幕上输出指定的文字。好比输出'hello, world'
,用代码实现以下:
1 >>> print("Hello World!") 2 Hello World!
print()
函数也能够接受多个字符串,用逗号“,”隔开,就能够连成一串输出:
1 >>> print('The quick brown fox', 'jumps over', 'the lazy dog') 2 The quick brown fox jumps over the lazy dog
Python提供了一个input()
,可让用户输入字符串,并存放到一个变量里。好比输入用户的名字:
1 >>> name = input() 2 James 3 >>> print(name) 4 James
python3中的input() 即为 python2中的raw_input()
1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 4 #name = raw_input("What is your name?") #only on python 2.x 5 name = input("What is your name?") 6 print("Hello " + name )
输入密码时,若是想要不可见,须要利用 getpass 模块中的 getpass 方法,即:
1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 4 import getpass 5 6 # 将用户输入的内容赋值给 name 变量 7 passwd = getpass.getpass("请输入密码:") 8 9 # 打印输入的内容 10 print(passwd )
场景一:用户登陆验证
1 # 提示输入用户名和密码 2 3 # 验证用户名和密码 4 # 若是错误,则输出用户名或密码错误 5 # 若是成功,则输出 欢迎,XXX! 6 7 8 #!/usr/bin/env python 9 # -*- coding:UTF-8 -*- 10 11 import getpass 12 13 name = input('请输入用户名:') 14 passwd = getpass.getpass('请输入密码:') 15 16 if name == "James" and passwd == "123": 17 print("欢迎,James!") 18 else: 19 print("用户名和密码错误")
场景2、猜年龄游戏
在程序里设定好你的年龄,而后启动程序让用户猜想,用户输入后,根据他的输入提示用户输入的是否正确,若是错误,提示是猜大了仍是小了。
循环10次:
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 for i in range(10): 5 print("loop:", i )
输出结果:
1 loop: 0 2 loop: 1 3 loop: 2 4 loop: 3 5 loop: 4 6 loop: 5 7 loop: 6 8 loop: 7 9 loop: 8 10 loop: 9
需求一:仍是上面的程序,可是遇到小于5的循环次数就不走了,直接跳入下一次循环
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 for i in range(10): 5 if i<5: 6 continue #不往下走了,直接进入下一次loop 7 print("loop:", i )
输出结果:
1 loop: 5 2 loop: 6 3 loop: 7 4 loop: 8 5 loop: 9
需求二:仍是上面的程序,可是遇到大于5的循环次数就不走了,直接退出
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 for i in range(10): 5 if i>5: 6 break #不往下走了,直接进入下一次loop 7 print("loop:", i )
输出结果:
1 loop: 5 2 loop: 6 3 loop: 7 4 loop: 8 5 loop: 9
只要条件知足,就不断循环,条件不知足时退出循环
1 #!/usr/bin/env python 2 # -*- coding:UTF-8 -*- 3 4 count = 0 5 while (count < 9): 6 print('The count is:', count) 7 count = count + 1 8 9 print("Good bye!")
输出结果:
1 The count is: 0 2 The count is: 1 3 The count is: 2 4 The count is: 3 5 The count is: 4 6 The count is: 5 7 The count is: 6 8 The count is: 7 9 The count is: 8 10 Good bye!
while 的死循环
1 #!/usr/bin/env python 2 # -*- coding:UTF-8 -*- 3 4 count = 0 5 while True: 6 print("加鸡腿...",count) 7 count +=1
做业一:博客
做业二:编写登录接口