程序执行的原理:
1.程序运行之前,程序是保存在硬盘中的;
2.当要运行一个程序的时候,操作系统会首先让 CPU 把程序复制到内存中,然后CPU 执行内存中的代码程序
那么python 程序语言执行的方式一样:
操作系统首先让 CPU 把 python 解释器的程序复制到内存中,只是解释型语言与编译语言相比,解释型语言是读一行,解释一行,执行一行。而编译语言是一次性将整个文件翻译过来,然后执行。因此编译语言比解释型语言执行速度要快。
计算机的三大件:
计算机中包含有较多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
1.cpu(cpu 就是干活的,离开了 cpu 电脑就不能干活)
中央处理器,是一块超大规模的集成电路,负责处理数据/计算
2.内存(临时存储数据 以 G 为单位 4G 8G 16G 32G,断电之后,数据会消失)
速度快
空间小(单位价格高)
3.硬盘(永久存储数据 以 T 为单位 1T=1024G)
永久存储数据
速度慢
空间大(单位价格低)
python 的解释器到底有多大?
[root@foundation1 python]# which python
/bin/python
[root@foundation1 python]# ls -lh /bin/python
lrwxrwxrwx. 1 root root 7 Apr 9 17:34 /bin/python -> python2
[root@foundation1 python]# ls -lh /bin/python2
lrwxrwxrwx. 1 root root 9 Apr 9 17:34 /bin/python2 -> python2.7
[root@foundation1 python]# ls -lh /bin/python2.7
-rwxr-xr-x. 1 root root 7.0K Aug 2 2016 /bin/python2.7
注意:
1. 建立软链接的目的,是为了方便使用者不用记住使用的解释器是哪一个具体版本,而通过软链接就可以知道具体版本。
2.python 解释器根据语法规则,从上而下让 CPU 翻译 python 程序中的代码
3.CPU 负责执行翻译完成的的代码
程序的作用:程序就是用来处理数据的
变量:
什么是变量?
#变量名只有在第一次出现才是定义变量(变量名再次出现,不是定义变量,而是直接使用之前
定义的变量)
变量的定义
在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
等号(=)用来给变量赋值
=左边是一个变量名
=右边是存储在变量中的值
变量定义之后,后续就可以直接使用了
实战演练:
1.水果的价格是 8.5 元/斤,买了 7.5 斤水果,请计算付款金额(只要购买就优惠5元)
变量的类型
在内存中创建一个变量会包括:
1.变量的名称
2.变量保存的数据
3.变量存储数据的类型
4.变量的地址
我们可以定义一个变量,然后用type(变量名)来查看变量的类型。
对于字符串型变量是可以用‘+’进行连接的,也可以用‘*“进行复制。
对于我们要自己输入一个变量可以使用raw_input()这个已经被封装好的函数。
实战演练:
1.请自己输入水果单价和重量,求出水果总金额
在 python 中定义变量是不需要指定类型(在其他很多高级语言中都需要)
数据类新可以分为数字型和非数字型
数字型:整型(int),浮点型(float),布尔型(bool)True(非0数都为真)/False(0为假)
非数字型:字符串,列表,元组,字典
=================================
使用 type 函数可以查看一个变量的类型
在使用交互式终端时,也可以知道每个变量的准确类型
在 python 中,两个数字型变量是可以直接进行算术运算的
如果变量是 bool 型,在计算时True 对应的数字是 1,False对应的数字是 0
字符串变量之间使用 + 拼接字符串
在 python 中,字符串之间可以使用 + 拼接生成新的字符串,字符串变量可以和整数使用 * 重复拼接相同的字符串
字符串变量和字符串之间不能进行其他计算
变量的输入
所谓输入,就是用代码获取用户通过键盘输入的信息
例如:去银行取钱,在 ATM 上输入密码
在 python 中,如果要获取用户在键盘上的输入信息,需要使用 raw_input 函数
关于函数:
一个提前准备好的功能(别人或者自己写的代码),可以直接使用,而不用关心细节
raw_input 函数实现键盘输入,在 python 中可以使用 raw_input 函数从键盘等待用户的输入,用户输入的任何内容 python 都认为是一个字符串。
eg:
收银员输入橘子的价格,单位:元/斤(橘子价格不再固定)
收银员输入用户购买橘子的重量,单位:斤
计算并且输出付款金额
变量的格式化输出
在 python 中可以使用 print 函数将信息输出到控制台
如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符
% 被称为格式化操作符,专门用于处理字符串中的格式
包含%的字符串,被称为格式化字符串
% 和不同的字符连用,不同类型的数据需要使用不同的格式化字符
格式化字符串
%s:字符串
%d: 有符号十进制整数,%06d 表示输出的整数显示位数字,不足的地方使用
%f :浮点数,%.02f 表示小数点后只显示两位,0 补全
%%(百分比)
输出%
语法格式:
print '格式化字符串' % 变量 1
print '格式化字符串' % (变量 1,变量 2...)
变量的命名:标识符和关键字
标识符
标识符就是程序员定义的变量名,函数名名字需要有见名知义的效果
标识符可以由字母,下划线和数字组成,不能以数字开头,不能与关键字重名。
eg:请自行演练下面问题。
下面的标识符哪些是正确的,哪些不正确为什么?
int32 40XL $aving$ printf print
_print this self __name__ 0x40L
bool true big-westos 2hot2ls type
thisIs thisisInt R_U_Ready Int
关键字
关键字就是在python内部已经使用的标识符
关键字具有特殊的功能和含义
开发者不允许定义和关键字相同的名字的标示符
通过以下命令可以查看python中的关键字
#import关键字可以导入一个工具包
#在python中不同的工具包,提供有不同的工具
In [12]: import keyword
In [13]: print keyword.kwlist
['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'
变量的命名规则
命名规则可以被视为一种惯例,别无绝对与强制
目的是为了增加代码的识别和可读性
#注意:python中的标识符是区分大小写的
1.在定义变量时,为了保证代码格式, = 的左右两边该各保留一个空格
2.在python中,如果变量名需要由两个或多个单词组成,可以按照以下方式命名(python中常用)
1.每个单词都使用小写字母
2.单词与单词之间使用_下划线连接
3.例如:first_name,last_name....
驼峰命名法:(其他语言常用的命名法)
当变量名是由两个或多个单词组成,还可以利用驼峰命令法来命名
小驼峰命名法
第一个单词以小写字母开始,后续单词的首字母大写
firstName lastName
大驼峰命名法
每一个单词的首字母都采用大写字母
FirstName LastName