1.python简介
Python由
荷兰
数学
和
计算机科学
研究学会的
吉多·范罗苏姆
于1990 年代初设计,作为一门叫做
ABC语言
的替代品。
Python提供了高效的高级
数据结构
,还能简单有效地
面向对象
编程。Python语法和动态类型,以及
解释型语言
的本质,使它成为多数平台上写
脚本
和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、
大型项目
的开发。
Python
解释器
易于扩展,可以使用
C语言
或
C++
(或者其他可以通过C调用的语言)扩展新的功能和
数据类型
。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的
源码
或
机器码
。
2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。
python的优点:
- 简单易学、明确优雅、开发速度快
- 跨平台、可移植、可扩展、交互式、解释型、面向对象的动态语言
- 有“内置电池”之称,即有大量的标准库和第三方库 社区活跃,贡献者多,互帮互助
- 开源语言,发展动力巨大
2.python的环境搭建
运行环境:
官网下载cpython解释器:
www.python.org
开发环境:
记事本工具:sublime、vscode
IDE:pycharm
变量(variable):
在程序运行时(runtime),可以发生变化的量,被称之为变量
在程序运行时(runtime),可以不允许变化的量,被称之为常量(恒量)
python中并没有常量
变量是一个具有名称的内存空间!
python是一种弱数据类型语言,变量类型不固定
注释
什么叫做注释:标注起来的解释
单行注释:
# 单行注释
多行注释:
# xxxxx
# xxxxxx
# xxxxxxxx
# xxxxxxxxxxxxxxx
“””
多行注释
“””
”’
多行注释
”’
Python中的关键字和保留字
Python的数据类型
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的”类型”是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串
print (counter)
print (miles)
print (name)
执行以上程序会输出如下结果:
多个变量的赋值
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "runoob"
以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 “runoob” 分配给变量 c。
标准数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
-
不可变数据(3 个):
Number(数字)、String(字符串)、Tuple(元组); -
可变数据(3 个):
List(列表)、Dictionary(字典)、Set(集合)。
Number(数字)
Python3 支持
int、float、bool、complex(复数)
。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
注意:
Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回
True
,但可以通过 is 来判断类型。
在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。
数值运算
实例:
注意:
- 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
- 2、一个变量可以通过赋值指向不同类型的对象。
- 3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
- 4、在混合计算时,Python会把整型转换成为浮点数。
数值类型实例
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
String(字符串):
Python中的字符串用单引号
‘
或双引号
”
括起来,同时使用反斜杠
\
转义特殊字符。
字符串的截取的语法格式如下:
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。实例如下:
执行以上程序会输出如下结果:
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
注意:
- 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
- 2、字符串可以用+运算符连接在一起,用*运算符重复。
- 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
- 4、Python中的字符串不能改变。
List(列表)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
Tuple(元组)
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...} 或者 set(value)
Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的
键(key) : 值(value)
的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
运算符
1,算数运算符、
以下假设变量 a=10,变量 b=21:
以下实例演示了Python所有算术运算符的操作:
a = 21
b = 10
c = 0
c = a + b
print ("1 - c 的值为:", c)
c = a - b
print ("2 - c 的值为:", c)
c = a * b
print ("3 - c 的值为:", c)
c = a / b
print ("4 - c 的值为:", c)
c = a % b
print ("5 - c 的值为:", c)
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print ("6 - c 的值为:", c)
a = 10
b = 5
c = a//b
print ("7 - c 的值为:", c)
以上案例输出结果:
1 - c 的值为: 31 2 - c 的值为: 11 3 - c 的值为: 210 4 - c 的值为: 2.1 5 - c 的值为: 1 6 - c 的值为: 8 7 - c 的值为: 2
2,比较运算符
3,赋值运算符
4,位运算符
按位运算符是把数字看作二进制来进行计算的
位运算符的规则:
1、先对于二进制的运算规则做一个简单的解释
与运算规则:
0&0=0;0&1=0;1&0=0;1&1=1;
或运算规则:
0|0=0;0|1=1;1|0=1;1|1=1;
异或运算规则:
0^0=0;0^1=1;1^0=1;1^1=0;
反运算规则:
~0=1;~1=0;
2、了解了上述规则之后,我们来看下面这个实例
举例:
假设a,b都是二进制数,对a、b进行位运算
a=0001 1111
b=1110 1100
运算结果
a&b=0000 1100
a|b=1111 1111
a^b=1111 0011
~a=1110 0000(要将补码进行取反后再加1)
~b=0001 0011(要将补码进行取反后再加1)
a<<2=0111 1100(左移两位)
b<<2=1011 0000(左移两位)
a>>2=0000 0111(右移两位)
b>>2=0011 1011(右移两位)
5,身份运算符
身份运算符用于比较两个对象的存储单元
注:
id()
函数用于获取对象内存地址。
以下实例演示了Python所有身份运算符的操作:
a = 20
b = 20
if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
print ("2 - a 和 b 有相同的标识")
else:
print ("2 - a 和 b 没有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
print ("3 - a 和 b 有相同的标识")
else:
print ("3 - a 和 b 没有相同的标识")
if ( a is not b ):
print ("4 - a 和 b 没有相同的标识")
else:
print ("4 - a 和 b 有相同的标识")
以上实例输出结果:
1 - a 和 b 有相同的标识 2 - a 和 b 有相同的标识 3 - a 和 b 没有相同的标识 4 - a 和 b 没有相同的标识
Python3 循环语句
本章节将为大家介绍 Python 循环语句的使用。
Python 中的循环语句有 for 和 while。
Python 循环语句的控制结构图如下所示:
while 判断条件(condition): 执行语句(statements)……
需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。
以下实例使用了 while 来计算 1 到 100 的总和:
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
执行结果如下:
1 到 100 之和为: 5050
for 语句
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
for循环实例:
for 实例中使用了 break 语句,break 语句用于跳出当前循环体
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
break
print("循环数据 " + site)
else:
print("没有循环数据!")
print("完成循环!")
结果:
循环数据 Baidu 循环数据 Google 完成循环
range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
for i in range(5):
print(i)
结果:
0
1
2
3
4
pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句