Python的系列课程是写给零基础的小白看的,如果基础比较好的小伙伴可以暂时先不关注,等待后续课程。
Hi, 大家好,我是茶桁。
之前的课程已经给大家讲解了Python相关特性和基本语法。那么这节课呢,我们尝试着从最简单的脚本来开始认识Python。
在开始这节课之前呢,我是默认大家已经安装好了VSCode,并且配置好了Jupyter环境和Python的基本环境。如果在这一步有疑问的小伙伴,可以留言私信我。
我们在终端里输入:
$ python -V
Python 3.10.11
可以看到自己的Python版本。
这个时候,我们其实已经可以在终端里进行Python的代码编辑了,如下:
$ python
>>> print("Hello AI Cheats")
Hello AI Cheats
如下图:
我们这里需要理解一下,编写python程序的文件,称为python的脚本或程序。要求我们当前的python脚本的文件后缀名必须是.py
,如果是Jupyter的文件,后缀是.ipynb
print
可以在程序中输出一些内容,如字符串,数字等等。
函数就是为了完成一些功能,例如: print就是为了输出数据。
变量就是用一个英文字符串来记录或标记一些数据,并且这个被标记的数据是可以变化的。
比如 num = 10
,就是把数据10赋值给了变量num
来使用,之后就可以使用num
来代替这个10的数据。
这里我们强调一下Python的命名规范,所有在教授编程的教程中最初一定都会强调规范性。
变量的命名规范如下:
当然具体关键字并不仅仅是这些,这里列出了Python的关键字,大家可以自行查看一下,命名的时候需要进行避免。
在遵循了变量命名规范之下,我们可以有以下几种定义方式:
# 第一种定义方式
a = 10
b = 20
# 第二种定义方式
a,b = 30, 40
这里我们来思考一个问题,如何实现两个变量的数据相互交换呢?
# 定义两个变量
a = 10
b = 20
# 交换两个变量的值
...
如果使用最普通的方式完成变量数据的交换,那么我们可以使用如下步骤:
# 普通方式交换数据
a = 10
b = 20
c = a
a = b
b = c
print(a, b)
输出结果:
20, 10
我们还可以利用python定义比变量的语法来实现变量的数据交换
# 定义比变量的语法方式
a = 10
b = 20
a,b = b,a
print(a, b)
输出结果:
20,10
数据类型就是数据的表现形式,比如 “你好”
就是一个字符串,200
就是一个数字。
在程序当中除了这种常用的字符和数字外还有很多其它的数据表现形式。
在Python中,我们可以使用type()
函数来返回当前数据的数据类型:
s = 'ilovechaheng'
res = type(s)
print(res)
输出结果:
<class 'str'>
love = r'\nihao \shijie'
# 单引号和双引号进行定义
love = 'iloveyou'
hello = "你好 世界"
# 使用三引号实现大字符串的定义,一般用于大文本字符串的定义,并且大字符串,可以换行
s = '''
比如说这一个
很长很长的文章内容。。。
'''
# 数字类型 Number
varn = 521
varn = -1111
varn = 3.1415926
varn = 0x10 # 十六进制
varn = b'001100111' # bytes
# 复数
varn = 5+6j # complex
# 布尔类型 bool
varn = True
varn = False
# print(varn,type(varn))
# 数值类型可以参与运算
a = 10
b = 20
print(a+b) # 输出结果 30
关于列表中的下标,正读和反读的正负号是不一样的:
# 关于列表中的下标
'''
0 1 2 3 4
['a','b',521,'pai',3.1415926]
-5 -4 -3 -2 -1
'''
a = ['a','b',521,'pai',3.1415926]
print(a[-3])
输出结果:
521
vart = (1,2,3,'a','b')
# 元组的其它定义方式
vart = 1,2,3
注意在定义元组时,如果元组中只有一个元素,那么需要加, 不然就不是元组类型了
# 比如需要记录一本书的相关数据 书名,作者,价格,。。。
vard = {'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'}
# print(vard,type(vard))
# {'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>
# 获取字典中的值
print(vard['title'])
# 字典中的键不能重复使用,否则会覆盖
vard = {'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'}
print(vard)
输出结果:
<<鬼谷子>>
{'a': 'aa', 'b': 10, 'c': 20, 1: 'abcdef', '2': '2222'}
在python之前的版本中,字典是无序的
a = {1,2,3,'a'}
# 给集合添加元素
# a.add('b')
# 无法获取集合中的单个元素,但是可以添加和删除
# a.discard('a')
# print(a)
# 检查当前的元素是否在集合中
# print(1 in a)
# 集合主要用于运算,交集,差集,并集,对称集合
a = {1,2,3,'a','b'}
b = {1,'a',22,33}
print(a & b) # 交集 {1, 'a'}
print(a - b) # 差集 {'b', 2, 3} a 集合有,b集合没有的
print(a | b) # 并集 {1, 2, 3, 33, 'a', 'b', 22} 两个集合,放到一起,并且去重
print(a ^ b) # 对称差集 {33, 2, 3, 'b', 22}
输出结果:
{1, 'a'}
{2, 3, 'b'}
{1, 2, 3, 'a', 33, 22, 'b'}
{33, 2, 3, 22, 'b'}
最后,让我们来进行总结一下,关于Python的数据类型可以查看如下列表:
字符串 string
数字类型 Number
整型 int
浮点 float
复数
布尔 bool
列表 list
元组 tuple
字典 dict
集合 set
可变数据类型:列表,字典,集合
不可不数据类型: 字符串,数字,元组
容器类型数据 : 字符串,列表,元组,集合,字典
非容器类型数据: 数字,布尔类型
什么是数据类型转换?
把一个数据类型转换为另一个数据类型,例如 字符串转为数字
为什么需要数据类型转换?
因为不同的数据类型之间不能运算
数据类型转换的形式?
当两个不同的值进行运算时,结果会向更高的精度进行计算:True ==> 整型 ==> 浮点 ==> 复数
a = 123
b = True # 在和数字运算时 True转为数字1,False转为数字 0
print(a+b)
print(12.5+22)
print(True+3.14)
输出结果:
124
34.5
4.140000000000001
python中的每个数据类型都有对应的方法,可以对数据类型进行转换
str()
可以把所有的其它数据类型转换为字符串类型int()
字符串转数字类型时,如果字符串中是纯数字,可以转换,其它容器类型不能转为数字int类型float()
浮点类型的转换和int类型一样,不过转换的结果是浮点类型bool()
可以把其它类型转换布尔类型的True或False'',0,0.0,False,[],{},(),set()
list()
列表tuple()
元组set()
集合dict()
字典