Python简介
定义:python是一个免费,开源,可以跨平台,动态,面向对象的编程语言。
python的执行方式
交互式:
在命令行输入指令,回车即可得到结果。
1.打开终端
2.进入交互式:python3
3. 编写代码:print(“hello world”)
4. 离开交互式:exit()
文件式:
将指令编写到.py文件,可以重复运行程序。
1.编写文件。
2.打开终端
3.进入程序所在目录:cd 目录
4.执行程序:
python3 文件名
python的过程
- 由源代码转变成机器码的过程分成两类:编译和解释。
- 编译:在程序运行之前,通过编译器将源代码变成机器码,例如:C语言。
– 优点:运行速度快
– 缺点:开发效率低,不能跨平台。 - 解释:在程序运行之时,通过解释器对程序逐行翻译,然后执行。例如Javascript
– 优点:开发效率高,可以跨平台;
– 缺点:运行速度慢。 - python是解释型语言,但为了提高运行速度,使用了一种编译的方法。编译之后得到pyc文件,存储了字节码(特定于Python的表现形式,不是机器码)。
源代码 – 编译 --> 字节码 – 解释 -->
机器码
|————1次———| 字节码 |————每次————|
------------编译-------------------------------- 解释------------
数据基本运算
函数
表示一个功能,函数定义者是提供功能的人,函数调用者是使用功能的人。
Input(打印)
- 字面意思:打印(输出/显示)
- 作用:将括号中的内容显示在终端中
- 适用性:显示结果
print(“结果”)
- 字面意思:输入
- 作用:将终端中录入的信息输入到程序中
- 适用性:获取数据
例.
result = input(“提示信息”)
name = input(“请输入姓名:”)
print(“你好:” + name)
变量
- 建议命名:建议命名:字母小写,多个单词以下划线隔开。
- 赋值:创建一个变量或改变一个变量关联的数据。
- -程序运行在哪里? -------> 内存
-程序在处理什么? -------> 数据
-核心价值:在内存中操作数据
-语法:
-名称 = 数据名称1,
-名称2 = 数据1,
-数据2名称1 = 名称2 = 数据1
del语句
- 语法:
del变量名1, 变量名2 - 作用:
用于删除变量,同时解除与对象的关联.如果可能则释放对象。 - 自动化内存管理的引用计数:
每个对象记录被变量绑定(引用)的数量,当为0时被销毁。
例.
name02 = name01 = “八戒”
name03 = name02
del name01
name03 = name02 = “悟空”
核心数据类型
- 在python中变量没有类型,但关联的对象有类型。
- 通过type函数可查看。
·空值对象None
- 表示不存在的特殊对象。
- 作用:占位和解除与对象的关联。
占位
name = None
解除与对象的关联
score = 100
score = None
·整型int
- 表示整数,包含正数,负数,0
- 字面值:
十进制:5
二进制:0b开头,后跟1或者1
八进制:0o开头,后跟0~7
十六进制:0x开头,后跟09,AF,a~f
·浮点型float
- 表示小数,包含正数、负数,0.0)。
- 字面值: 小数:1.0 2.5 科学计数法:e/E (正负号) 指数 1.23e-2 (等同于0.0123) 1.23456e5(等同于123456.0)
- 例
浮点型(小数)
float类型 number01 =1.5
print(number01)
number02 =15e-1
number03 = 0.00000000001# 1e-11
print(number03)
·字符串
-
是用来记录文本信息(文字信息)。
字面值:双引号 -
例
-
字符串str类型
-
message = “我爱编程”
- message = “1.5”
·布尔bool
用来表示真和假的类型
True 表示真(条件满足或成立),本质是1
False 表示假(条件不满足或不成立),本质是0
数据类型转换
- 转换为整形: int(数据)
- 转换为浮点型:float(数据)
- 转换为字符串:str(数据)
- 转换为布尔:bool(数据)
结果为False:bool(0) bool(0.0) bool(None) - 混合类型自动升级:
1 + 2.14
返回的结果是 3.14
1 + 3.0
返回结果是: 4.0
“”"
类型转换
语法逻辑:
结果 = 类型名(待转类型)
“”"
input函数的结果是str类型
- str —> int / float
适用性:需要对象字符串进行数学运算
注意:待转数据必须"像"转换的类型. - number = float(“200.5”)
- print(number)
- int / float —> str
适用性:需要按照某种格式显示计算后的数值 - print(str(10.5))
运算符
·算术运算符
“+” 加法
“-” 减法
“*” 乘法
/ 除法:结果为浮点数
// 地板除:除的结果去掉小数部分
% 求余
** 幂运算
-
优先级从高到低:
() ** * / % // + -
Exercise
练习:时间换算
获取分钟数
获取小时数
获取天数
- hour = input(“请输入小时数:”)
day = input(“请输入天数:”)
result = int(minute) * 60 + int(hour) * 60 * 60 + int(day) * 24 * 60 * 60
print(day + “天” + hour + “小时” + minute + “分钟总共是” +
str(result) + “秒.”)
·增强运算符
y += x 等同于 y = y + x
y -= x 等同于 y = y - x
y *= x 等同于 y = y * x
y /= x 等同于 y = y / x
y //= x 等同于 y = y // x
y %= x 等同于 y = y % x
y **= x 等同于 y = y ** x
exercise
- data01 = 6
运算后的结果,不影响变量自身
print(data01 + 1)# 7
print(data01)# ? 6 - data01 = 6
运算后的结果,又赋值给了变量自身
.data01 += 1 # data01 = data01 + 1
print(data01)# 7
·比较运算符
-
< 小于
<= 小于等于
“>” 大于
“>=” 大于等于
== 等于
!= 不等于
返回布尔类型的值
比较运算的数学表示方式:0 <= x <= 100 -
例" > "< >= <=
等于== 不等于!=
比较数值大小,结果是bool类型
data01 = 50
data02 = “50”
print(data01 == data02) # false
print(50 != “50”) # false
·逻辑运算符
与and
表示并且的关系,一假俱假。
- 示例:
True and True # True
True and False # False
False and True # False
False and False # False
或or
表示或者的关系,一真俱真
- 示例:
True or True # True
True or False # True
False or True # True
False or False # False
非 not
表示取反
- 例如:
not True # 返回False
not False # 返回True
·短路逻辑
-
一但结果确定,后面的语句将不再执行。
价值:尽量将耗时的判断放在后面 -
False and ?
result = 1 > 2 and input(“请输入”) == “a”
True or ? result = 1 < 2 or input(“请输入”) ==“a”
终端中是否有"请输入"
一但结果确定,后面的语句将不再执行。