1. 理解变量——生活中的例子
1.1 从字面意思去理解
- 变:变化
- 量:大小
1.2 举个例子🌰
假如,你是班级当中的课代表,每个月需要统计班级中每个学生的月考成绩。月考成绩会每个月一张纸,每张纸上都会依次记录每个学生的成绩越到成绩,例如:
- 李雷 98分
- 马冬梅 89分
- 刘奕彤 96分
- ......
某一天,老师要看刘奕彤 1月、2月、3月的成绩,这个时候作为课代表的你需要怎么办。——总不能直接把每个月的月考成绩单直接给老师,显然是不合适的。
假如,你是班级当中的课代表,每个月需要统计班级中每个学生的月考成绩。月考成绩会每个月一张纸,每张纸上都会依次记录每个学生的成绩越到成绩,例如:
某一天,老师要看刘奕彤 1月、2月、3月的成绩,这个时候作为课代表的你需要怎么办。——总不能直接把每个月的月考成绩单直接给老师,显然是不合适的。
In [2]: 1 + 1
Out[2]: 2
In [3]: 1 + 1.0
Out[3]: 2.0
In [4]: 2 - 1
Out[4]: 1
In [5]: 2 - 1.0
Out[5]: 1.0
In [6]: 2 * 1
Out[6]: 2
In [7]: 2 * 1.0
Out[7]: 2.0
In [8]: 2 * 1
Out[8]: 2
In [9]: 9 / 3
Out[9]: 3.0
int_num = 1
t = type(int_num)
print(int_num)
print("int num type is:>>>", t)
print("直接检测数据类型,并输出:>>>", type(int_num))
# output
1
int num type is:>>> <class 'int'>
直接检测数据类型,并输出:>>> <class 'int'>
使用 type()
函数可以如下检测:
print(type(a))
print(type(b))
print(type(c))
字符串是Python中不可变的数据类型,表示一系列字符。因为字符串是有序的,所以可以通过索引访问字符串中的字符。索引从左到右从0开始,从右到左从-1开始。
Python字典的键必须是不可变类型(如int、float、str、tuple),因为字典使用哈希表来存储键值对,这要求键必须是可哈希的。不可变数据类型是可哈希的,因为它们在其生命周期内保持不变。
可以使用 in 关键字来检查键是否存在于字典中:
if 'key' in dict:
print('Key is present in the dictionary')
else:
print('Key is not present in the dictionary')
列表和元组都是有序的集合,但列表是可变的,而元组是不可变的。因为元组是不可变的,所以它们可以作为字典的键,但是列表不能。
Python 的 bool 数据类型只有两个值:True 和 False。许多操作和函数可以隐式地将其他数据类型转换为 bool 类型。例如,空列表([]
)、空字符串(""
)、零(0)都会被转换为False,而非空列表、非空字符串和非零数值都会被转换为 True。
集合是一个无序的,不包含重复元素的集合。与列表和字典不同,集合中的元素不是通过索引来访问的,而且集合中的元素必须是不可变的。
在Python中,可变类型是可以在其创建后修改其内容的类型,例如列表、字典和集合。不可变类型是不能修改其内容的类型,例如数字、字符串和元组。
在 Python 中,字符串、列表和元组等有序数据类型都可以使用索引来访问元素。索引从左到右从 0 开始,从右到左从 -1 开始。例如,s[0]
表示字符串s的第一个字符,s[-1]
表示最后一个字符。这种特性使得我们可以很容易地访问序列的首部和尾部。
在Python中,你可以使用type()
函数来判断一个变量是否是浮点数类型。例如:
a = 1.0
print(type(a) == float) # True
Python 字符串(str)的三大特性为:
Python 的列表(list)可以包含任何类型的数据,包括但不限于整型、浮点型、字符串、列表、元组、字典等。例如:
a = [1, "string", [1, 2, 3], (1, 2, 3), {"key": "value"}]
Python 中列表(list)的特性:
有序性:列表是有序的元素集合,每个元素都有其固定位置(索引)。
可变性:列表中的元素可以被改变,可以添加、修改、删除元素。
任意数据类型:列表可以包含任何类型的数据。
列表(list)与字符串(str)的异同:
相同点:两者都是有序的,可以通过索引访问元素。
不同点:字符串是不可变的,而列表是可变的。
元组(tuple)与列表(list)的相似之处和不同之处:
相似点:两者都是有序的,可以通过索引访问元素,并且都可以存储任意类型的数据。
不同点:元组是不可变的,而列表是可变的。
当存储的数据和数量不变时,选择使用元组(tuple)而不是列表(list)的原因是:元组的不可变性可以保证数据的安全性。例如,如果你需要表示一个点的二维坐标,你可以选择使用元组,因为坐标的两个值(x 和 y)在定义后不应该被改变。「经纬度估计能使你更好理解,经纬度是不会变化的。」
Python中字典(dict)的特性:
键值对:字典存储的是键值对。
键的唯一性:字典中的键是唯一的,不能有重复的键,重复不会报错,会留下最后一个。
值的任意性:字典中的值可以是任意类型的数据,且可以有重复。
无序性:字典中的元素是无序的。
Python 中集合(set)的特性:
唯一性「互异性」:集合中的元素是唯一的,不能有重复的元素。
无序性:集合中的元素是无序的,不能通过索引访问元素。
可变性:可以向集合中添加和删除元素。
确定性:每一个值都是确定的
集合与列表(list)和元组(tuple)的不同点:
列表和元组都是有序的,可以通过索引访问元素,而集合是无序的。
列表和元组都可以有重复的元素,而集合中的元素必须是唯一的。
Python 中各种数据类型之间的转换方法:
将字符串转化为整数:可以使用 int()
函数,例如int("123")
将返回整数 123。
将字符串转化为浮点数:可以使用 float()
函数,例如float("1.23")
将返回浮点数1.23。
以上转换假设字符串是一个有效的数字表示。如果字符串不能被解析为数字,如 int("abc")
,将会抛出一个 ValueError 错误。「注意⚠️:字符串要转换成数字型:必须是整型。」
在提前离开实验室前,你必须让实验室助教确认你的情况。如果未经确认就离开,你将无法获得本次实验的学分。
在你做好准备之后,请联系我获取此 Lab 的密码,你需要在 1h 内完成此。
注意⚠️
CS-PY101 Lab 系列针对 Python 1v1 私教系列专门制定的练习,但是!也会有部分专门特意“超出已经教学过的知识,此时你需要的做的:思考🤔️、查资料等来解决。
目的在于:我所讲解的知识或许很细很让你理解,但终究是有限的,并且技术是会更新,所以最终的目的还是引导你学会独立思考和学习。——带你掌握方法,教师是一个淡出的角色。
在提前离开实验室前,你必须让实验室助教确认你的情况。如果未经确认就离开,你将无法获得本次实验的学分。
在你做好准备之后,请联系我获取此 Lab 的密码,你需要在 1h 内完成此。
注意⚠️
CS-PY101 Lab 系列针对 Python 1v1 私教系列专门制定的练习,但是!也会有部分专门特意“超出已经教学过的知识,此时你需要的做的:思考🤔️、查资料等来解决。
目的在于:我所讲解的知识或许很细很让你理解,但终究是有限的,并且技术是会更新,所以最终的目的还是引导你学会独立思考和学习。——带你掌握方法,教师是一个淡出的角色。
对于超出的知识,不用担心,在之后的课程中,会一一解决。
在提前离开实验室前,你必须让实验室助教确认你的情况。如果未经确认就离开,你将无法获得本次实验的学分。
在你做好准备之后,请联系我获取此 Lab 的密码,你需要在 1h 内完成此。
注意⚠️
CS-PY101 Lab 系列针对 Python 1v1 私教系列专门制定的练习,但是!也会有部分专门特意“超出已经教学过的知识,此时你需要的做的:思考🤔️、查资料等来解决。
目的在于:我所讲解的知识或许很细很让你理解,但终究是有限的,并且技术是会更新,所以最终的目的还是引导你学会独立思考和学习。——带你掌握方法,教师是一个淡出的角色。
对于超出的知识,不用担心,在之后的课程中,会一一解决。
March 25, 2023
一般的用法说明
Write your own program(s) using Python. Once you complete your assignment, place all Python files in a zip file and name it according to the same method, i.e., “235-1234-Assn3.zip”. Unzip this file should get all your Python file(s).
欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
s = 'I'm zhaojinwei'