创始人:阿姆斯特丹(鬼叔)
Python崇尚简单,优美,清晰,编程语言第四。Java第一,C第二,C++第三。
Python的历史
Python2x和Python3x的宏观区别:
Python2源码不标准,不规范,混乱,代码重复高。
Python3统一标准,去除重复代码,且Python崇尚简单,优美,清晰,故鬼叔创建Python3,规范化。
Python的环境
编译型:一次性将全部的代码编译成二进制文件。如C,C++。优点:运行速度快;缺点:开发效率低,不能跨平台,不兼容。
解释型:当程序运行时,从上至下一行一行的解释成二进制。如Python,PHP,JavaScript。优点:开发速度快,效率高,可以跨平台,有很好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机),。缺点:运行速度慢。
Python是一门动态解释性的强类型定义+语言。
(下载Python3.5,executable installer)
写一个文件。命名为xx.py并保存。运行,cmd,+python2/3,退出为Ctrl+C,或者exit()
运行一个py文件,Python+空格+路径(d:xx.py),回车即可。只输Python,默认为第一个安装的Python版本,具体运行哪个版本可输入Python2/3.
Python2,3的区别:
Python默认的编码方式为ASCII码,Python3 默认的编码方式是utf-8(识别中文的)解决Python2不能打印中文的方法:在首行加一行:#-*-encoding:utf-8 -*-
Python的优缺点
优点:
- 定位“优雅”,“简单”,“明确”。入门容易,也可以深入编写非常复杂的程序。
- 开发效率非常高。有强大的大三房库,而且不断在更新。
- 高级语言。
- 可移植性。
- 可扩展性。Python代码可以掺杂C语言D代码,有个接口,可以调用C语言特定的模块。C语言的柱程序也让可以接Python的模块。
- 可嵌入性。可以吧Python嵌入C语言或C ++程序,从而为你的程序用户提供脚本功能。
缺点:
- 速度慢。相比于编译型的。
- 代码不能加密。
- 线程不能多利用CPU问题。
Python的分类
当我们编写代码时,得到的是一个以.py为扩展名的文本文件,要运行代码,就需要Python解释器去执行.py文件。
Python的种类:
CPython:这个解释器是由C语言开发的,在命令下运行Python就是启动CPython解释器。CPython是应用最广也是官方版本的解释器。
Jython是运行在Java平台上的解释器,可以直接把Python代码编译成Java字节码执行。
还有IPython,IronPython,PyPy等。
如果要和Java或者Net平台进行交互,最好的办法不是用Iython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
变量常量
变量:就是将一些运算的中间结果暂存到内存中,一边后续代码调用。
- 必须又数字,字母,下划线任意组合,且不能数字开头。(下划线区分横杠或上划线,注意空格的位置,在两边无关系,在字符中间则是特殊字符)
- 不能是python中的关键字。如:and,as,class,continue,assort,break,def,del,elif,else,except,exec,finally,for,from,global,if,print,pass,or,not,lambda,is,in,import,raise,return,try,while,with,yield,
- 变量具有可描述性。如age,age_of_old_boy(官方推荐有下划线)
- 不能是中文。
- 不能太长。
age1=12 age2=age1 age3=age2 age2=100 print(age1,age2,age3)
12,100,12
常量:一直不变的量。如BIR_OF_CHINA=1949(大写来区分变量,C语言是这样)
注释
可读,但不运行。
即备注,注解。方便自己写代码,方便他人理解代码。
单行注释:#
多行注释:'''被注释内容'''或者“““被注释内容”””
基础数据类型初始
数字:int
ps:type() ps额外,判断类型。
运算有:加减乘除+ - * / ,**(幂),%(取余)
字符串:str,Python中凡是用引号引起来的都是字符串。引号要区分内容里的引号,可单引号可 双引号。
字符串可相加 ,可与数字相乘。
三个引号包起来的是注释,也可以赋值。
字符串转化成数字:int(str),条件:str必须是数字组成的
数字转化成字符串:str(int)
bool:布尔值。True,False。(首字母大写)
print(100,type(100)) print(“100”,type(100)) 100<class,'int'> 100<class,'str'> a=10 b=2 print(a%b) 0 msg = ''' 今天我想写首小诗, 歌颂我的同桌, 你看他那乌黑的短发, 好像一只炸毛鸡。 ''' print(msg) #一涉及换行必定三个引号,既可以是注释,也可以是字符串赋值 a="你是” b=“谁” c=a+b print(c) print(“你是”+“谁”+“啊?”) 你是谁 你是谁啊? #字符串相加就是简单拼接 #字符串与数字相乘就是自己赋值自己多少次,再拼接 a=4 b=3 print(a>b) True exit() print(True,type(True)) print("True",type(True) True<class,‘bool’> True<class,‘str’> a=‘123’ b=int(a) print(b,type(b)) 123 <class,‘int’)
用户交互
input:
- 等待输入。
- 将你输入的内容全部赋值给前面变量。
- input出来的数据类型全是str。
name=input('请输入你的名字:') age=input('请输入你的年龄:') print(‘我的名字是’+name,‘我的年龄'+age+‘岁’)
print(name,age,type(age))
条件语句
if 条件: #if+空格+条件+:(冒号为英文条件下,起到条件与结果分开的作用)
结果 #要有缩进,tab键或者4个空格。退回去shift+tab
#第一种 if 4>3: print(666) print(777) 666 777 #区分 if 4>3: print(666) print(777) 666 #第二种 if 4>3: print('我请你喝酒‘) else: print(‘喝什么酒’) #多选 num=input(‘请输入您猜的数字’) #一个等号是赋值,双等号是比较。 if num==1: print(‘我’) elif num==2: print(‘你’) elif num==3: print(‘他’) else: print(‘错了’) #第三种 嵌套 if name==‘小二’ if age==‘18’ print(666) else print(333) else:print(‘错了’) #可以省一行
while 条件:
循环体
无限循环
终止循环:1.改变条件,使其不成立。2.break
第一次遇到continue则是临时见底。内部小循环,加条件才可以跳出来。
但while循环被break打断就不会执行else的结果。
print(‘111’) #一直循环,222不会打印。强制退出。 while True: print(‘我’) print(‘你’) print(‘他’) print(‘222’)
#break count = 0 while count <= 100 : #只要count<=100就不断执行下面的代码 print("loop ", count) if count == 5: break count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0 print("-----out of while loop ------") loop 0 loop 1 loop 2 loop 3 loop 4 loop 5 -----out of while loop ------ #continue count = 0 while count <= 100 : count += 1 if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop continue print("loop ", count) print("-----out of while loop ------") loop 1 loop 2 loop 3 loop 4 loop 5 loop 95 loop 96 loop 97 loop 98 loop 99 loop 100 loop 101 -----out of while loop ------ #while else count = 0 while count <= 5 : count += 1 print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------") Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 循环正常执行完啦 -----out of while loop ------ #有break就不用else了