首页 > 代码库 > Python First Week
Python First Week
一、Python简介
Python的诞生
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
最新的TIOBE排行榜,Python占据第五位!!!
由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!!
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
目前Python主要应用领域:
- 云计算: 云计算最火的语言, 典型应用OpenStack
- WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
- 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- 系统运维: 运维人员必备语言
- 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
- 图形GUI: PyQT, WxPython,TkInter
Python在一些公司的应用:
- 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
- CIA: 美国中情局网站就是用Python开发的
- NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
- YouTube:世界上最大的视频网站YouTube就是用Python开发的
- Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
- Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
- Facebook:大量的基础库均通过Python实现的
- Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
- 豆瓣: 公司几乎所有的业务均是通过Python开发的
- 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
- 春雨医生:国内知名的在线医疗网站是用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 ...
Python是一门什么样的语言?
Python是一门动态解释性的强类型定义语言。(具体解释请查阅大王的博客:http://www.cnblogs.com/alex3714/articles/5465198.html)
二、Python环境
安装Python
参考:http://jingyan.baidu.com/article/e73e26c0bad76224acb6a766.html
注意下面几个安装步骤就行:
三、Python入门
第一个程序
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # Author:Breakering 4 print("Hello World!")
在linux上需要用#!/usr/bin/env python3告诉系统用什么解释器来执行此段代码
# -*- coding: utf-8 -*-则是指示此段代码的编码格式,Python2点几需要用到
变量
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # Author:Breakering 4 name = "Breakering" 5 name1 = name 6 print("My name is ",name,name1) 7 8 name = "Prfohua" 9 10 print("My name is ",name,name1) 11 12 gf_of_mine = "????" 13 GFOfMine = "????" 14 15 # 姓名 = "Breakering" #python竟然支持中文作变量,oh my god,最好还是不用吧,毕竟很奇葩 16 # print(姓名)
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- [‘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‘]
PS:变量是用来存东西的;变量名要有含义;变量名大写代表常量,不应该去修改它
编码
- ASCII 一个字符占一个字节,即8位
- UNICODE 一个字符占两个字节,即16位
- UTF-8 存英文字符占一个字节,存中文占三个字节
注释
# 注释单行,PS:pycharm中可以用ctrl+/进行批量注释,或者批量反注释
‘‘‘ ‘‘‘或者""" """ 多行注释,前面加变量可以进行多行输入输出
用户输入
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # Author:Breakering 4 5 name = input("Please input your name:") 6 print(name)
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法, 如下:
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # Author:Breakering 4 import getpass 5 6 username = input("Username:") 7 passwd = getpass.getpass("Passwd:") 8 9 print(username,passwd)
PS:getpass在pycharm中不好使,试着在命令行窗口运行。
循环
while循环
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # Author:Breakering 4 5 age_of_breakering = 25 6 7 count = 0 8 9 while count < 3: 10 guessage = int(input("Guessage:")) 11 if age_of_breakering == guessage: 12 print("Yeah you got it !") 13 break 14 elif age_of_breakering > guessage: 15 print("Think bigger!") 16 else: 17 print("Think smaller!") 18 count += 1 19 else: 20 print("You have tried too much times!")
for循环
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # Author:Breakering 4 age_of_breakering = 25 5 6 for i in range(3): 7 guessage = int(input("Guessage:")) 8 if age_of_breakering == guessage: 9 print("Yeah you got it !") 10 break 11 elif age_of_breakering > guessage: 12 print("Think bigger!") 13 else: 14 print("Think smaller!") 15 else: 16 print("You have tried too much times!")
三、作业
作业一:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
- 三级菜单
- 可依次选择进入各子菜单
- 所需新知识点:列表、字典
Python First Week