Python该怎么入门?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python该怎么入门?相关的知识,希望对你有一定的参考价值。

作为初学者,第一个月的月目标应该是这样的:

    熟悉基本概念(变量,条件,列表,循环,函数)

    练习超过 30 个编程问题

    利用这些概念完成两个项目

    熟悉至少 2 个框架

    开始使用集成开发环境(IDE),Github,hosting,services 等

    整体计划

    现在,我们先将月计划细化成周计划。

    第一周:熟悉 Python

    要积极探索 Python 的使用方法,尽可能多的完成下面这些任务:

    第一天:基本概念(4 小时):print,变量,输入,条件语句

    第二天:基本概念(5 小时):列表,for 循环,while 循环,函数,导入模块

    第三天:简单编程问题(5 小时):交换两个变量值,将摄氏度转换为华氏温度,求数字中各位数之和,判断某数是否为素数,生成随机数,删除列表中的重复项等等

    第四天:中级编程问题(6 小时):反转一个字符串(回文检测),计算最大公约数,合并两个有序数组,猜数字游戏,计算年龄等等

    第五天:数据结构(6 小时):栈,队列,字典,元组,树,链表。

    第六天:面向对象编程(OOP)(6 小时):对象,类,方法和构造函数,面向对象编程之继承

    第七天:算法(6 小时):搜索(线性和二分查找)、排序(冒泡排序、选择排序)、递归函数(阶乘、斐波那契数列)、时间复杂度(线性、二次和常量)

    通过第一周时间,python大致能熟悉了,自学能力稍微弱一点找人带下你,节约自己的时间。

    注意:别急着安装 Python 环境!

    这看起来很矛盾,但是你一定要相信我。我有几个朋友,他们因为语言工具包和 IDE 安装的失败而逐渐失去了学习下去的欲望。因此,我的建议是先使用一些安卓 app 来探索这门语言,如果你是个技术小白,安装 Python 环境可不是你的首要任务。

    第二周:开始软件开发(构建项目)

    接下来,让我们朝着软件开发任务进军吧!不妨尝试综合你学到的知识完成一个实际的项目:

    第一天:熟悉一种 IDE(5 小时): IDE 是你在编写大型项目时的操作环境,所以你需要精通一个 IDE。在软件开发的初期,我建议你在 VS code 中安装 Python 扩展或使用 Jupyter notebook。

    第二天:Github(6 小时):探索 Github,并创建一个代码仓库。尝试提交(Commit)、查看变更(Diff)和上推(Push)你的代码。另外,还要学习如何利用分支工作,如何合并(merge)不同分支以及如何在一个项目中创建拉取请求(pull request)。

    第三天:第一个项目——简单计算器(4 小时):熟悉 Tkinter,创建一个简单的计算器

    第四、五、六天:个人项目(每天 5 小时):选定一个项目并完成它。如果你不知道你该做什么,可以查看下面的清单(https://www.quora.com/what-some-good pythonprojects -for-an- middle - programmer/answer/jhankar - mahbub2)

    第七天:托管项目(5 小时):学习使用服务器和 hosting 服务来托管你的项目。创建一个 Heroku 设置并部署你构建的应用程序。

    为什么要写项目?

    如果仅仅按部就班地学习课堂上或视频中的内容,你无法拥有独立思考能力。所以,你必须把你的知识应用到一个项目中。当你努力寻找答案时,你也在慢慢地学会这些知识。

    第三周:让自己成为一名程序员

    第 3 周的目标是熟悉软件开发的整体过程。你不需要掌握所有的知识,但是你应该知道一些常识,因为它们会影响你的日常工作。

    第一天:数据库基础(6 小时):基本 SQL 查询(创建表、选择、Where 查询、更新)、SQL 函数(Avg、Max、Count)、关系数据库(规范化)、内连接、外连接等

    第二天:使用 Python 数据库(5 小时):利用一种数据库框架(SQLite 或 panda),连接到一个数据库,在多个表中创建并插入数据,再从表中读取数据。

    第三天:API(5 小时):如何调用 API。学习 JSON、微服务(micro-service)以及表现层应用程序转换应用程序接口(Rest API)。

    第四天:Numpy(4 小时):熟悉 Numpy(https://towardsdatascience.com/lets-talk-about- Numpy -for- datascies-beginners-b8088722309f)并练习前 30 个 Numpy 习题(https://github.com/rougier/numpy- 100/blob/master/100_numpy_excercises.md)

    第五、六天:作品集网站(一天 5 小时):学习 Django,使用 Django 构建一个作品集网站(https://realpython.com/get- start-with-django -1/),也要了解一下 Flask 框架。

    第七天:单元测试、日志、调试(5 小时):学习单元测试(PyTest),如何设置和查看日志,以及使用断点调试。

    真心话时间(绝密)

    如果你非常「疯狂」,并且非常专注,你可以在一个月内完成这些任务。你必须做到:

    把学习 Python 作为你的全职活动。你需要从早上 8 点开始学习,一直到下午 5 点。在此期间,你可以有一个午休时间和茶歇时间(共 1 小时)。

    8 点列出你今天要学的东西,然后花一个小时复习和练习你昨天学过的东西。

    从 9 点到 12 点:开始学习,并进行少量练习。在午饭后,你需要加大练习量,如果你卡在某个问题上,可以在网上搜索解决方案。

    严格保持每天 4-5 小时的学习时间和 2-3 小时的练习时间(每周最多可以休息一天)。

    你的朋友可能会认为你疯了。走自己的路,让别人去说吧!

    如果你有一份全职工作,或者你是一名学生,完成这些流程可能需要更长的时间。作为一名全日制学生,我花了 8 个月的时间来完成这份清单。现在我是一名高级开发人员。所以,不管花多长时间,一定要完成它们。要想成功完成一个目标,必须付出百分之百的努力。

    第四周:认真考虑工作(实习)问题

    第 4 周的目标是认真思考如何才能被录用。即使你现在不想找工作,你也可以在探索这条道路的过程中学到很多东西。

    第一天:准备简历(5 小时):制作一份一页的简历。把你的技能总结放在最上面,必须在写项目的同时附上 Github 链接。

    第二天:作品集网站(6 小时):写几个博客,将它们添加到你之前开发的作品集网站中。

    第三天:LinkedIn 简介(4 小时):创建一个 LinkedIn 个人简介,把简历上的所有内容都放到 LinkedIn 上。

    第四天:面试准备(7 小时):准备一些谷歌常见的面试问题,练习白皮书中的 10 个面试编程问题。在 Glassdoor、Careercup 等网站中查看前人遇到的面试问题。

    第五天:社交(~小时):走出房门,开始参加聚会、招聘会,与其他开发人员和招聘人员见面。

    第六天:工作申请(~小时):搜索「Python Job」,查看 LinkedIn Job 和本地求职网站。选择 3 个工作岗位并发送工作申请。为每个工作定制你的简历。在每个工作要求中找出 2 到 3 件你不知道的事情,并在接下来的 3-4 天里学会它们。

    第七天:在拒绝中学习(~小时):每次你被拒绝的时候,找出两件为了获得这份工作你应该知道的事情,然后花 4-5 天 的时间来掌握它们。这样,每次拒绝都会让你成为更好的开发人员。

参考技术A “因此另一类入门方法是通过利用碎片化时间的方法进行互动编程。任何编程语言其实都能被分解为很多基础的小模块,比如打印、逻辑判断、循环,以及再高级点的函数方程等。在了解了基本模块化后,进行复杂的功能其实只是拼接,就像电路元件的组合。我举个简单的例子,给定一个用户的年龄和性别,如果TA是成年...” 参考技术B

这里有一个选择,可以做参考:

就是Python 的说明文档中有这么一栏:

”The Python Tutorial“。打开Python GUI,跟着“The Python Tutorial”中的例子多练习。

参考技术C 从今天开始学习python,会将学习到的相关知识整理到这里。今后的所有内容都基于Ubuntu系统中进行的,和其他语言一样,让我们先来"Hello World!"吧。
Hello world!
#!/usr/bin/python为Linux系统下Python解释器的路径,通常python解释器的路径安装在/usr/local/bin或/usr/bin目录下。
程序输入和raw_input()内建函数
从用户得到数据输入的最好方式使用raw_input()函数,它读取标准输入,并将读取到的数据赋值给指定的变量。

注释
和大部分脚本及Unix-shell语言一样,python也使用 # 符号标示注释,从#开始直到一行结束的内容都是注释
操作符
和其他大多数语言一样,Python中的标准算数操作符以你熟悉的方式工作。加、减、乘、除、取余都是标准操作符,Python当然也有标准比较操作符,比较运算根据运算的真假返回布尔值。例如:
>>> 2 > 4 True
>>> 2 < 4 False
变量和赋值
和大多数高级语言一样,都受C语言的影响。变量名仅仅是一些字符开头的标识符--意指大写或者小写字母,另外还包括下划线(_)。变量名是大小写敏感的。'case'和'CaSe'是两个不同的变量。
Python是动态类型语言,不需要预先生命变量类型。
数字&字符串
Python支持五种基本数字类型,其中有三种整形类型。
有符号整型 - 长整型、布尔值 浮点值 复数
Python中字符串被定义为引号之间的字符集合。支持使用成对的单引号或双引号,三引号(三个连续的单引号或双引号)可以用来包含特殊字符。使用索引操作符([])和切片操作符([:])可以得到子字符串。索引规则:第一个字符的索引是0,最后一个字符的索引是-1。
加号(+)用于字符串连接运算,星号(*)则用于字符串重复。
列表和元组
可以将列表和元组当成普通的“数组”,可以保存任意数量任意类型的Python对象。通过从0开始的数字索引访问元素。
列表和元组有几处重要的区别。列表元素用中括号([])包裹,元素的个数及元素值可以改变。元组用小括号(())包裹,不可以更改。通过切片元素([]和[:])可以得到子集,这点与字符串使用方法一致。
字典

字典是Python中的映射数据类型,关联数组或哈希表,由键值对构成。一般以数字或字符串最为键,值可以是任意类型的Python对象,字典元素用大括号()包裹。
文件和内建函数open(),file()
如何打开文件 handle = open(filename, access_mode = 'r')
filenam变量包含我们系统打开的文件的名字,access_mode中'r'表示读取,'w'标示写入,'a'表示添加。其他可能用到的标识还有'+', 'b'表示二进制访问。如果open成功,一个文件对象句柄会被返回。所有后续的文件操作都必须通过此文件句柄进行。比如readlines()和close()。
上面的代码适用于文件大小适中的文件。对于很大的文件来说,上面的代码会占太多的内存,这时你最好一次读一行。
函数
定义一个函数的语法由def关键字及紧随其后的函数名,在加上函数的几个参数组成。函数参数是可选的,这个语句由一个(:)结束,之后的函数体,例如:

如何定义类,使用class关键字进行定义。可以提供一个可选的父类,如果没有合适的父类,那就使用object做为父类。class行之后是可选的文档字符串、静态成员定义和方法定义。
上面的类中,我们定义了一个静态变量version,可以被所有实例和3个方法共享,__init()__方法有一个特殊的名字,当上面的类实例被创建时,__init__()方法自动执行。目的是执行一些初始化的工作。每个方法都有一个参数self,它是类实例自身引用。其他面向对象语言有的使用this。
模块
模块是一种组织形式,它将彼此有关系的代码组织到一个个独立的文件中。当你创建了一个python源文件,模块的名字就是.py后缀前的文件名字。一个模块创建后,你可以从另一个模块中使用import来导入它。
导入模块很简单,import module_name,完成导入后,一个模块的属性(函数和变量)可以通过熟悉的句点属性标识法访问,module.function()、module.variable,使用sys模块输出函数做个例子。

以上是关于Python该怎么入门?的主要内容,如果未能解决你的问题,请参考以下文章

python数据分析该怎么入门呢?

Python该怎么入门?

Python从入门到精通Python流程控制的关键字该怎么用呢?收藏下来,常看常新

Python从入门到精通Python流程控制的关键字该怎么用呢?收藏下来,常看常新

Python数据分析有必要学吗?非程序员学了有什么用?0基础该怎么入门?

lammps该怎么入门