Python学期总结
一、Python概述
- “人生苦短, 我用Python”。不知道从什么时候开始,这句话开始流行。反映出Python语言的特点:简单、高效。近期研究不少代表技术趋势的业界报告以及编程语言排行榜,编程语言这一块,最值得学习的就是Python。
(一)Python为何物
Python是一门面向对象的编程语言,编译速度超快,从1991年诞生到现在已经29个年头了。它具有丰富和强大的库,常被称为“胶水语言”,能够把用其他语言编写的各种模块(尤其是C/C++)很轻松地联结在一起。其特点在于灵活运用,因为其拥有大量第三方库,所以开发人员不必重复造轮子,就像搭积木一样,只要擅于利用这些库就可以完成绝大部分工作。
- 我们熟知的豆瓣便是用Python搭建的,Facebook也是扎克一个人用Python捣腾出来的,后来的twitter也是Python写的,实际Python是国外包括Google在内等大公司使用的主要语言。
(二)为什么要学习Python
- Python是最值得学习的编程语言。
1、随AI浪潮越来越热门
- Python这门语言也变得越来越热门,无论是国外还是国内的编程语言排行榜,Python都是排在前面的,并且我相信随着时间的推移,它会越来越热,排名还会继续上升。毫无疑问,Python已经成为AI以及大数据时代的第一开发语言。
2、Python语言语法简单
- 你用C/C++或者Java写的几千行才能实现的程序,用Python可能只要几百行,甚至还不用这么多。在这个科技快速发展的时代,效率代表了一切。
3、Python应用范围很广
- 拥有着各种各样强大的扩展库,无论是Web, 爬虫还是数据分析,Python都可以完成,所以对应的需求Python的工作岗位也很多,学会Python可以轻松找到工作。
4、教育界对Python重视
- 近期浙江省把Python纳入高考,连山东省六年级小学生都开始学 Python了,作为程序员,不会Python,会不会被现在的小孩子鄙视,细思极恐。
当然,我并不是说让所有人都去追逐新技术,什么流行学什么。在工作或者学习之余,学些热门技术,可以让自己保持敏锐度和竞争力,因为说不好什么时候这些热门技术就成了你的饭碗。
- 在我初步了解到Python在设为当中的应用后,接着就是了解它的安装方法。
二、安装Python
- Python官网:https://www.python.org/
- 官网里有许多版本,目前已经更新到了3.10.1
三、开学第一课
(一)利用命令行模式
1、交互式操作
- 打印:Hello World!
2、利用IDEL模式
-
启动IDEL窗口
-
在IDEL中打印Hello World!
-
并进行简单计算
-
这是最开始我认识Python,我当时还以为以后编程就会在这里面进行,显而易见,是我想多了。学了这么久,返回去再看当时的我,真的是很无知啊!
-
然后,我接触到了PyCharm开发软件
四、使用集成开发环境
- “工欲善其事,必先利其器”,我更喜欢安装一些功能强大的Python软件来辅助我编写程序。就像在学习Java时,正常情况选择安装JDK,然后配置环境变量,用记事本编写程序,再到终端编译运行即可,而我一般选择安装JDK+IntelliJ IDEA / Eclipse。将Python和Java进行类比的话,在Python中使用PyCharm或Anaconda好比是在Java中使用IntelliJ IDEA / Eclipse。
(一)PyCharm可视化编译器
1、安装PyCharm
- PyCharm作为一款针对Python的编辑器,配置简单、功能强大、使用起来省时省心,对初学者友好。PyCharm官网提供免费的社区版与付费的专业版,如下图所示,个人学习Python使用免费的社区版已足够用了。
- https://www.jetbrains.com/pycharm/download/#section=windows
2、PyCharm界面
(二)Anaconda大礼包
- Anaconda是一个基于Python的数据处理和科学计算平台,相当于一个“全家桶”。它已经内置了许多非常有用的第三方库。安装好Anaconda,就相当于把Python和一些如NumPy、Pandas、Scrip、Matplotlib等常用的库自动安装到位,使得安装比常规Python安装要容易。如果选择安装Python的话,那么还需要pip install逐个安装各种库,安装起来比较痛苦。
1、下载Anaconda
- 访问Anaconda官网下载对应的软件,根据自己的计算机配置选择不同的操作系统
- 下载网址:https://www.anaconda.com/products/individual
- 在页面最底部下载
2、Anaconda中Spyder界面
- PyCharm与Spyder这两个可视化编译器各有各的好,主要看个人习惯
五、学习项目分享
- 从入学以来,我还是做过很多小项目了,其中有几个让我对其影响深刻。一下列出两个学习中的项目:
1、统计文件中每个单词的个数
- 这是小项目时将一个文件中的所有内容通过open()函数调用出来,通过一系列循环编写,来进行词数统计、查重等操作。
- 这还只是一个简单的小程序,尚不完整,还有许多有待修改的地方。
比如: - 无法识别文件中的除空格之外的分隔符;
- 不能对复杂的文件进行编辑……
也正是因为这个项目,让我对Python有了一些兴趣。
2、学生管理系统(文件)
- 这个程序时用来编辑一个text文件中的数据,对其进行增删改查的简单操作。
- 代码
# -*- coding: utf-8 -*-
"""
功能:学生管理系统
作者:zwh
日期:2021年12月7日
"""
def get_all_students():
students = []
f = open('s_list.txt')
for line in f:
line = line.replace('\n', '')
student = line.split(' ')
students.append(student)
f.close()
return students
def add_student(): # 添加学生信息
students = get_all_students()
id = input('学号: ')
name = input('姓名: ')
sex = input('性别: ')
age = input('年龄: ')
grade_class = input('班级: ')
major = input('专业: ')
college = input('学院: ')
phone_number = input('电话号码: ')
students.append([id, name, sex, age, grade_class, major, college, phone_number])
f = open('s_list.txt', 'w')
for i in range(len(students)):
student = ' '.join(students[i]) + '\n'
f.write(student)
f.close()
print('学生记录添加成功!')
def disaplay_all_students(): # 查询所有学生信息
students = get_all_students()
for i in range(len(students)):
for j in range(len(students[i])):
print(students[i][j], end=' ')
print()
def id_disaplay_student(): # 以学号查询学生信息
id = input('学号: ')
found = False
students = get_all_students()
for i in range(len(students)):
if (students[i][0] == id):
found =True
for j in range(len(students[i])):
print(students[i][j], end=' ')
break
if not found:
print(f'学生信息中没有学号为{id}的学生!')
def name_disaply_student(): # 以姓名查询学生信息
name = input('姓名: ')
students = get_all_students()
found = False
for i in range(len(students)):
if (students[i][1] == name):
found = True
for j in range(len(students[i])):
print(students[i][j], end=' ')
break
if not found:
print(f'学生信息中没有姓名为{name}的学生!')
def query_student(): # 查询学生记录
while True:
print('\n查询学生记录\n')
print('=================')
print('1.按学号查询学生记录')
print('2.按姓名查询学生记录')
print('3.查询全部学生记录')
print('4.返回上级菜单')
print('=================')
mc3 = int(input('输入菜单号:'))
if mc3 == 1:
id_disaplay_student()
elif mc3 == 2:
name_disaply_student()
elif mc3 == 3:
disaplay_all_students()
else:
break
def modify_student(): # 修改学生信息
students = get_all_students()
id = input('需要修改信息的学生的学号: ')
new_name = input('姓名: ')
new_sex = input('性别: ')
new_age = input('年龄: ')
new_grade_class = input('班级: ')
new_major = input('专业: ')
new_college = input('学院: ')
new_phone_number = input('电话号码: ')
found = False
for i in range(len(students)):
if (students[i][0] == id):
found = True
students[i][1] = new_name
students[i][2] = new_sex
students[i][3] = new_age
students[i][4] = new_grade_class
students[i][5] = new_major
students[i][6] = new_college
students[i][7] = new_phone_number
print('修改成功!')
for j in range(len(students[i])):
print(students[i][j], end=' ')
break
if not found:
print(f'学生信息中没有学号为{id}的学生!')
f = open('s_list.txt', 'w')
for i in range(len(students)):
student = ' '.join(students[i]) + '\n'
f.write(student)
f.close()
# 删除信息
def delete_student():
students = get_all_students()
id = input('输入要删除信息的学生的学号:')
found = False
for i in range(len(students)):
if (students[i][0] == id):
found = True
break
if not found:
print(f'学生信息中没有学号为{id}的学生!')
else:
del students[i]
print(f'学号为{id}的信息已成功删除!')
f = open('s_list.txt', 'w')
for i in range(len(students)):
student = ' '.join(students[i]) + '\n'
f.write(student)
f.close()
def login():
username = input('输入用户名: ')
password = input('输入密码: ')
if username == 'zl' and password == '202111':
while True:
print('\n学生信息管理\n')
print('===========')
print('1. 添加学生记录')
print('2. 查询学生记录')
print('3. 修改学生记录')
print('4. 删除学生记录')
print('5. 返回上级菜单')
print('===========')
mc2 = int(input('输入菜单号: '))
if mc2 == 1:
add_student()
elif mc2 == 2:
query_student()
elif mc2 == 3:
modify_student()
elif mc2 == 4:
delete_student()
else:
break
else:
print('\n用户名或密码错误,请重新登录\n')
# 主程序
while True:
print('用户登录')
print('==========')
print('1.登录')
print('2.退出')
print('==========')
mc1 = int(input('输入菜单号: '))
if mc1 == 1:
login()
elif mc1 == 2:
print('\n谢谢使用本程序\n')
break
项目认知:
- 在写完这个项目后,我懂得了在写代码时是需要有一个清晰的头脑,和一个构造良好的框架。这样才有助于整个程序的书写,才不容易出错。在别人查看时才能清晰的映入对方的脑中。
- 正是因为这些,我在写学习管理系统的数据库版时才能轻而易举的写出来。由此可以看出,有清晰的都闹和一个好的框架是多么重要。
3、一个自学程序
- 画出一个正方形,按颜色分为两个三角形区域
- 效果图
- 这里用到了turtle库。
六、学习总结
python是一门非常有潜力的高级语言,历经多年的发展,其在编程上发挥着越来越大的作用。
并且Python在这两年以迅雷不及掩耳的架势冲上了TIOBE排行榜的榜首。
在这学期中,通过选修python课上的基础知识学习,我对python也有了一定的认识。而且,在字符串上的处理,python相对于c语言也是给程序员极大的便利。而python不仅如此,它的库也很多,正因为它强大的库,让编程变得不再艰难。但是,我认为python虽然在许多方面相对于c语言比较方便,但也有其相对于弱一点的方面,比如说for循环等方面。虽然一学期下来,我对python的学习也仅仅只是它的基础方面,但python的强大,也是足足地吸引着我,希望自己能够在不断地学习中,将python学习的更加好。 python是一门非常有潜力的高级语言,历经多年的发展,其在编程上发挥着越来越大的作用。
如何学号Python:
1、明确目标
其实很多人在学习Python之前很少想这个,因为很多人说:现在Python很火呀,所以我才需要学。这个其实跟你自己没有什么关系,例如:你曾经想做一个网站不会开发,现在可以做了,现在Python很火并且你也要学来找工作,未来Python很火,我具备了Python的技能会不错。
所以我们首先要明确自己的目标,确定学习的决心,坚持自己的选择。
2、明确学习规划
①.目前市场需求主流的岗位里,你得选择一个其中你目前看来可以学,并且最敢兴趣学习的方向;
②.在方向选择好后,对照招聘网站:拉勾、智联、Boss直聘等网站的岗位要求,进行学习内容的统计与大概的记录;
③.分模块的计划你学习这个模块的时间和完成的大概目标;
④.列出你可能出现的学习误差与为之准备的应对方案;
其实任何学习重要的不是有什么资料,核心是如何学,学多久,有没有时间限制,最关键的一点是在起步阶段,开始属于激情期,激情在前面释放越多,后面的持续力就很弱。
如何学习还得看自己,路,在自己脚下,如何走,还得看个人。
我这也算是从当初入学时的无知,到现在的入门了吧!
人生苦短,我学Python!!!