本节包含内容:
1.Python简介
2.print语句
3.变量
4.常量
5.注释
6.基本数据类型
7.用户交互
8.if语句
1.Python简介:
python的创始⼈人为吉多·范罗苏姆(Guido van Rossum)。1989年年的圣诞节期间,吉多· 范罗苏姆为了了在阿姆斯特丹丹打发时间,决⼼心开发⼀一个新的脚本解释程序,作为ABC语⾔言的⼀一 种继承。 新的TIOBE排⾏行行榜,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
1.1.python是⼀一⻔门什什么样的语⾔言:
编程语⾔主要从以下⼏个⻆度为进⾏分类,编译型和解释型、静态语⾔和动态语⾔、强类型定义语⾔言和弱类型定义语⾔,我们先看编译型语⾔和解释型语⾔言. 稍后再说强类型和弱类型
编译和解释的区别是什什么?
编译器器是把源程序的每⼀一条语句句都编译成机器语⾔言,并保存成⼆二进制⽂文件,这样运⾏行行时计算机 可以直接以机器语⾔言来运⾏行行此程序,速度很快; ⽽而解释器器则是只在执⾏行行程序时,才⼀一条⼀一条的解释成机器语⾔言给计算机来执⾏行行,所以运⾏行行速度 是不如编译后的程序运⾏行行的快的. 这是因为计算机不能直接认识并执⾏行行我们写的语句句,它只能认识机器语⾔言(是⼆二进制的形式)
1.2.python的优缺点 :
先看优点
1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易易 懂,初学者学Python,不不但⼊入⻔门容易易,⽽而且将来深⼊入下去,可以编写那些⾮非常⾮非常 复杂的程序。2. 开发效率⾮非常⾼高,Python有⾮非常强⼤大的第三⽅方库,基本上你想通过计算机实现任何 功能,Python官⽅方库⾥里里都有相应的模块进⾏行行⽀支持,直接下载调⽤用后,在基础库的基 础上再进⾏行行开发,⼤大⼤大降低开发周期,避免重复造轮⼦子。
3. ⾼高级语⾔言————当你⽤用Python语⾔言编写程序的时候,你⽆无需考虑诸如如何管理理你 的程序使⽤用的内存⼀一类的底层细节
4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动 使它能够⼯工 作在不不同平台上)。如果你⼩小⼼心地避免使⽤用依赖于系统的特性,那么你 的所有Python程序⽆无需修改就⼏几乎可以在市场上所有的系统平台上运⾏行行
5. 可扩展性————如果你需要你的⼀一段关键代码运⾏行行得更更快或者希望某些算法不不公 开,你可以把你的部分程序⽤用C或C++编写,然后在你的Python程序中使⽤用它们。
6. 可嵌⼊入性————你可以把Python嵌⼊入你的C/C++程序,从⽽而向你的程序⽤用户提供 脚本功能。
再看缺点: 1. 速度慢,Python 的运⾏行行速度相⽐比C语⾔言确实慢很多,跟JAVA相⽐比也要慢⼀一些,因此 这也是很多所谓的⼤大⽜牛不不屑于使⽤用Python的主要原因,但其实这⾥里里所指的运⾏行行速度 慢在⼤大多数情况下⽤用户是⽆无法直接感知到的,必须借助测试⼯工具才能体现出来,⽐比如 你⽤用C运⼀一个程序花了了0.01s,⽤用Python是0.1s,这样C语⾔言直接⽐比Python快了了10倍, 算是⾮非常夸张了了,但是你是⽆无法直接通过⾁肉眼感知的,因为⼀一个正常⼈人所能感知的时 间最⼩小单位是0.15-0.4s左右,哈哈。其实在⼤大多数情况下Python已经完全可以满 ⾜足你对程序速度的要求,除⾮非你要写对速度要求极⾼高的搜索引擎等,这种情况下,当 然还是建议你⽤用C去实现的。2. 代码不不能加密,因为PYTHON是解释性语⾔言,它的源码都是以名⽂文形式存放的,不不 过我不不认为这算是⼀一个缺点,如果你的项⽬目要求源代码必须是加密的,那你⼀一开始就 不不应该⽤用Python来去实现。
3. 线程不不能利利⽤用多CPU问题,这是Python被⼈人诟病最多的⼀一个缺点,GIL即全局解释 器器锁(Global Interpreter Lock),是计算机程序设计语⾔言解释器器⽤用于同步线程的 ⼯工具,使得任何时刻仅有⼀一个线程在执⾏行行,Python的线程是操作系统的原⽣生线程。 在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的 执⾏行行。⼀一个python解释器器进程内有⼀一条主线程,以及多条⽤用户程序的执⾏行行线程。即 使在多核CPU平台上,由于GIL的存在,所以禁⽌止多线程的并⾏行行执⾏行行。关于这个问题 的折衷解决⽅方法,我们在以后线程和进程章节⾥里里再进⾏行行详细探讨。
当然,Python还有⼀一些其它的⼩小缺点,在这就不不⼀一⼀一列列举了了,我想说的是,任何⼀一⻔门语 ⾔言都不不是完美的,都有擅⻓长和不不擅⻓长做的事情,建议各位不不要拿⼀一个语⾔言的劣势去跟另⼀一个 语⾔言的优势来去⽐比较,语⾔言只是⼀一个⼯工具,是实现程序设计师思想的⼯工具,就像我们之前中 学学⼏几何时,有的时候需要要圆规,有的时候需要⽤用三⻆角尺⼀一样,拿相应的⼯工具去做它最擅 ⻓长的事才是正确的选择。之前很多⼈人问我Shell和Python到底哪个好?我回答说Shell是个 脚本语⾔言,但Python不不只是个脚本语⾔言,能做的事情更更多,然后⼜又有钻⽜牛⻆角尖的⼈人说完全 没必要学Python, Python能做的事情Shell都可以做,只要你⾜足够⽜牛B,然后⼜又举了了⽤用Shell 可以写俄罗斯⽅方块这样的游戏,对此我能说表达只能是,不不要跟SB理理论,SB会把你拉到跟 他⼀一样的⾼高度,然后⽤用充分的经验把你打倒。print语句:
在Python3.x版本中print语句中在被打印的的语句外应使用括号与双引号包括。
实例:
print("hello world")
变量:
变量:将运算的中间结果暂存到内存,以便便后续程序调⽤用.
变量命名规则:
1, 变量量由字⺟母, 数字,下划线搭配组合⽽而成
2, 不不可以⽤用数字开头,更更不不能是全数字
3,不能是pythond的关键字, 这些符号和字⺟母已经被python占⽤用, 不可以更更改
4,不要⽤用中⽂文
5,名字要有意义
6,不要太⻓长
7, 区分⼤大⼩小写
推荐⼤大家使⽤用驼峰体或者下划线命名 驼峰体: 除⾸首字⺟母外的其他每个单词⾸首字⺟母⼤大写 下划线: 每个单词之间⽤用下划线分开
常量:
在Python中不存在绝对常量,约定俗称,所有首字母大写就是常量。
例如:
PI = 3.141592653
注释:
有时候我们写的东⻄西不⼀一定都是给⽤用户看的. 或者不希望解释器执⾏行行. 那我们可以使⽤用#来 注释掉代码. 被注释的内容是不会执⾏行行的.可以⽅方便便后⾯面的程序员来拜读你的代码
单⾏行行注释: # 被注释的内容 多⾏行行注释:''' 被注释的内容 ''', """这个也是多⾏行行注释"""
基本数据类型:
1.整数(int):
常⻅见的数字都是int类型. ⽤用于计算或者⼤大⼩小的比较
2.字符串(str):
在Python中,凡是⽤用引号引起来的,全是字符串串.
字符串串可以⽤用单引号,双引号,或者三引号引起来,没有什什么区别,只是⼀一些特殊的格式需要不不⽤用的引号
3.布尔值(bool):
真或者假, True和False
用户交互:
使⽤用input()函数,可以让我们和计算机互动起来
语法:
内容 = input(提⽰示信息) 这⾥里里可以直接获取到⽤用户输入的内容
流程控制if语句:
第⼀一种语法:
if 条件: #引号是将条件与结果分开。 结果1。 # 四个空格,或者⼀一个tab键,这个是告诉程序满⾜足这个条件的 结果2。如果条件是真(True) 执⾏行行结果1, 然后结果2, 如果条件假(False) 直接结果2
第⼆二种语法:
If 条件: 结果1 else: 结果2 代码3
第三种语法:
If 条件1: 结果1 elif 条件2: 结果2 .. else: 结果N
第四种语法(嵌套):
If 条件1: 结果1 If 条件2: 结果2 else: 结果3 else: 结果4 #可以无限嵌套,但在实际开发中,尽量不要超过三层嵌套。