1、什么是计算机
计算机是根据指令操作数据的设备,它满足两大特性:①功能性;②可编程性
功能性:对数据的操作,比如计算、输入输出和结果存储
可编程性:可以根据一系列指令自动地、可预测地、准确地完成目的
2、计算机发展阶段
第一阶段:系统结构阶段,主要围绕系统结构开展,服务于科学计算。
第二阶段:网络和视窗阶段,围绕网络技术、视窗技术、多媒体技术发展。
第三阶段:复杂信息系统阶段,一系列新的计算概念和技术出现,包括移动互联网、多核众核、云计算、大数据、物联网等。
第四阶段:人工智能阶段
3、什么是程序设计语言
是能理解和识别用户操作意图的一种交互系统,按照特定规则组织计算机指令,使得计算机能够自动进行各种运算处理,也叫编程语言。
包括3大类:机器语言、汇编语言、高级语言。
机器语言:二进制,计算机硬件可以直接识别和执行
汇编语言:使用助记符与机器语言中的指令一一对应
高级语言:接近自然语言,分为静态语言和脚本语言2类。
静态语言:采用编译执行,将源代码转换成目标代码,通常源代码是高级语言,目标代码是机器语言,执行的程序为编译器。如C、JAVA
脚本语言:采用解释执行,将源代码转换成目标代码的同时逐条运行。执行解释的程序为解释器。如Pyhton、PHP
编译和解释的区别在于:编译是一次性翻译,解释是每次运行都需要解释器和源代码。
4、运行程序的2种方法
交互式:即时响应用户输出的每条代码,给出输出结果。
文件式:批量式,用户将python程序写在一个或多个文件中,然后启动python解释器批量执行文件中的代码。
①使用windows键盘win+R,输出cmd进入命令行工具,输出python(前提是已安装python,安装在官网Welcome to Python.org)进入python,在提示命令符之后输入程序代码。使用exit()或者quit()推退出。
②调用安装的IDLE启动环境。安装python时软件包会自带集成开发环境。更推荐使用其他的集成开发环境,如pycharm。
5、开始运行python程序
目前还不需要理解具体含义,只是开始尝试如何编写代码。
print('Hello,world!')
radius = 25
area = 3.1415 * radius * radius
print(area)
print("{:.2f}".format(area))
name = input("输入姓名:")
print("你好,{}同学!".format(name))
print("欢迎你,{}同学!".format(name[0]))
print("{}同学,祝你马到成功!".format(name[1:]))
a,b = 0,1
while a < 1000:
print(a,end = ',')
a,b = b,a + b
from datetime import datetime
now = datetime.now()
print(now)
now.strftime("%x")
now.strftime("%x")
6、IPO程序
每个程序都有统一的程序编写方法:IPO,即input-process-output
输入input:程序的开始,有多种输入方法,如文件输入、网络输入、控制台输入等
输出output:以计算机屏幕为输出目标,通过程序运行环境中的命令行打印输出结果。
处理process:程序对输入数据进行计算产生输出结果的过程,计算问题的处理方法统称为算法。
7、程序的语言元素
①缩进:约束程序结构,提高可读性。一般用来表示代码之间的包含和层次关系。可用空格和Tab键表示。
②注释:辅助性文字,不会被执行。
③命令与保留字:变量用来保存和表示具体的数据值,为了更好使用变量,需要给其关联一个标记符,关联标记符即命令,确定程序元素的唯一性。命令首字母不能是数字、中间不可为空格。注意命令对大小写敏感。命令不能和保留字重合。
保留字是关键字,是语言内部定义的标识符。python有33个保留字:False、def、if、raise、None、del、import、return、True、elif、in、try、and、else、is、while、as、except、lambda、with、assert、finally、nonlocal、yield、break、for、not、class、from、or、continue、global、pass
④字符串:文本在程序中用字符串表示。字符串用双引号或者单引号括起来。字符串是字符的序列,可以按照字符来索引。
正向索引:从0开始;反向序列:从-1开始。区间访问采用[N:M]格式,遵循左闭右开原则,包括从N到M且不包括M的子字符串。正向和反向可混用,如[0:-1]表示全部子字符串。
⑤赋值:程序中产生或计算新数据值的代码称为表达式。 = 表示赋值,将右边的计算结果赋给左边变量。包含等号的语句为赋值语句。
同步赋值:一次赋值N个变量,格式为:x,y,z = A,B,C
8、input函数
imput函数从控制台获取用户输入。
Tmepstr = input("请输入带有符号的温度值:")
标准格式为: 变量 = input()
9、分支
分支是根据判断条件来选择程序的执行路径。
Tmepstr = input("请输入带有符号的温度值:")
if Tmepstr[-1] in ['F','for ']:
C = (eval(Tmepstr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif Tmepstr[-1] in ['C','c']:
F = 1.8 * eval(Tmepstr[0:-1]) +32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
标准格式:
if 条件1:
语句1
elif 条件2:
语句2
.....
else:
语句N
10、eval函数
x = 1
print(eval("x + 1"))
print(eval("1.1 + 2.2"))
eval函数的作用是将输入的字符串转变成python语句并执行。
11、print函数
print函数输出函数输出字符信息,也能以字符形式输出变量。
print("Hello,World!")
12、循环语句
循环语句与分支语句类似都是根据判断条件确定一段程序是否再次执行或多次执行的语句。
标准格式
while 条件1:
语句1
语句2
当条件为真时执行1,否则执行2
13、函数
def tempConvert(ValueStr):
if ValueStr[-1] in ['F','f']:
C = (eval(ValueStr[0:-1]) - 32)/1.8
print('转换后的温度是:{:2f}C'.format(C))
elif ValueStr[-1] in ['C','c']:
F = 1.8 * eval(ValueStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
TempStr = input("请输入带有符号的温度值:")
tempConvert(TempStr)
这里用def保留字定义了一个名为tempConvert的函数,它使用了一个参数ValueStr
简单来说,该程序通过def语句定义了tempConvert函数,并将原有功能封装在该函数中。
14、turtle库
turtle库是一个图形绘制函数库。
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40 * 2/3)
.是经典表达形式,表示调用一个对象的方法,也可以说调用一个函数库a里面的函数b
引用函数库:
import 库名
或 from 库名 import 函数名
from 库名 import *
绘制坐标:turtle.setup(窗口宽度,窗口高度,窗口左侧与屏幕左侧的像素距离,窗口顶部与屏幕顶部的像素距离)
画笔控制
抬笔:turtle.penup()
落笔:turtle.pendown()
设置画笔尺寸:turtle.pensize(画笔宽度)
设置画笔宽度:turtle.width(),无参数输入返还当前画笔宽度
设置画笔线条颜色:turtle.pencolor()
控制画笔行进方向:turtle.fd()
改变画笔方向:turtle.seth()
绘制弧形:turtle.circle(半径,角度),角度为None时为整个圆形
15、数字类型
划分数字类型是为了确定性和高效性。确定性是无歧义表示数据的类型含义,高效性是提供较高计算速度和更少的存续空间。
python有3种数字类型:整数、浮点、复数。
16、整数类型
与数学中整数的概念一致。整数类型有4种进制。
十进制
二进制:前缀为0b或者0B
八进制:前缀为0o或者0O
十六进制:前缀为0x或者0X
17、浮点数类型
与数学中实数的概念一致,表示带有小数的数值。
浮点数和整数由计算机不同硬件单位执行,处理方法不同。同样他们的数值范围和精度不同。
python语言能够支持无限制且准备的整数计算,因此如果追求精度应当采用整数而非浮点数。
18、复数
与数学中复数的概念一致,可以看成是二元有序实数对(a,b),其实a为实数部分,b为虚数部分。python中虚部后面加j
获取复数z的实数部分:z.real
获取复数z的虚数部分:z.image
19、数值运算操作符
python提供了9种内置的基本数值运算操作符
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| // | 整数商 |
| % | 商的余数 |
| -x | x的负数 |
| +x | x的本身 |
| ** | x的y次幂 |
20、常用的数值运算函数
| abs(x) | 绝对值 |
| divmod(x,y) | (x//y,x%y) |
| pow(x,y,[z]) | (x**y)%z |
| round(x[,ndigits]) | 四舍五入,保留ndigits位小数 |
| max(a,b,c) | 取最大值 |
| min(a,b,c) | 取最小值 |
21、数字类型转换函数
| int() | 转换成整数 |
| float() | 转换成浮点数 |
| complex(re[,im]) | 生成一个复数,前实后虚 |
22、math库
math库是python的内置数学类函数库
| math.pi | |
| math.e | e |
| math.inf | ∞ |
| math.nan | NaN |
| fabs() | 绝对值 |
| fmod(x,y) | x%y |
| fsum(a,b,c) | 求和 |
| ceil() | 向上取整 |
| floor() | 向下取整 |
| factoria() | 阶乘 |
| gcd() | 最大公约数 |
| frepx(x) | 返回(m,e),x=m×2e |
| ldexp(x,i) | 返回x×2^i |
| modf() | 返还小数和整数部分 |
| trunc() | 整数部分 |
| copysign(x,y) | 用y的正负号代替x的正负号 |
| isclose() | 比较相似性返还True或False |
| isfinite() | 无穷大返回True,否则False |
| isinf() | 正数或负数无穷大返回True,否则False |
| isnan() | 是NaN返True,否则False |
| pow(x,y) | x的y次幂 |
| exp() | e的x次幂 |
| expml() | e的x次幂减1 |
| sqrt() | x的平方根 |
| log(x[,base]) | x的对数值,只输入x返回ln x |
| log1p(x) | ln (1+x) |
| log2(x) | 返回x的2对数值 |
| log10(x) | 返回x的10对数值 |
| degree() | x的弧度值转角度值 |
| radians | x的角度值转弧度值 |
| hypot(x,y) | (x,y)到(0,0)的距离 |
| sin(x) | sinx |
| cos(x) | cosx |
| tan(x) | tanx |
| asinx(x) | arcsinx |
| acos(x) | arccosx |
| atan(x) | arctanx |
| atan2(y,x) | arctany/x |
| sinh(x) | sinhx |
| cosh(x) | coshx |
| tanh(x) | tanhx |
| asinh(x) | arcsinhx |
| acosh(x) | arccoshx |
| atanh(x) | arctanhx |
23、字符串类型
字符串是字符的系列表示,可用单引号、双引号或三引号表示。三引号用于多行字符串表示、
字符串用Unicode编码存储,英文字符和中文字符都算1个字符。
| x + y | 连接2个字符串 |
| x*n | 复制n次x字符串 |
| x in s | 如果x是s的子串返回True,否则Flase |
| str[i] | 返回第i个字符 |
| str[N:M] | 切片,返回索引第N到第M的子串,包括N但不包括M |



