Python学习经验分享,希望对初学者有所帮助
在18年初工作上遇到瓶颈,我选择了在数据分析这条路上深入。当时工作内容主要是在经营部出各种日报、月报及数据,这个时候我三选择:
一、选择经营管理方向发展,
二、数据分析方向,
三、其他方向。
在经营管理方向我其实属于一个小白,虽然公司急需这类人才,但我确实不擅长。数据分析这个方面之前一年的工作有了一点经验,而且有一定兴趣。其他选择相当于从头开始。所以最后选了在数据分析上深入走下去。
在开始学习数据分析时推荐加入一个学习社区。这样可以解决几方面问题
1、选哪些课程来学习
2、有社区成员一起学习,互相汲取经验
3、遇到难点很容易找到解决办法
4、少走弯路
5、减少学习惰性
6、有老师制定的学习计划
相比其他学习内容,我觉得Python首先学习的即时反馈很快,今天学了什么内容马上就知道我会这个地方了,更容易有动力学下去,在学Python时我每天下班后能更容易保持3个小时的学习时间。然后就是学习时一定要多动手,Python是一门语言,更多的操作很容易就形成记忆,而且会发现记忆错误的地方。在学习半个月后我翻回开始的地方重新看了一遍,收获特别大,有很多印象中已经记不清的地方都被激活。
选一个好的入门书籍特别重要,我使用老师推荐的:父与子的编程之旅Python,优点是适合小白,而且上手操作较多,最后会编程一个小游戏,非常有成就感。
再加点我自己的感想:我觉得数据分析有俩条路去走,1、从现实需求掌握分析理论然后入手2、从数据分析工具入手,把别人的分析项目模仿走一走。俩个方法我也不知道哪个更好,但从接触的数据分析师看,刚开始做数据分析的人应该是走的第一条路,现在开始学习数据分析的人多数从工具入手学的。
在学习中我遇到较多的问题是Python的安装,包的使用,这个与日常使用的APP软件比较还是有区别的,没有特别傻瓜式,但感谢互联网时代,基本上遇到的所有问题在Google都可以找到答案。
推荐下我自己创建的Python学习交流群935711829,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程。
Python知识分享
安装Python在网上有很多教程,很容易搜到,比我写的也好,就不重复了。
Python基础语法
- 编码:默认情况下,Python3源码文件以UTF-8编码
- 标识符:第一个字符必须是字母表只能够的字母或下划线_,标识符的其他部分由字母、数字和下划线组成,标识符对大小写敏感
- Python保留字:保留字即关键字,我们不能把它们用作任何标识符名称。
- 注释:Python中单行注释以#开头
- 行与缩进:Python最具特色的使用缩进来表示代码块
- 多行语句:Python通常是一行写完一条语句,但如果语句很长,我们可以使用“\”来实现多行语句。在【】(){}中的多行语句,不需要使用反斜杠“\”
- 数字类型:Python中数字有四种类型:整数、布尔型、浮点数和复数
- 字符串(string):Python中单引号和双引号使用完全相同,使用三引号可以指定一个多行字符串,反斜杠可以用来转移使用r可以让反斜杠不发生转义,按字面意义级联字符串,字符串可以用+运算符连接在一起,用‘*’运算符重复,Python中的字符串有俩种索引方式,从左到右以0开始,从右到左以-1开始,Python中的字符串不能改变,Python没有单独的字符类型,一个字符就是长度1的字符串,字符串的截取语法格式如下:变量【头下标:尾下标】
- 空行:函数之间或类的方法之间用空行分隔,表示一段新的代码的开始,类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
- 等待用户输入
- 同一行显示多条语句:Python可以在同一行中使用多条语句,语句之间使用分号(;)分割
- 多个语句构成代码组:缩进相同的一组语句构成一个代码块,我们称之代码组
- print默认输出是换行的,如果要实现不换行需要在变量末位加上end=“”
- import和from。。。import:在Python用import或者from。。。import来导入相应的模块
- 命令行参数:很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数看看各参数帮助信息
Python3基本数据类型
- Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的‘类型’是变量所指的内存中对象的类型。
- Python允许你同时为多个变量赋值,但不建议使用
- 标准数据类型:Python中有六个标准的数据类型:不可变数据,Number(数字)String(字符串)Tuple(元组)可变数据,List(列表)Set(集合)Dictionary(字典)
- Number(数字):Python3知产int、float、bool、complex
- Set(集合):集合(Set)是一个无序不重复元素的序列,基本功能是进行成员关系测试和删除重复元素。
学习Python后在知乎上看到一个非常有趣可以用Python解决捣鼓了2个小时终于编写好了程序,有种身体从里到外的通畅。学习的内容做完这个题后很多地方都关联上了。
问题:已知等比数列的和,能不能反向推出该数列缺哪几项?
比如,1,2,4,8,16。。。。一个等比数列,我现在知道数列的和,我想知道缺哪几项,比如和是25,能简单看出缺了2,3项,可是如果数字大了,数列长了,还能推导出来缺哪几项吗?用程序,应该可以找出来缺哪几项的吧?
我的答案:简单写下我的思路与代码如下:
listsum = int(input('Enter your sum!'))
#输入已知的数列和
yizhilist = []
#创建空数列
yizhiyuanshu = 0
tingzhishu = 3
#创建如果想停止输入数列时的数值
while yizhiyuanshu != tingzhishu:
yizhiyuanshu = input('Enter your listyuanshu!')
yizhiyuanshu = int(yizhiyuanshu)
#print (yizhiyuanshu) 这四行是因为当时输入的时候一直因为原始类型错误导致循环不能停止找原因用的
#print (tingzhishu)
#print (type(yizhiyuanshu))
#print (type(tingzhishu))
yizhilist.append(yizhiyuanshu)
print (yizhilist)
#打印输入已知的数列
time = 0
l = 0
y = 0
while y != listsum:
x = 2**time
y = x + y
time = time + 1
time = time - 1
print(time)
#上面的循环是找到最后一个数列元素是2的几次幂
def qiuhe(time,yizhilist):
for i in range(time+1):
if 2**i in yizhilist:
print('shi')
else:
print (2**i)
#定义一个递归函数与已知的数列元素进行对比,然后打印出缺省值
qiuhe(time,yizhilist)
在写这个途中犯了几个错误,最后鼓捣了一个多小时重要鼓捣出来。也是新学的Python,很多地方存在不足,欢迎提出。
- 要求用户输入的数列元素是字符串,要转换成数值int格式,最开始没意识到,导致第一个循环一直出错
- 刚开始学习最好把一个程序分成多块编写运行,容易查找错误,我一口气写完后报错一片
- while循环的判定条件我理解错误,导致在该停止循环的时候还在运行
- 最后一个是递归函数的建立,逻辑思路不够清晰,这个函数运行的总不听指挥