Python解释器:将python代码解释给电脑看的一种工具。
由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。
安装python解释器
CPython
当我们从Python官方 站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器: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的字节码。
小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过 络调用来交互,确保各程序之间的独立性。
python
2.X 2.7
python
3.X 3.5-3.7
windows+r
——–调出运行窗口—–输入CMD——-调出dos命令窗口
python的安装
在dos命令窗口输入python命令 —查看python是否安装好。
如果出现:
说明安装成功,Python 3.6.4表示python的版本。也可以通过
python –V ·r查看python版本。
“>>>” 表示:已经进入了python的交互界面。就可以在这写python代码了。
如何退出: exit() 或者 ctrl+z 然后enter
如果出现:
说明:没有添加python.exe的路径到Path。
在dos命令窗口下面,输入
python或者pip 命令。系统首先通过系统环境变量去找python.exe的路径,如果找到了上面的python.exe的路径。那么就能识别pip这个命令(python命令也相同。)
请注意区分命令行模式DOS和Python 交互模式
看到类似 C:> 是在 Windows 提供的命令行模式,看到 >>> 是在Python交互式环境下
第一个 Python程序
在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上。写程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,初学者经常会敲错代码,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序
在交互式环境的提示符 >>> 下,直接输入代码,按回车,就可以立刻得到代码执行结果。现在,试试输入 100+200 ,看看计算结果是不是 300:
2.print语句:让Python 打印出指定的文字
然后把希望打印的文字用单引 或者双引 括起来,但不能混用单引 和双引
C语言:
一个字符用单引 括起来,一个以上的字符(字符串)用双引 括起来
python:随意用,不管是几个字符,想用单引 括起来就用单引 ,想用双引 就用双引 。
第一个是中文输入法,第二个是英文输入法
如何用python文件保存自己写的代码。因为python交互界面不能保存代码。
步骤:
自己选在一个盘(D盘或EFGHIJ盘都可以),然后创建一个文件夹(命名为:python_file)。这个文件夹专门用来装python文件。
在python_file文件加下面:创建一个python文件。
(如何创建python文件。首先创建一个txt文件,然后将后缀名改为.py即可)
注意:python文件的位置,
如果python文件不在当DOS路径下,那么用python的绝对路径执行。如上图1所示。
也可以,跳转到要执行的python文件的路径下,通过方式2运行python。
小结:
这个程序了。
直接输入 python 进入交互模式,相当于启动了Python 解释器,但是等待你一行一行地输
入源代码,每输入一行就执行一行。
直接运行 .py 文件相当于启动了Python解释器,然后一次性把 .py
文件的源代码给执行了,
你是没有机会输入源代码的。
输入和输出
python2版本: print “hello world” 没有括
python3版本: print(“hello world”) 有括
“mantou” “baozi” “饺子”
用逗 连接字符串
print(“mantou”,“baozi” , “饺子”)
优化输出结果:
输入:语句:可以让用户输入字符串,并存放到一个变量
python2版本
raw_input()
python3版本 input()
你输入 name = input() 并按下回车后,Python 交互式命令行就在等待你的输入了。
这时,你可以输入任意字符,然后按回车后完成输入
输入完成后,不会有任何提示,Python 交互式命令行又回到 >>> 状态了。那我们刚才输入的内容到哪去了案是存放到 name 变量里了。可以直接输入 name 查看变量内容:
什么是变量回忆初中数学所学的代数基础知识:
设正方形的边长为 a ,则正方形的面积为 a x a 。把边长 a 看做一个变量,我们就可以根据
a 的值计算正方形的面积,比如:
若a=2,则面积为 a x a = 2 x 2 = 4;
若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此, name 作为一个
变量就是一个字符串
练习:
首先在python交互环境中练习
练习内容:输入输出
tips:
ctrl+s :保存
ctrl+c
:复制
ctrl+v: 粘贴
后缀名隐藏怎么办:
tab: dos补全快捷键
Python基础。
缩进方式。
, 4个空格=一个tabo
以#开头的语句是注释。的超是!料3b177)=177大小写敏感
zhangsan Zhangsan ZHangsan lisi Lisie水果: fruit 馒头: streamBreade
数据类型和变量
数据类型:代表计算机当中不同的数据。python
的数据类型
1.整数
正整数、负整数、0
和0-9, a-f 表示,例如: 0xff00 ,0xa5b4c3d2 ,等
2.浮点数(数学当中的小数)
如1.23, 3.14. -9.01. 等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把
10用e替代, 1.23×109 就是1.23e9 , 或者12.3e8,0000可以写成1.2e5,等等。
3.字符串。
字符串是以(”单引 )或者(”双引 )括起来的任意文本。。
.比oel 0等请注意:心”本业只是批
如果,我们理让单明喝求者观的得表示字
单引 双引 区别:。
….”””“”””
英文单引 中文单引 中双英双。
如果字符串再都既包奢又但含”怎么办可以用转又字看来标识,比如:
表示的字符事内容是:I’m “OK”!
转义字符练习:“
比如。
n表示换行,。
字符本身也要转义,。表示的字符就是,。
可以在Python的交互式命令行用print 打印字符事看看。转义:就是把特殊字符转换为可以输出的普通字符。。
4.布尔值:。
布尔值和布 数的表示完全一致,一个布尔值只有Trueue.False两种值,要么是True ,要么是False, 在Python中,可以直接用ue 、False 表示布尔值(请注意大小写), 也可以通过布尔运算计出来
布尔值可以用and、or 和not运算。。
and-_ 只要有一个为假就是假。or -只要有一个为真就是真
5.空值Nonex
一个特殊的值,用None 表示。 None不能理解为o,因为0是有意义的,而。None是一个特殊的空值。。
python 的数据类型:整数、 浮点数、字符串、布尔值、空值。。
变量名必须是大小写英文、数字和 _ 的组合, 且不能用数字开头
判断下面的变量名是否正确:。
ond. mwm.13_ground tu
123_ 123_sns X,
asd_1asd X有空格。
规范命名法:驼峰命名法:第一一个字母小写,后面首字母大写。。
: 桌子和水果: table And Fruit.
明友: girlfriend别: genders户名: userName码: passWord.
获取用户名和密码: gtusesamenPssworld 获取用户名和密码hon正变量一个整数。
量本教是型不■葫的读真一意,面到候类型不配, 就会银惜。
请不要把赋值语句的等 等同于数学的等 ,
达12,特到结果12.再献您受中产义之前的值店i8.北保饭店!的变
预:量在计算机内存中的表示
是一个总体的做软件的一套规则。国际上有一 开发软件的标准。让人们统标准,方便8: 我们族路轨道,轨道之间的距高有一
老国际标准,国内的和四外的轨道距离标准不一
作为计算机系统硬件的对立面的术语
电脑的配置硬件s:.CPU, 硬盘、 显卡、20801主板内存条等等。windowl0操作系统ios, lnx– 系统软件。
EDUC -世界上第一架可编程序的电子数字计算机。通用图灵机—
产生的发展
软件工程学的内容软件生控模型,
软件生产的发展+
软件是护讨程隐共有关兴代设和这序的助能、运计, 蝴的文字或思形淡料,这
软件危机。
软件危机是指在计算机软件开发和维护时所遇到的一系列问题+
如何基求教望橱届代的巴有软学长的满求。牛危机主要表观式
软件危机产生的原因A.忽略软件需求分析
E:轻视软件维护。是与程序开使之运行“
次件危机的结果:: 财产的损失
1)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和
问题定义一可行性分析–需求分析—设总体计— -样细设计—编码与单元测试一综合测试—护维
软件过程-为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的
瀑布模型快速原型模型+增量模型。螺旋模型。资泉模型。
软件工程: 第一章概述
主要内容:
软件生产的发展
软件是指计算机程序及其有关的数据和文档
软件生产的各个阶段必须完成的有关计算机程序的功能、设计、编制的文字或图形资料,这些资料称为“文档”
软件工程的发展
软件危机
软件危机是指在计算机软件开发和维护时所遇到的一系列问题
软件危机的典型表现:
对软件开发成本和进度的估计常常很不准确
用户对完成的软件系统不满意的现象经常发生
软件产品的质量往往靠不住
软件常常是不可维护的
没有适当的文档资料
软件成本在计算机系统总成本中所占的比列逐年上升
软件开发生产率提高的熟读跟不上计算机应用的发展趋势
软件危机主要包含的问题:
如何开发软件以满足对软件日益增长的需求
如何维护数量不断增长的已有软件
软件危机主要表现形式
软件本身特点造成
软件开发与维护的方法不正确
软件危机产生的原因
A. 忽略软件需求分析
B. 认为软件开发就是写程序并使之运行
C. 轻视软件维护
软件危机的结果:
预算超出
财产的损失
死亡事故
解决软件危机的途径
1)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法;
2)开发和使用更好的软件工具;
3)良好的组织管理措施。
软件工程:是软件开发、运行、维护和引退的系统方法
软件工程是指导计算机软件开发和维护的工程学科
软件工程采用工程的概念、原理、技术和方法来开发与维护软件
软件工程的目标是实现软件的优质高产
软件工程生命周期—–软件从提出到最终被淘汰的这个存在期
问题定义—–可行性分析——需求分析——总体设计——-详细设计——-编码与单元测试—-综合测试—-维护
软件过程—为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
瀑布模型
快速原型模型
增量模型
螺旋模型
喷泉模型
问题定义阶段—很重要,也很容易被忽视。
20190312(2)
搭建python环境
入门python程序 输入输出
20190319(2)
本周任务:
回顾上周知识 (5分钟) 安装pycharm
学习python基础知识(数据类型)
学习软件工程第一章
20190326(2)
理解变量在计算机内存中的表示也非常重要
A = ‘abc’时
Python解释器干了两件事情:
在内存中创建了一个‘ABC’的字符串
在内存中创建了一个名为A的变量,并把它指向‘ABC’
也可以把一个变量 a 赋值给另一个变量 b,这个操作实际上是把变量 b 指向变量 a 所指向的数据,例如下面的代码:
问后一行打印出变量B的内容到底是
‘ABC’呢还是‘XYZ’
如果从数学意义上理解,就会错误地得出 B 和 A 相同,也应该是’XYZ’
但实际上B的值是‘ABC’。
我们一行一行地执行代码,就可以看到到底发生了什么事
执行A =‘ABC’时, 解释器创建了字符串‘ABC’和变量A,并把A指向‘ABC’
执行 B = A, 解释器创建了变量B,
并把B指向A指向的字符串‘ABC’
执行A=‘XYZ’,解释器创建了字符串‘XYZ’,并把A的指向改为‘XYZ’但B并没有更改:
所以:最后打印变量B的结果自然是 ‘ABC’了
eg:
= ‘red’
= ‘blue’
= a
= ‘black’
常量:
所谓常量就是不能变的变量,比如常用的数学常数 π 就是一个常量。在 Python 中,通常用全部大写的变量名表示常量
PI = 3.1415
但事实上 PI 仍然是一个变量,Python 根本没有任何机制保证 PI 不会被改变,所以,用全
部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量 PI 的值,也没人
能拦住你
最后解释一下整数的除法为什么也是精确的
总结:
整数除法永远是整数,即使除不尽。要做精确的除法,只需把其中一个整数换
成浮点数做除法就可以
无论整数做除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。
1.Python 支持多种数据类型。
2.在计算机内部,可以把任何数据都看成一个“对象”。
3.变量就是在程序中用来指向这些数据对象的。
4.变量赋值就是把数据和变量给关联起来。
字符串和编码
字符编码:
首先我们知道,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题!
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理,最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大整数就是255(二进制11111111 = 十进制255),如果要表示更大的整数,就必须用更多的字节。
比如两个字节可以表示的最大整数是65535,4 个字节可以表示的最大整数是4294967295
由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些字符,这个编码表被称为ASCII编码,比如大写字母A的编码时候65
小写字母a的编码是97.
但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和 ASCII 编码冲
突,所以,中国制定了 GB2312 编码,用来把中文编进去
你可以想得到的是,全世界有上百种语言,日本把日文编到
Shift_JIS
里,韩国把韩文编到 Euc-kr 里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的 文本中,显示出来会有乱码。
因此,Unicode诞生,Unicode把所有语言都统一到一套编码里,这样就不会再出现乱码
Unicode 标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要 4 个字节)。现代操作系统和大多数编程语言都直接支持 Unicode
现在,捋一捋
ASCII 编码和 Unicode 编码的区别:ASCII
编码是 1 个字节,而 Unicode 编码通常是 2 个字节。
字母 A 用 ASCII 编码是十进制的 65,二进制的 01000001;
字符 0 用 ASCII 编码是十进制的 48,二进制的 00110000,注意字符’0’和整数 0 是不同的;
汉字中已经超出了 ASCII 编码的范围,用 Unicode 编码是十进制的 20013,二进制的
01001110
00101101。
你可以猜测,如果把 ASCII 编码的 A 用 Unicode 编码,只需要在前面补 0 就可以,因此,A 的 Unicode 编码是 00000000 01000001。
新的问题又出现了:如果统一成
Unicode 编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用 Unicode
编码比 ASCII 编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以,本着节约的精神,又出现了把 Unicode 编码转化为“可变长编码”的 UTF-8 编码
。
UTF-8
编码把一个 Unicode 字符根据不同的数字大小编码成 1-6 个字节,常用的英文字母被编码成 1 个字节,汉字通常是 3 个字节,只有很生僻的字符才会被编码成 4-6 个字节。如果你要传输的文本包含大量英文字符,用 UTF-8 编码就能节省空间
总结:
在计算机内存中,统一使用 Unicode 编码,当需要保存到硬盘或者需要传输的时候,就转换为 UTF-8 编码。
转换为 UTF-8 保存到文件:
浏览 页的时候,服务器会把动态生成的
Unicode 内容转换为 UTF-8 再传输到浏览器:
所以你看到很多 页的源码上会有类似的信息,表示该 页正是 用的
UTF-8
编码。
Python字符串
python中字母与ascii码的相互转换
ord?:参数是长度为1的字符串,简称字符。ord(‘a’)返回整形数值97
chr(i):返回一个字符,字符的ascii码等于参数中的整形数值。例如chr(97)返回字符’a’,该方法是ord()的反方法。参数必须是0-255的整形数值,否则会抛出valueError错误
软件工程第二章
: 可行性研究
2.1可行性研究的任务
可行性研究就是要回答“所定义的问题有可行的解决办法吗
可行性研究的目的: 用最小的代价在尽可能短的时间内确定问题是否有解,以及是否值得去解。
可行性研究所需时间取决于工程的规模,所需要的成本要占工程总成本的5%-10%
userName=[“1111”,“zhangsan”,“lisi”,“wangwu”,“xiaoming”]
for i in userName:
if “zhangsan” ==i: # i ==“zhangsan”
break;
print(i)
缩进符 很重要
‘’’
1.如果全篇(就是python代码)没有缩进“tab”,那说明没有for while ifelse eilf 等条件(流程)控制语句和循环控制语句。
‘’’
print(“——-猜数字游戏——-“)
import random #导入随机数模块
random = random.randint(1, 10) #生成1到10之间的随机数
print(“random:”,random)
num = int(input(“请输入1-10之间的任意一个数:”))
while True:
num = int(input(“请输入1-10之间的任意一个数:”))
if num >random:
print(“大了,请重新输入:”)
elif num print(“小了,请重新输入:”) elif num == -1: print(“游戏结束”) break else: print(“猜对了”) break# for i in range(5): print(” “(5-i),””*(i+1)) #定义好字典 {键:值,键:值}键:值,以逗 分隔d = print(d)print(d[“zhangsan”]) 取字典里面的某个值#改变字典当中的值 #方式一d[“zhangsan”]=99print(d[“zhangsan”]) #如果键不存在于字典当中会 错。 d[“xiaoming”] KeyError: ‘xiaoming’ #判断键是否存在于字典当中print(“—-:”,d.get(“lisi1”)) #删除字典当中的wangwu元素d.pop(“wangwu”)print(d) 一行一行的输出字典当中的键值print(d[“zhangsan”]) print(d[“zhangsan”]) print(d[“lisi”]) 循环打印字典d1 = {“zhangsan”: 89, “lisi”: 90, for i in d1: i 表示的是字典当中的键, d[i]—字典当中的值 print(“—”,i,d1[i]) 总结,和list相比,dict的优缺点 ‘’’ 1.查找和插入的速度快,不会随着key的增加而增加 2.需要占用大量内存,内存浪费 ‘’’ list 优缺点 ‘’’ 1.查找和插入的时间,随着元素的增加而增加2.占用空间小,浪费内存小。 ‘’’ #dict的注意事项 ‘’’ 字典当中的key是不可变对象,唯一,不能重复通过key计算位置的算法(字典),我们称为: ‘’’ a = {1:“asd”,1:“qwe”} print(a) dic1 = {“zhangsan”:[180,87,98]} #如何取87 l = dic1[“zhangsan”] l[1] print(dic1[“zhangsan”][1]) dic2 = {‘lisi’:{“爱好”:[1,2,3],“score”:98}} #如何取3 a = dic2[‘lisi’][“爱好”][2] print(a) 1 缩进方式: 1、python基础 4个空格=一个tab #开头语句是注释 Abs(-177)=177 2、大小写敏感(两个单词拼接词开头都要大写,同一个词大小写不同意思就不同) 计算机由于使用二进制,所有有时候使用十六进制更方便,0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等 3、数据类型和变量:代表计算机中不同的数据 python的数据类型:整数:1,100,-8080,0(整数,负整数,0) 浮点数:(数学当中的小数) 如,1.23 3.14 -9.01等等,但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23×109就是12.3e8,0.000012可以写成1.2e-5,等等 字符串:(以’’单引 或者””双引 括起来的任意字符)转移字符右斜杠(n换行 t制表符也表示转义表示字符) 4、布尔值(True、False)(!=就是不等于) 布尔值可以用and(只有所有都正确才是True)、or、not表示 And–只有一个为假就是假 Or–只有一个为真就是真 Not–非,取反 空值 none:空值是python里的一个特殊的值,用none表示。none不能理解为0,因为0是有意义的,而none是一个特殊的空值。 python的数据类型:整数、浮点数、字符串、布尔值、空值。 2 python解释器干了两件事: 1、在内存中创建了一个‘ABC’的字符串 2、在内存中创建了一个名为A的变量,并把他指向‘ABC’ 也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据 变量 总结: 整数除法永远是整数,即使除不尽,要做精确的除法,只需要把其中一个整数换成浮点数做除法就可以。 无论整数做除法还是取余数,结果永远是整数,所有,整数运算永远是精确的。 1、python支持多种数据类型。 2、在计算机内部,可以把任何一个数字看成对象 对象有它具体的行为(方法和函数)和属性 3、变量就是在程序中用来指向这些数据对象的 4、变量赋值就是把数据和变量给关联起来 字符串和编码 字符编码: 首先我们知道,字符串也是一种数据类型,但是,字符串有点特殊的是还有一个编码问题 因为计算机只能处理数据,如果要处理文本,就必须先把文本转换成数据才能处理,最初的计算机在设计时采用8个比特(bit)作为一个字符(byth),所以,一个字节能表示的最大整数就是255(二进制1111111=十进制255),如果要表示更大的整数,就必须用更多的字节,比如两个字节能表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 现在捋一捋ASCII编码和unicode编码的区别:ASCII编码是1个字节,而unicode编码通常两个字节 总结:在计算机内存中,统一使用unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF8。 3 一、list复习, tuple学习 list列表: 一种数据类型,有序集合,可以任意添加删除元素。 [] tuple元组:也是一种数据类型,有序,不能添加或删除元素,即:tuple一但初始化就不能修改了。没有list 的添加删除方法(没有append(),insert(), pop()等方法)。 定义:L=() classmates = (‘zhangsan’,’lisi’,’wangwu money=(3000,4000,5000) tuple的意义优点:tuple一但初始化就不能修改了,代码更安全。如果可能,能有tuple代替list就尽量用tuple。
{“zhangsan”: 89, “lisi”: 90, “wangwu”: 78}
“wangwu”: 78}
哈希算法
,其他和list相同,eg:索引表示,计算tuple长度:len()。
’,’’sdf”) list = [[]]
tuple = ([1,2,3],[4,5,6],[7,8,9])
如果tuple里面有list,那么可以改变list的元素。
tuple = ([1, 2, 3], [4, 5, 6], [7, 8, 9])
print(tuple[0])
print(type(tuple[0]))
print(tuple[0].append(122))
print(tuple)
6 ——— tuple[1][2]
tuple 的缺陷:当你定义一个tuple时,在定义的时候,tuple 的元素就必须被确定下来。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210888 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!