python 笔记04
1.python 历史
1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
Granddaddy of Python web frameworks, Zope 1 was released in 1999
Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
Python 2.5 - September 19, 2006
Python 2.6 - October 1, 2008
Python 2.7 - July 3, 2010
In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
Python 3.0 - December 3, 2008
Python 3.1 - June 27, 2009
Python 3.2 - February 20, 2011
Python 3.3 - September 29, 2012
Python 3.4 - March 16, 2014
Python 3.5 - September 13, 2015
2.32位与64位
32bit = 内存的最大寻址空间是2**32=4GB
如果超过4个G,也不能识别出来了!
64bit 则能支持更大的内存,但实际上没有2**64这么大!大概为 2**44=16TB。
目前主板支持的最大内存为一百多G!
提问:
4GB内存,装了32位和64位的系统,哪个更快???
理论上一样,因为都能用到4个G!
但是实际生活中,比如一个QQ装在4GB的内存上,是不可能完全占用4GB的!因为操作系统也要占用内存!!!
3.电脑速度快慢的原因
CPU: 飞机
内存: 动车
硬盘: 自行车(默认)
其中: 5400转 = 自行车
7200转 = 电动车
10000转 = 快速电动车
15000转 = 摩托车
SSD(动态)= 特斯拉!
4.python2.X or python3.X ?
不同:
2.X默认编码:ASICII
3.X默认编码:Unicode ,支持中文
3版本不兼容2版本
核心语法调整,更易学
新特性只在3.X上有
5.python 安装
打开一个类似cmd的窗口,称为交互器模式!
开始 --> cmd --> cd c:\
cd = change directory //进去C盘根目录
dir = directory //显示文件列表、
cd .. = 返回上一层目录
cd ../.. = 返回上两层目录
cmd中输入:C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe c:\hello.txt
(即“python路径” + “空格” + “hello.txt”路径)
就会显示“Hello World!"
手打时可以利用TAB键,智能补全功能!
提问:怎么快速解决麻烦的手打问题?
回答:环境变量!
具体设置如下:
右键电脑属性 -- 高级设置 --环境变量 --系统环境变量 -- path 编辑 ,以分号;隔开,加上文件夹路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python36
即可。
6.执行PY程序的方式
1.交互器。缺点:不能永久保存,主要用于简单的语法测试。
2.文件执行
7.变量 (Variables)与常量
x=3 // py不需要int来定义变量!
y=4
z=x*y
print("x乘以y=",z)
name = "Flamingo C"
student_number = 42
//不要用number,易混淆.多词可用下划线(student_number)或驼峰体(studentNumber) //
print (name)
变量是为了存储程序运算过程中的某些中间结果,为了日后调用。
7.1 变量的命名规则
1.要具有描述性;
2.变量名只能有 *下划线* ,数字,字母组成;不可由特殊字符组成(#?<.,¥*!~)或空格 ;
3.不能以中文为变量名;
//尽管py可以识别,但不利于交流进步//
4.数字不能在开头!
//比如 name1 , n1ame 都可以,但是 1name 就不行//
5.保留字符是不能被使用的;
['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']
7.2 常量
常量,不变的量。比如 pie=3.141592653……
但是在py中变量和常量是没区分的,所以用全部大写的变量名来代表此变量为常量!!!
7.3变量的赋值
name = "Flamingo C"
name2 = name
// 加了双引号的就是 字符串。
错误的理解:
如果此时将 CPU 中的"Flamingo C" 改成 "Jack",那么 name和
name2值又是多少呢?
错误!!此时
name = Jack ;
name2 = Flamingo C .
正确的理解:
当name = jack 时:
可以这样理解:
name\name2 是门牌号,Flamingo C 和 Jack 是房子。
当 : name2 = name = Flaming C 时,即 Flamingo C 这个房子有2个门牌号!
而当 : name2 = name ; name = Jack 时,就是name2这个门牌号还在 Flamingo C这个房子上,而 Jack 这个新建的房子则挂上了原来那个name的门牌号!
另外,关于 清理内存,如果门牌号拆了,那么房子也会被拆了。达到清理内存的效果。
有两种拆房子的方式:
1、 输入 “del+门牌号”手动拆除。
2、 把门牌号指向其他房子,那么原来的房子会被定时拆除。(由py的定时检查机制拆除。)