<>
python 简介
创建人: Guido Van Rossum
时间 : 1989
排名 : Java C C++ python
python应用领域
系统运维
网络编程
科学计算
人工智能,机器人
web开发
云计算
大数据及数据库编程
教育
游戏,图像等
python的优缺点
优点:
面向对象(Java ,C++,Phthon ,C ,Swift)
免费
可移植(Windows/linux/Unix)
可混合编程(C/C++/Java/.net)
简单易学易用
开发效率高
应用领域广泛
开源
缺点:
与C/C++相比,执行速度不够快
不能封闭源代码
python的官网
http://www.python.org
python的版本:
python V2.7 (2020年结束维护)
python V3.5 (当前教学版本)
python V3.8 (最新)
下载地址: http://www.python.org/getit
python的安装:
可以安装在Linux/Windows/Unix下
python的运行
python的解释执行器的类型
CPython(C语言开发)
Jython Java开发
IronPython(.net)
第一个Python程序
Visual Studio Code使用
编写 hello.py
写入: print("hello world!") -----左侧不能加空格
执行在终端内
$ python3 文件路径名.py
python文件的后缀
.py python后缀
.c C语言后缀
.cpp .cxx .cc .c C++语言后缀
.Java Java语言后缀
在python的交互模式下编写并执行代码
进入交互模式:
$ python3 <回车>
退出交互模式:
>>> quit() <回车>
>>> exit() <回车>
>>> ctrl+D
python的注释:
以#开头至行尾
作用:让注释内容不参加解释执行
vs code 快捷键: ctrl + /
python程序的组成
程序由模块组成
模块由语句,函数,类等组成
语句包含表达式
表达式建立并创建数据对象
python的核心数据类型
数字(整数,浮点型数,复数,布尔型数(bool))
字符串 str
列表等
整型数 int
自然数,负自然数
如:-5 ,0,100
整型数的字面值的表示方式:
十进制表示
如: 100
200
99999999
-100
0
八进制表示(以0o开头,后跟0~7)
如: 0o177(127)
0o11(9)
十六进制表示(0x开头,后跟0~9,A-F,a~f)
如: 0x11(17)
0x10(16)
0xFF(255)
0x0a(10)
0x1a2b3c4d
二进制(0b开头,后跟0~1)
如: 0b0000000
0b01010101
0b10011010
0b101
进制转换:
十进制:逢十进一
二进制:逢二进一
...
浮点型数 float
浮点数是带有小数部分的数字(小数部分数字可以为0)
浮点数字面值的表示方式:
小数表示:
如: 3.14 3.1 3. 0.14 .14
科学计数法
格式:
小数 e/E 正负号 指数
如:
6.18E-1 等同于0.618
2.9979e8 等同于299790000.0
复数的表示方式: complex
分为两部分:
实部 (real)
虚部 (image)
如:
1j
1+2j
-2j
(-100+200j)
注:虚部以j或J结尾的数
布尔型数 bool(boolean)
用来表示真假两种状态的类型
True 表示真 (条件满足或成立)
False 表示假 (条件不满足或不成立)
说明:
True 的值为1
False 的值为0
空值None
None是一个表示不存在的特殊对象
作用:
用来占位
变量解除绑定
表达式和运算符(操作符)
表达式:exoression
由一个数字 或 数字和运算符组成
作用:让计算机做事情并返回结果(一定会返回结果)
示例:
1
1+2
算术运算符:
+ 加
- 减
* 乘
/ 除
得到的数是浮点数,不会丢弃小数部分
// 地板除 除的结果去掉小数部分向左取整
% 求余
** 幂运算 x**y 表示x的y次方
练习:
一个商店卖西瓜7元/个,带了20元,能买几个西瓜,找了多少?
20//7 20%7
括号分组子表达试
用()可以将表达式分组,()内部的表达式先进行计算
混合类型自动升级
1+2.14 返回类型的浮点数 3.14
print 基本输出函数
格式 print(要打印的东西)
注:多个数据用逗号分隔
变量
什么是变量
变量是关联一个对象的表示符
变量可以绑定一个对象,并可能通过变量名来使用这个对象
标识符的命名方法
标识符必须以字母或下划线开头,后跟字母或下划线或数字
不能使用python的关键字
变量名区分大小写
合法的变量名:
a a1 a100 nnnn bbbb hello _abc var
不合法的变量名:
1a 123 $abc +a #abc Ture
python的关键字不能作为变量名
True False None is del if while for....
赋值语句
语法:
变量名=表达式
或 变量名1=变量名2=变量名3=表达式
变量名1,变量名2,变量名3...=数值1,数值2,数值3,...
作用:
创建一个变量或修改一个变量绑定的数据
说明:
当变量不存在时,创建该变量,同时将变量绑定在表达式返回的对象上
当变量存在时,改变此变量绑定的对象
一个变量只能绑定一个对象
两个变量可以同时绑定在同一个对象上
练习:
指定一个半径为3厘米的圆,计算
1圆的周长 (2*pi*r)
2圆的面积 (pi*r**2)
(尝试使用变量)
pi =3.14
r=3
c=2*pi*r
s=pi*r**2
print("圆的周长是:",c,"cm""\n""圆的面积是:",s,"cm2")
python 中关联,绑定,引用的含义
在python中,变量是没有类型的
关联,绑定,引用都是指变量和一个对象的关联关系
a,b,c=100,200,300 序列赋值
python中自动化内存管理
a=1000
b=2000
a=a+b #释放1000这个对象,a重新绑定在3000上
c=a #c同时绑定在3000上
练习:
变量交换练习:
已知有两个变量
a绑定10000
b绑定20000
问在不引进新变量a,b互换
(1) a,b=b,a
(2) a=10000
b=20000
temp=a
a=b
b=temp
在交互模式下,查看当前作用域内的所有变量
>>>help('__main__')
del 语句
作用:用于删除变量,同时解除与对象的关联关系,如果可能则释放对象
语法:
del 变量名1,变量名2,.....
自动化内存管理和引用计数
每个对象都会记录有几个变量绑定(引用)自身,当引用数量为0时,则此对象被销毁,此种
自动化内存管理的方式叫做引用计数
is/is not 运算符
作用: 判断两个对象是否是同一个对象,当是同一对象时,返回True,否则返回False
注 : is not 返回值与is相反
语法:
x is y 或 x is not y
id(函数) 作用:返回一个对象在内存中的地址
如 :
经过优化后2个10000可能会合并成1个10000
a=10000
b=10000
print(id(a))
print(id(b))
print((a is b))
True
小整数对象池
CPython中,整数-5至256的整数永远存在于小整数对象池中,不会释放并一直使用
复合赋值算术运算符
运算符 说明
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计时,到现在已经过了63320秒,请问,现在的时间,打印出来
4温度转换
摄氏温度=5.0/9.0*(华氏温度-32)
开氏温度=摄氏温度+273.15
请问:
100华氏温度转为摄氏温度是多少度?
转为开氏温度是多少度?