- 程序与计算机
程序(Program)
流程、议程、行程,为了完成某项任务,解决某个问题所需要执行的一系列步骤。
计算机程序
为了完成某项任务,解决某个问题由计算机执行的一系列指令(步骤)
计算机(Computer)
能够按照程序自动运行的机器
组成:硬件(Hardware计算机的躯壳)、软件(Software计算机程序,计算机的灵魂)
输入设备、存储器、控制器、运算器、输出设备(冯.诺依曼体系结构)
(控制器和运算器组成CPU)
- 程序设计语言
高级语言(high-level language):Python(解释型语言)
优点:易学易用,可读性高,面向对象,支持泛型设计,支持函数式编程,丰富的数据结构和第三方函数库,功能强大
>>> print("Hello World!") #打印Hello,World!到屏幕上
Hello World!
- 命令行和脚本的比较
命令行:无需创建文件,立即看到运行结果。适用于语句功能测试
脚本:反复运行,易于编辑,适用于编写大型程序
- 对象和类型
1、五种基本对象类型
◎字符串(string):使用’’和””括起来的一系列字符 str
◎整数:十进制、八进制、十六进制 int
◎浮点数:1.48,21.0 float
◎布尔数:True,False bool
◎复数:1+j complex
2、为什么区分对象类型
(1)不同类型对象运算规则不同
整数的加法和字符串的加法含义不同
>>> 1+2
3
>>> '1'+'2'
'12'
(2)不同类型对象在计算机内表示方式不同 5->101,’5’->1001101
(3)为什么区分整数和浮点数
浮点数表示能力更强,浮点数有精度损失,CPU有专门的浮点数运算部件
>>> 1.1+1.1
2.2
>>> 1.1+1.1+1.1
3.3000000000000003(精度损失)
- 算术运算符
>>> 3.14*3*3
28.259999999999998
>>> (1.65+1.78+1.82)/3
1.75
>>> 2**3
8
>>> 2**2**3
256
自动类型转换:若参与运算的两个对象的类型不同,则按照以下规则进行自动类型转换
bool -> int -> float -> complex
◎math模块
模块(module):实现一定功能的Python脚本集合
引入模块:import module_name
查看模块内容:dir(module_name)
查看帮助:help(math.sin)
>>> import math
>>> dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
#查看该函数
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
>>> help(math.sin)
Help on built-in function sin in module math:
sin(x, /)
Return the sine of x (measured in radians).
- 关系运算符与逻辑运算符
1、用于判断两个值的关系:大小、相等或不等。运算结果只有两种(布尔型)True条件成立,False条件不成立。
2、and 、or、 not
and:一个为假,即为假
or:一个为真,即为真
not :取反
判断闰年:(y % 4 == 0 and y % 100 != 0) or (y % 400 == 0)
>>> (2014 % 4 == 0 and 2014 % 100 != 0) or (2014 % 400 == 0)
False
>>> (2000 % 4 == 0 and 2000 % 100 != 0) or (2000 % 400 == 0)
True
3、运算符优先级
括号具有最高优先级,嵌套括号由内而外展开
规则:自上而下,括号最高,逻辑最低,自左向右,依次结合
- 变量(Variable)
用于引用(绑定)对象的标识符
语法:变量名 = 对象(数值、表达式等)
>>> pi = 3.14
>>> radius = 12.3
>>> area = pi * radius **2
>>> print(area)
475.0506000000001
>>> radius = 23.4
>>> print(area)
475.0506000000001 #结果仍不变
- 标准(键盘)输入、标准(控制台)输出
1、raw_input 函数
功能:读取键盘输入,将所有输入作为字符串看待
语法:raw_input([prompt])
举例:radius = float(raw_input(‘Radius:’))
2、print 关键字
功能:将对象的值输出到控制台上
\n 回车 \t 空格(Tab) \\ 一个\ \a 响铃 \’ 单引号 \’ ’双引号