Python这种编程语言
python的创始⼈人为吉多·范罗苏姆(Guido van Rossum)。1989年年的圣诞节期间,吉多· 范罗苏姆为了了在阿姆斯特丹丹打发时间,决⼼心开发⼀一个新的脚本解释程序,作为ABC语⾔言的⼀一 种继承。 新的TIOBE排⾏行行榜,Python已经占据世界第四名的位置, Python崇尚优美、清晰、简 单,是⼀一个优秀并⼴广泛使⽤用的语⾔言。
由上图可⻅见,Python整体呈上升趋势,反映出Python应⽤用越来越⼴广泛并且也逐渐得到业内 的认可!!!
Python主要应⽤用领域:
- 云计算
- WEB开发
- 科学运算、人工智能
- 系统运维
- 金融
- 图形GUI
编程语⾔言主要从以下⼏几个⻆角度为进⾏行行分类,编译型和解释型、静态语⾔言和动态语⾔言、强类 型定义语⾔言和弱类型定义语⾔言,我们先看编译型语⾔言和解释型语⾔言. 稍后再说强类型和弱类型
编译和解释的区别是什什么?
编译器器是把源程序的每⼀一条语句句都编译成机器语⾔言,并保存成⼆二进制⽂文件,这样运⾏行行时计算机 可以直接以机器语⾔言来运⾏行行此程序,速度很快; ⽽而解释器器则是只在执⾏行行程序时,才⼀一条⼀一条的解释成机器语⾔言给计算机来执⾏行行,所以运⾏行行速度 是不如编译后的程序运⾏行行的快的. 这是因为计算机不能直接认识并执⾏行行我们写的语句句,它只能认识机器语⾔言(是⼆二进制的形式)
编辑型:C、C++、GO、Swift、Object-C、Pascal
解释型:javaScript、Python、ruby、php、perl
混合型:Java、C#
编译型vs解释型
编译型
优点:编译器⼀一般会有预编译的过程对代码进⾏行行优化。因为编译只做⼀一次,运⾏行行时不需要编 译,所以编译型语⾔言的程序执⾏行行效率⾼高。可以脱离语⾔言环境独立运⾏行行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运⾏行行环境⽣生 成机器码,不同的操作系统之间移植就会有问题,需要根据运⾏行行的操作系统环境编译不同的 可执⾏行行⽂文件。
解释型
优点:有良好的平台兼容性,在任何环境中都可以运⾏行行,前提是安装了了解释器(虚拟机)。 灵活,修改代码的时候直接修改就可以,可以快速部署,不⽤用停机维护。
缺点:每次运⾏行行的时候都要解释⼀一遍,性能上不不如编译型语⾔言。
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程序
python程序有两种编写⽅方式:
1. 进入cmd控制台. 输入python进入编辑模式. 这时候我们可以直接编写python程序
2. 也可以在.py⽂文件中编写python代码. 通过python命令来执⾏行行python代码
变量
变量:将运算的中间结果暂存到内存,以便便后续程序调⽤用
变量量的命名规则:
- 变量量由字⺟母, 数字,下划线搭配组合⽽而
- 不不可以⽤用数字开头,更更不不能是全数字
- 不能是pythond的关键字, 这些符号和字⺟母已经被python占⽤用, 不可以更更改
- 不要⽤用中⽂文
- 名字要有意义
- 不要太⻓长
- 区分⼤大⼩小写
常量
在python中不存在绝对的常量量. 约定俗成, 所有字⺟母⼤大写就是常量量
注释
单⾏行行注释: # 被注释的内容 多⾏行行注释:''' 被注释的内容 ''', """这个也是多⾏行行注释"""
python基本数据类型
什什么是数据类型? 我们⼈人类可以很容易易的分清数字与字符的区别,但是计算机并不不能呀,计算机虽然很强⼤大,但从某种⻆角
度上看⼜又很傻,除⾮非你明确的告诉它,1是数字,“汉”是⽂文字,否则它是分不不清1和‘汉’的区别的,因此,在 每个编程语⾔言⾥里里都会有⼀一个叫数据类型的东东,其实就是对常⽤用的各种数据类型进⾏行行了了明确的划分,你想 让计算机进⾏行行数值运算,你就传数字给它,你想让他处理理⽂文字,就传字符串串类型给他。Python中常⽤用的数 据类型有多种,今天我们暂只讲3种, 数字、字符串串、布尔类型(命题).
整数(int)
常⻅见的数字都是int类型. ⽤用于计算或者⼤大⼩小的比较
在32位机器上int的范围是: -2**31~2**31-1,即-2147483648~2147483647
在64位机器上int的范围是: -2**63~2**63-1,即-9223372036854775808~9223372036854775807 够你⽤用了了吧. 注意这些是整数.
字符串串(str)
在Python中,凡是⽤用引号引起来的,全是字符串串.
字符串串可以⽤用单引号,双引号,或者三引号引起来,没有什什么区别,只是⼀一些特殊的格式需要不不⽤用的引号
比如: msg = "My name is Alex , I'm 22 years old!" 这个就需要单双引号配合。
msg = """ 今天我想写⾸首⼩小诗,
歌颂我的同桌,
你看他那乌⿊黑的短发,
好像⼀一只炸⽑毛鸡。 """
想多⾏行行赋值⼀一个字符串串,就需要三引号。
数字类型有 +-*/ 字符串串有么? 字符串串只有 + *。
#字符串串的拼接 s1 = 'a ' s2 = 'bc' #print(s1 + s2)
#相乘 str*int name = '坚强' #print(name*8)
布尔值(bool), 真或者假, True和False
用户交互 使⽤用input()函数,可以让我们和计算机互动起来
语法:
内容 = input(提⽰示信息)
这⾥里里可以直接获取到⽤用户输入的内容
十.流程控制if语句
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
可以⽆无限的嵌套. 但是在实际开发中. 尽量量不要超过三层嵌套
posted on 2018-11-26 20:12 Maintainer 阅读(479) 评论(0) 编辑 收藏 举报