目录
Python基本介绍
本次学习仅针对于Python3
Python简介
- Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
- Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
- Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
- Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏
Python特点
- 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:Python代码定义的更清晰。
- 易于维护:Python的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
- 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 数据库:Python提供所有主要的商业数据库的接口。
- GUI编程:Python支持GUI可以创建和移植到许多系统调用。
- 可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
Python基本语法
注释
单行注释
Python中单行注释以 # 开头,如下:
# 今天天气真好,这是一个注释
print('今天天气真好') # 这是一个注释
执行代码,结果为:
今天天气真好
注意:1.Python中#与注释之间要用空格隔开
2.代码后面带注释的,代码与#之间要用两个空格隔开
多行注释
Python中多行注释可以用’’’ ‘’'或者""" “”",如下:
'''
1.第一行注释
2.第二行注释
'''
"""
1.第一行注释
2.第二行注释
"""
print('今天天气真好')
输出结果为:
今天天气真好
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
if True:
print ("True")
else:
print ("False")
如果缩进不正确则会报错,如下:
if True:
print ("True")
print('1')
else:
print ("False")
执行后输出结果:
IndentationError: unindent does not match any outer indentation level
输入与输出
输入
Python中输入用input()来实现,输入完后按回车结束
input('请输入你的年龄:')
执行结果:
请输入你的年龄:18
Process finished with exit code 0
输出
Python中输入用print()来实现
print('你的年龄是18')
执行结果:
你的年龄是18
一起用的效果就是
print('你的年龄是:', input('请输入你的年龄:'))
执行结果:
请输入你的年龄:18
你的年龄是: 18
变量与赋值
变量
- 变量存储在内存中的值。
- 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
- 变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
赋值
1.Python 中的变量赋值不需要类型声明。
2.Python中用一个等号来赋值,等号左边是一个变量名,等号右边是存储在变量中的值例如:
a = 1
print('a =', a)
结果为:
a = 1
也可以同时为多个变量赋值,例如:
a = b = c = 1
print('a =', a)
print('b =', b)
print('c =', c)
结果为:
a = 1
b = 1
c = 1
也可以为变量赋值为空,例如:
a = ''
print('a =', a)
输出结果为:
a =
运算符
Python语言支持以下类型的运算符:
- 算术运算符:+(加),-(减),*(乘),/(除),%(取余),**(幂),//(取整除)
- 比较(关系)运算符:==(等于),!=(不等于),>(大于),<(小于),>=(大于等于),<=(小于等于)
- 赋值运算符:=(a = 1),+=(a += 1相当于a = a+1其他运算符雷同),-=,*=,/=,%=,**=,//=,:=(海象运算符,可在表达式内部为变量赋值,Python3.8 版本新增运算符。)
- 逻辑运算符:and(与),or(或),not(非)
- 按位运算符:&(按位与运算符),|(按位或运算符),^(按位异或运算符),~(按位取反运算符),<<(左移动运算符),>>(右移动运算符)
- 成员运算符:in:如果在指定的序列中找到值返回 True,否则返回 False
not in:如果在指定的序列中没有找到值返回 True,否则返回 False - 身份运算符:is:判断两个标识符是不是引用自一个对象
not is:判断两个标识符是不是引用自不同对象
Python基本数据类型
Python3 中有六个标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
Number
1.Python 数字数据类型用于存储数值。
2.Python3 支持四种不同的数值类型:
整型(Int)
浮点型(float)
复数(complex)
布尔值(bool)
3.可以用type()来查看数值的类型,例如:
a = 1
b = 1.1
c = 1.1j
d = True
print('a的类型:',type(a))
print('b的类型:',type(b))
print('c的类型:',type(c))
print('d的类型:',type(d))
输出结果为:
a的类型: <class 'int'>
b的类型: <class 'float'>
c的类型: <class 'complex'>
d的类型: <class 'bool'>
String
1.Python中的字符串用单引号 ’ 或双引号 " 括起来。
2.Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
3.Python 可以使用方括号来截取字符串,如下:
a = 'Holle World'
print('a[0]:',a[0]) #截取第一位字符,Python默认第一位为字符0
print('a[-1]:',a[-1]) #截取最后一位字符,Python默认最后一位为字符-1
print('a[0:4]:',a[0:4]) #截取第一到第五位字符,这里的0可省略不写
print('a[:4]:',a[:4]) #省略0的写法
输入结果为:
a = 'Holle World'
a[0]: H
a[-1]: d
a[0:4]: Holl
a[:4]: Holl
4.Python字符串也可以用运算符的,支持+(字符串连接),*(重复输出字符串),[](通过索引获取字符串中字符),[:](截取字符串中的一部分),in(如果字符串中包含给定的字符返回 True),not in(如果字符串中不包含给定的字符返回 True),r/R(原始字符串),%(格式字符串)
5.字符串格式化,Python 支持格式化字符串的输出 。
1)直接用加号,例如:
name = '小明'
age = '18岁'
print('我叫' + name,',''今年' + age)
输出结果为:
我叫小明 ,今年18岁
2)用占位符,%s(字符串) %d(整数) %f(浮点类型),这里要注意占位符与括号里的数据左到右一一对应
name = '小明'
age = '18岁'
a = '我叫%s,今年%s' %(name,age)
print(a)
输出结果为:
我叫小明,今年18岁
3)大括号的方式,这里要注意大括号里的数据与format括号里的数据从左到右一一对应
name = '小明'
age = '18岁'
a = '我叫{},今年{}'.format(name, age)
print(a)
输出结果为:
我叫小明,今年18岁
列表
1.列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
2.列表的数据项不需要具有相同的类型。例如:
list1 = ['Holle', 'World', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
3.使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符,例如:
list1 = ['Holle', 'World', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
输出结果:
list1[0]: Holle
list2[1:5]: [2, 3, 4, 5]
4.更新列表
增加元素
1)在列表末尾添加元素,例如:
list = ['Holle', 'World', 1997, 2000]
list.append(2001)
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: ['Google', 'Runoob', 1997, 2000, 2001]
2)在指定位置增加元素,例如:
list = ['Holle', 'World', 1997, 2000]
list.insert(2,1996)
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: ['Holle', 'World', 1996, 1997, 2000]
删除元素
1)传入指定的下标,删除元素,例如:
list = ['Holle', 'World', 1997, 2000]
list.pop(0)
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: ['World', 1997, 2000]
2)删除指定的元素,例如:
list = ['Holle', 'World', 1997, 2000]
list.remove('World')
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: ['Holle', 1997, 2000]
3)根据下标删除指定元素,例如:
list = ['Holle', 'World', 1997, 2000]
del list[2]
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: ['Holle', 'World', 2000]
4)清空列表,例如:
list = ['Holle', 'World', 1997, 2000]
list.clear()
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: []
修改元素,根据下标修改元素,例如:
list = ['Holle', 'World', 1997, 2000]
list[2] = 1998
print('更新新后的列表为:', list)
输出结果为:
更新新后的列表为: ['Google', 'Runoob', 1998, 2000]
元组
1.Python 的元组与列表类似,不同之处在于元组的元素不能修改。
2.元组使用小括号,列表使用方括号。
3.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
4.元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
tup1 = (50)
print(type(tup1))
tup2 = (50,)
print(type(tup2))
输出结果为:
<class 'int'>
<class 'tuple'>
字典
1.字典是另一种可变容器模型,且可存储任意类型对象。
2.字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
3.键必须是唯一的,但值则不必。
4.值可以取任何数据类型,但键必须是不可变的,如字符串,数字。例如:
dict = {'a': '1234', 'b': '1234', 'c': 4567}
print(dict)
输出结果为:
{'a': '1234', 'b': '1234', 'c': 4567}
集合
1.集合(set)是一个无序的不重复元素序列。
2.可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。例如:
parame = {value01,value02,...}
或者
set(value)
3.添加元素,将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
set1 = set(('Holle', 'World', 'Python'))
set1.add('Holle')
set1.add('Yes')
输出结果为:
{'Holle', 'Yes', 'World', 'Python'}
用s.update()方法也可以添加元素,且参数可以是列表,元组,字典等。例如:
set1 = set(('Holle', 'World', 'Python'))
set1.update({1,3})
print(set1)
set1.update([2,4],[6,8])
print(set1)
输出结果为:
{1, 3, 'Python', 'Holle', 'World'}
{1, 2, 3, 4, 6, 8, 'World', 'Python', 'Holle'}
条件判断
1.在Python中,条件判断用if来实现,例如:
a = 20
if a >= 10:
print('正确')
输出结果为:
正确
注意:1.if条件后面要加冒号。
2.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
2.if后面跟多个条件用elif,例如:
a = 8
if a >= 10:
print('Y')
elif a > 5:
print('y')
输出结果为:
y
3.也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去执行else,例如:
a = 8
if a >= 10:
print('Y')
else:
print('y')
输出结果为:
y
注意:Python中if是从上往下执行的,判断上面的为True的话就会忽略后面的elif和else。
4.写一个if…elif…else的简单例子
age = int(input('你的年龄是:')) # 因为input输入的是str类型,需要转成int类型才能进行比较
if age < 18:
print('未成年')
elif 18 >= age <= 65:
print('青年')
elif 65 > age <= 79:
print('中年')
else:
print('老年')
输出结果为:
你的年龄是:18
青年
循环
- 循环就是重复的做一件事情。
- Python中循环可以用while或者for x in…来表示。
- for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
- 结束循环用continue或者break。
continue表示结束本次循环
break表示循环立即结束
while循环
1.写一个简单的while循环,例如:
a = 0
while a < 10:
a += 1
print(a)
输出结果为
1
2
3
4
5
6
7
8
9
10
2.如果我想在a=5时结束循环
a = 0
while a < 10:
a += 1
if a == 5:
break
print(a)
输出结果为:
1
2
3
4
3.无限循环,我们可以通过设置条件表达式永远不为 false 来实现无限循环,例如:
a = 0
while a == 0:
print(a)
输出结果为:
0
0
0
0
0
0是无限循环的
4.while循环使用也可以使用else语句,例如:
a = 0
while a < 5:
print (a, " 小于 5")
a = a + 1
else:
print (a, " 大于或等于 5")
输出结果为:
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
for循环
1.写一个简单的for循环,例如:
a = ['Holle', 'World', 'Python', 'Yes']
for i in a:
print(i)
输出结果为:
Holle
World
Python
Yes
2.如果我只想输出Holle和World,用break结束循环,例如:
a = ['Holle', 'World', 'Python', 'Yes']
for i in a:
if i == 'Python':
break
print(i)
输出结果为:
Holle
World
3.如果需要遍历数字序列,可以使用内置range()函数。例如:
for i in range(3):
print(i)
输出结果为:
0
1
2
4.for…else,循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。例如:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, '等于', x, '*', n//x)
break
else:
# 循环中没有找到元素
print(n, ' 是质数')
输出结果为:
2 是质数
3 是质数
4 等于 2 * 2
5 是质数
6 等于 2 * 3
7 是质数
8 等于 2 * 4
9 等于 3 * 3