Python小白的学习心得
- 学习中的问题
对于Python小白的我来说,虽然在这周的Python基础语法的学习还算是轻松,但是通过这一周的时间还是出现了不少的问题:
1、没有理解题目的意思
练习求捕鱼总条数的时候,刚开始是没有理解清楚题目,后来通过跟大家讨论,我理解了题目以后,我通过用循环写出与题目等价的数学公式,求得了最后的结果,欠缺把自然语言转换成程序语言的思维。于是我接着想如何把其转换成程序的思想,后来用两个循环求出了答案,比之前的程序好了一点。但是还是觉得在哪里欠缺了一点
for fish_sum in range(1, 10000):
num = (((((fish_sum - 1)*(4/5)-1)*(4/5)-1)*(4/5)-1)*(4/5)-1)*(4/5)
if num % 1 == 0 and num % 4 == 0:
print(fish_sum)
break
#f_sum是总的鱼数,num是最后一个E拿走以后剩下的
for f_sum in range(1, 10000):
num = f_sum
for _ in range(1, 6):
num = (num - 1) * (4 / 5)
if num % 1 == 0 and num % 4 == 0:
print(f_sum)
break
2、对于键盘不算太熟悉,指法很慢
- Python的学习方向
1、 WEB开发
Python拥有很多免费数据函数库、免费web网页模板系统、以及与web服务器进行交互的库,可以实现web开发,搭建web框架,目前比较有名气的Python web框架为Django。从事该领域应从数据、组件、安全等多领域进行学习,从底层了解其工作原理并可驾驭任何业内主流的Web框架。
2、网络编程
网络编程是Python学习的另一方向,网络编程在生活和开发中无处不在,哪里有通讯就有网络,它可以称为是一切开发的“基石”。对于所有编程开发人员必须要知其然并知其所以然,所以网络部分将从协议、封包、解包等底层进行深入剖析。
3、 爬虫开发
在爬虫领域,Python几乎是霸主地位,将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。从事该领域应学习爬虫策略、高性能异步IO、分布式爬虫等,并针对Scrapy框架源码进行深入剖析,从而理解其原理并实现自定义爬虫框架。
4、云计算开发
Python是从事云计算工作需要掌握的一门编程语言,目前很火的云计算框架OpenStack就是由Python开发的,如果想要深入学习并进行二次开发,就需要具备Python的技能。
5、人工智能
MASA和Google早期大量使用Python,为Python积累了丰富的科学运算库,当AI时代来临后,Python从众多编程语言中脱颖而出,各种人工智能算法都基于Python编写,尤其PyTorch之后,Python作为AI时代头牌语言的位置基本确定。
6、 自动化运维
Python是一门综合性的语言,能满足绝大部分自动化运维需求,前端和后端都可以做,从事该领域,应从设计层面、框架选择、灵活性、扩展性、故障处理、以及如何优化等层面进行学习。
7、金融分析
金融分析包含金融知识和Python相关模块的学习,学习内容囊括Numpy\Pandas\Scipy数据分析模块等,以及常见金融分析策略如“双均线”、“周规则交易”、“羊驼策略”、“Dual Thrust 交易策略”等。
8、科学运算
Python是一门很适合做科学计算的编程语言,97年开始,NASA就大量使用Python进行各种复杂的科学运算,随着NumPy、SciPy、Matplotlib、Enthought librarys等众多程序库的开发,使得Python越来越适合做科学计算、绘制高质量的2D和3D图像。
9、 游戏开发
在网络游戏开发中,Python也有很多应用,相比于Lua or C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,Python非常适合编写1万行以上的项目,而且能够很好的把网游项目的规模控制在10万行代码以内。
10、桌面软件
Python在图形界面开发上很强大,可以用tkinter/PyQT框架开发各种桌面软件!
概述
- Python是一种解释型语言,解释型语言的最大优点是平台可移植性,最大的缺点是执行效率低下。
- 今天当计算机硬件已经足够发达的时候,我们追求得更多的不是程序的执行效率而是开发效率
- Python的官方网站下载Python的安装程序以及查看相关文档
说明:如果要在Linux环境下更新到Python3.x版本需要通过源代码构建安装
- 我们可以使用Python的包管理工具pip来安装第三方模块
pip install ipython jupyter
python -m pip install ipython jupyter
- 第一个Python程序 - hello, world
"""
第一个Python程序
Author:
Date:
Modifier:王大锤
Date:
"""
# 使用了Python内置的print函数打印字符串
print('hello, world!')
- 如果想用交互式环境进行Python开发那么可以使用ipython或者jupyter的notebook项目
jupyter notebook
- 如果要做团队开发以及需要使用多文件多模块协作的大型项目,我们推荐使用PyCharm的集成开发工具,我们可以从JetBrains公司的官方网站
变量
1、变量的作用
变量是数据的载体,是数据的存储空间
2、变量的命名
三条规则
3、变量的类型
六个类型
运算符
1、赋值运算符(7个)
2、算术运算符(7个)
3、关系运算符(6个)
4、逻辑运算符(3个)
5、身份运算符(is)
分支结构
if 判断条件:
语句
elif 判断条件:
语句
else:
语句
循环结构
while 判断语句:
语句
for 变量 in range(上限, 下限, 步长):
语句
练习
# 有五个人去捕鱼,不计其数,a把鱼分成了五份,多一个,
B均分,多一个,C均分,多一个,依次如此,至少捕了多少条鱼
# 循环次数一定的时候用for,循环次数不一定的时候用while,经常用到布尔值作为判断条件
fish = 1
while True:
is_correct = True
total = fish
for _ in range(5):
if (total - 1) % 5 == 0:
total = (total - 1) * (4 / 5)
else:
is_correct = False
break
if is_correct:
print(fish)
break
fish += 1
网友评论