何为编程?
编译程序:是一种程序。它把用高级语言(市场上常见的c,c++,Java,python都称为高级语言)写的源程序作为数据接收,经过翻译转换,产生面向机器的代码作为输出。 这当中代码还可能要由汇编程序或装配程序作进一步加工,得出目标程序,交给计算机执行。
初识python
python的起源:一个人称"龟叔"的老外在1989年圣诞期间无聊发明的,是一门解释性弱类型编程语言.
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
(龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。
编译型与解释型。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
python的优缺点
优点:优雅,简单,明确
缺点:作为解释性语言相对来说比编译性语言运行速度慢,比如:C,Java...运行速度为0.01s,那么python为0.1s,但是这个速度人类是很难以感觉到的
python的解释器种类
官方提供的为cpython,内部是用c语言实现的.
CPython
当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python
就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>
作为提示符,而IPython用In [
序号
]:
作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
需特别关注的是pypy解释器,它可以一次性把我们的代码解释成计算机认识的字节码文件,可以直接去运行,运行速度更为高效,虽与编译性语言类似,但它还是以解释为主.(动态编译)
第一个python程序
print(任何内容)
print(HelloWord)
注释
单行注释 #注释内容
多行注释'''注释内容''' """注释内容"""
变量
变量是什么:
程序运行过程中产生的中间值. 暂时保存在内存中. 供后面的程序使用
命名规则:
1. 使用字母, 数字, 下划线组成
2. 不能数字开头, 更不能是纯数字
3. 不能用python的关键字
4. 不要太长
5. 要有意义
6. 区分大小写
7. 不要用中文
8. 建议使用驼峰或者下划线
推荐下划线:更清晰明了
变量的数据类型
1. int. 整数. 可以做+,-,*,/,%(取余,取模),//(整除)
2. str. 字符串. 加了引号的都被认为是字符串,字符串可以 +(相拼接) *(重复)
字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接
引号、双引号、多引号有什么区别:单双引号木有任何区别,但你需要考虑单双的配合
print("马云"+"马化腾")
结果:马云马化腾
print("马云"*4)
结果:马云马云马云马云
3. bool. 布尔值. 两个取值. True, False
用户交互
变量 = input(提示语)
接收到的内容提示语是字符串类型
str与int不能作比较,需要转换
转换方法为:字符串 str前加int
比如:str = > int需要写成int(str)
流程控制
if语句
第一种
单分支
if 条件:
满足条件后要执行的代码
if 条件:
代码块
第二种
双分支
""" if 条件: 满足条件执行代码 else: if条件不满足就走这段 """ AgeOfOldboy = 48 if AgeOfOldboy > 50 : print("Too old, time to retire..") else: print("还能折腾几年!")
if 条件1:
代码块1
else:
代码块儿2
第三种
多分支
回到流程控制上来,if...else ...可以有多个分支条件
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
if 条件1:
代码块
elif 条件2:
代码块
elif....
else:
第四种
嵌套式,不建议超过四个,原因:太乱
if 条件:
if 条件:
if 条件:
代码块
else:
else:
需要注意的是,python代码是从上到下依次判断,只要满足一个,就不会再往下走了