python的简介:
创始人:Guido van rossum(荷兰人)
时间:1989圣诞节期间
python的命名:源于一个戏剧团 mouty python
python的应用领域
系统运维
网络编程
科学计算
人工智能,机器人
web开发
大数据及数据库编程
云计算
教育 ---->今年6月就可以考python语言计算机等级
游戏,图像
其它
python的优缺点
优点:面向对象(Java,c++,python)
免费
可移植
可混合编程(c/c++/java/.net)
简单易学易用
应用领域广泛
开发效率高
开源
缺点:
于c/c++相比执行速度不够快
不能封闭源代码
python 的官网: www.python.org
python的版本
Python v2.7(2020年结束维护)
python v3.5 (当前教学版本)
python v3.8 (最新版本)
Python的安装:
windows / mac os x /unix ...
python的运行:
python的解释执行器
cpython
jython
Ironpython
pypy
第一个python程序
见:hello.py
python的运行
1.python3 + xxx.py
2.chmod +x xxx.py
#修改 xxx.py 第一行 #! /usr/bin/python3
$./xxx.py
python交互提示模式
直接输入 python3
>>> #<--可以在>>>提示符下
Python的注释:
#开头,直至行尾
作用:
让注释内容不参加解释执行
python的核心数据类型:
数字(整数,浮点数,复数,布尔型)
字符串
列表等
1、python 程序的组成:
程序由模块组成
模块由语句,函数,类,数据等组成
语句包含表达式
表达式建立并处理数据对象
2、python 注释
以 # 开头,直至行尾
3、python核心数据类型
数字(整型int,浮点数,复数,布尔型)
字符串
列表等
(1.)整型数 int
整型数是不带小数部分的数学,包含自然数,0, 及负数 如:-5,10000,0等
(2.)整型数的字面值表示方式:
十进制表示:
10 200 999等
二进制表示(0b开头,后跟0~1):
0b111
0b110
0b100
八进制方式表示(0o开头,后跟0~7):三位
0o177 #127
0o11 #9
十六进制表示(0x开头,后跟0~9,A~F,a~f):四位
0x11 #11
0xFF #255
0x1234ABCD
4、进制转换
十进制(逢十进一)
二进制(逢二进一)
八进制(逢八进一)
十六进制(逢十六进一)
练习:
计算 0xffff表示多少:65535
计算 0b1001表示多少:9
计算 0o71 表示多少:57
试把 13 转为 二进制表示 0b1101
试把 18 转为十六进制表示 0x12
5、浮点型数 float
浮点数是带有小数部分的数字
表示方式:
小数形式:
3.14 3.1 2.1 1.2 0.1
科学计算法:
格式:
小数e/E(正负号)指数
如: 6.18E-1 代表0的负一次方
2.9979e8 代表0的8次方
6、复数 complex
分为两部分:
实部(real)
虚部(image)
虚部以j或J结尾
字面值
1j,(2j),1+1J, 3-4J, (-100-1001)
7、布尔类型数(bool)
用来表示真和假两个状态的类型
true 表示真(条件满足或成立)
flase表示假(条件不满足或不成立)
说明:
True 的值为1
False 的值为0
8、空值None对象
None是一个表示不存在的特殊对象
作用:
用来占位
用来变量解除绑定
9、表达式 和 运算符(也叫操作符)
表达式 expression
由一个数字或 数字的运算符组成
作用:
通常让计算机做一些事情并返回结果
例:
1+2
运算符:
算术运算符:
+ 加法
- 减法
* 乘法
/ 除法
// 地板除
% 求余
** 幂运算
除法:
除法得到的数是浮点数,不会丢弃小数部分
1/3 = 0.333333
4/2 = 2.0
// 地板除:
除的结果去掉小数部分向下取整
7 / 3 # 得2.333333333
7 // 3 # 得 2
8 // 3 # 得 2
%求余:(也叫取模)
10 % 3 # 得 1
3.25 % 1.5 # 得 0.25
**幂运算
格式:
x**y
意味x的y次方
4 ** 2 #得 16
3.0 ** 4.0 #得 81
5.6 ** 1.418 #得11.5061656
练习:
用交互模式求:
1. 一个商店卖西瓜7元一个,你带20元能买几个西瓜,找零多少钱?
2. 一个学生毕业的薪资是10000元,每年涨20% 十年后他的薪资是多少?
10000 * (1+0.2) ** 10
10、运算符的优先级
**
* / // %
+ -
示例:
1+3*3**2+4//2
1+3*9+4//2
1+27+4//2
1+27+2
28+2
30
11、括号分组子表达式
用()可以将表达式分组,()内的表达式先进行 计算
12、混合类型自动升级
1+2.14 返回浮点数 3.14
13、基本输出函数 print
格式:
print (要打印的数据)
各数据可以用逗号“,”分隔开
示例:
print("hello")
print("1+2=",1+2)
练习:*********
* *
*********
答案:
print("*********")
print("* *")
print("* *")
print("*********")
14、变量 variable
什么是变量
变量是用来绑定数据对象的标识符
1.变量名的命名方法:
变量名必须是字母或下划线开头,
后跟字母或下划线或数字
2.不能使用Python的关键词做变量名
合法的变量名示例:
a a1 b bbb _aaa _Abcda
不合法的变量名示例:
la 123 $ABC +a -b #ab @ab
a*b a|b
python的关键字:
True,False,None,is,del,if,elif等
15、赋值语句 statenent
语法:
变量名=表达式
或
变量名1= 变量名2=表达式
或
变量名1,变量名2,... = 序列
作用:
用于创建变量并将变量绑定(或关联)在一个对象上
说明:
1.当变量不存在时,创建该变量同时绑定在这个对象上
2.当变量不存在时,改变此变量的绑定的对象
3.一个变量只能绑定一个对象
4.两个变量可以同时绑定同一个对象
示例:
a=10 # 创建一个变量,和10绑定在一起
b=20
c=a+b #创建变量c,和10+20的结果绑定在一起。
a1=b1=b1=100
x,y = 100,200
练习:
指定一个圆的半径r为3cm
1.计算出圆的周长是多少厘米?
2.计算出圆的面积是多少平方厘米?
(要求用变量来代替3cm和圆周率3.1415926)
答案:r=3
p=3.1415926
print("圆的周长是:",2*p*r)
print("圆的面积是:",p*r**2)
16、python中 关联/绑定/引用的含义
在python中,变量没有类型
关联/绑定/引用都是指变量和一个对象的关联关系
一、(1)在交互模式下查看变量的绑定关系:
>>>help("__main__")
(2)python中的自动化内存管理
a=10000
b=20000
a=a+b
help("__main__")
#发生了哪些事?
a = 30000
b = 20000
二、序列赋值的语法:
变量名1,变量名2,...= 对象1,对象2,...
变量名1,变量名2,...=(对象1,对象2,...)
变量名1,变量名2,...= [对象1,对象2,...]
示例:x y z 10, 10+20,400
最终显示为:x=10 y=30 z=400
变量的交换绑定练习:
已知有两个变量:
a绑定10000
b绑定20000
问:在不创建任何新对象的情况下,如何让a和b交换绑定的对象?
a = 10000
b = 20000
....
print(a) # 20000
print(b) # 10000
(1)序列语句交换:a=b ,b=a
print(a) # 20000
print(b) # 10000
(2)借助一个变量:
a = 10000
b = 20000
c=a
a=b
b=c
print(a) # 20000
print(b) # 10000
16、is/is not运算符
作用:
判断两个变量是否绑定是同一对象,如果是同一个返回True,否返False
语法:
x is y
x is not y
小整数对象池
CPython中整数-5 至 256
永远存在于小整数池中,不会释放并可重复使用
示例:
a = 5
b = 5
a is b # True
a = 1 + 4
b = 2 + 3
a is b # True
17、id()函数
格式
id(对象)
作用:
返回一个对象在内存中的地址
18、del 语句(del 是delete的简写)
作用:
用于删除变量,同时删除与对象的关联关系,如果可能则释放对象
语法:
del 变量名
Python 的内存管理和引用计数
每个对象都会记录有几个变量引用自身,当引用的数量为0时,则对象删除被销毁,此种自动化内存管理的方式叫引用计数
19、复合赋值算术运算符;
运算符 说明
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
练习:
1.在终端输出图形
*
***
*****
*******
2.中国古代的秤是16两一斤,请问216两是古代的几斤几两?写程序打印出来
3.从凌晨0:0:0计时,到现在已经过了68400秒
请问现在是几时,几分,几秒?写程序打印出现在的时间
提示:
可以用地板除和求余实现
答案:
#1
print(" * ")
print(" *** ")
print("***** ")
print("****** ")
#2
a=216
b=16
print('古代216两是:',a//b,'斤', a%b,'两')
#3
a =68400//3600
b =(68400%3600)//60
c =68400%3600%60
print('现在是:',a,':',b,':',c)