我对python的理解_我所理解的Python- Python 基本学习与使用

Python 在大数据人工智能时代无疑是一个进入行业必备技能。我自己本身就是一个Python 爱好者。就我所理解的使用Python 和看大家使用Python 我有一些想说的。

首先是关于Python 的入门。怎样就是Python 入门了?其实我们从很多人那里已经得到答案了,会Python ,肯定就会做项目。额,做项目,什么项目?然后大家就会去网上找Python 动手项目。然后跟着做,其实大部分就是把别人代码复制下来,看一看,然后自己运行一遍。然后就产生了疑问,我这就算入门了?如果你有这样的困扰,这篇文章可能会帮助你。

本人并非计算机专业科班出身,本科汽车动力学仿真方向,硕士电动汽车控制,去公司实习做汽车软件工程负责用Python 开发一些自动化工具,后面对深度学习算法和计算机视觉感兴趣,开始自动驾驶方向,所以我称自己是一个走偏了的汽车工程师。所以我学Python 完全是因为需要,后面也越用越有兴趣。

首先在正式内容开始之前,先说明几个问题,

1. 本文不对Python 的使用性能做评论,所以请不要和其他语言对比

2. 如果你存在上面几个困扰,先忘记这些困扰,看完本文先

3. 本文主要从应用方面对Python 进行讨论

以下是正文。

对编程的理解

当我们在学习编程的时候,我们的目的以及我们最实际在做的事情是什么?

谈到目的,每个人都不同,有人说想自己写一些脚本来帮助自己简化工作,有人是想做计算机视觉,有人要做数据处理,有人说来做一些数学上的工作简化等等。所以在一开始,把目标定好很重要。

定了目标,开始学编程。问题:当我们开始在谈编程时,实际在做什么?

很简单,我们在试着和计算机交流。由于我们在交流之前就是带着目的来交流的,所以这种关系类似于我们领导跟小弟的一种关系。所以大致的流程是这样:Human:“Hello World, 能帮我做个事嘛?” Computer:“您吩咐~”-- 等待 Human:“OK,我这里有一些AAA,你通过BBB,把CCC 做成DDD 的样子” Computer:“没问题” <然后Computer 开始去做事情> Computer:“老板,这个AAA/BBB/CCC/DDD 有点问题,您确认一下” Human:“好的,你在看一下” Computer:“做好了” Human:“厉害” Computer:“谢谢~” Human:“没有,我说我自己很厉害~”

从这样一个对话中,我们能看到,这种交流方式就是:

我们给定一个Input 给计算机(数据预处理),计算机根据我们的需求经过处理(算法),出现问题反馈(Debug),我们进行修正,直到输出(Output)我们想要的结果。

我们来思考下都有什么作为Input,也就是计算机基本能对什么事情进行处理:键盘的输入

文本

音频

图片

视频

...

我们的Output 也和Input 一样包括以上部分,思考下,怎么从键盘输入东西给计算机,怎么从文本读数据给计算机,怎么读入图片,音频,视频,这是编程的首要条件。

这有什么用?

当我们在编程的时候,无非就是做这样的事情,熟悉你想让计算机处理的Input 的类型的api 方式,学会给计算机一些做事情的方法,学会怎么把计算机处理的结果输出。那我们学编程怎么进行。绝对不是说我print 一个"Hello World" 那种思路。而应该是根据你的目的,举例:你学编程就是相对一个非常大的.txt 文本进行处理,把特定的字符挑出来,保存到另外一个文件下。

OK,假设你现在对Python 一无所知,你首先要做的,不是打开知乎,搜索,Python 如何入门?然后看高票答案列出来的书籍和资料。你应该做的,打开百度或者谷歌,搜索,Python 如何打开或创建.txt 格式文本,然后试着按照例子来进行你的第一个项目,创建或者打开保存一个文件。当你会使用这个功能之后,你就只需要吧你想做的事情在纸上写下来,比如搜索.txt 中文本某个字符,OK,可能你还不清楚字符是什么,那就搜索.txt 中某个东西,然后将这个东西拿出来,创建另一个.txt 文本,把这个东西放进去。总之,你自己怎么做这个事情,你就把这个写下来,让电脑代替你做。然后你并不会搜索.txt 中的某个东西,然后你就谷歌,列出关键词“python 搜索txt 文本内容”,然后你可能会得到字符串的概念,你会看到正则表达式,然后你就卧槽,什么鬼,都没听说过,这时候,你打开一本你常见的编程书,把下面的内容过一遍,因为这些内容所有编程语言都有,只是格式可能不同:数据类型,不要紧张,就是python 里面可以在哪些数据类型之间进行转换,Python 的6中数据类型中,你要选择一个合适的你自己的容器,就是你之后处理数据在计算机中存储的中间容器,程序运行时可以随时取出来,比如列表,元组,字典等。

条件语句,就是if 语句

循环语句,就是for, while 语句

顺序语句

怎么写函数

怎么创建一个类

看完之后,你知道了什么是字符串,也许你还知道了,对Python 来说,任何Input 都是一个从键盘输入的东西都是字符串。然后你就看刚才你从网上看到的搜到的内容,现在你又看懂了一些了。然后继续,你又不会了,你就继续谷歌,然后你就放弃了。。。不是,你就做出来你想做的东西了。做出来东西之后,你就算入门了啊。

当过了一个月,你又有一个任务了。你打开Python 发现你什么都不记得了,甚至连输入输出命令都不记得了。你又在问自己,看来还是没有入门。不是啊,你至少知道有输入输出这个东西,然后打开谷歌,Python 如何打开或者创建txt文本,谷歌这时肯定不会说,“You Stupid”,放心玩。这种小项目做了3-5 个,你就可以认认真真看下书。你不用担心看完之后不记得,你总会有收获。

但是要记住,编程是需要时间的。不要总想着一蹴而就。没有花时间就不要说不行。以上说的并不仅仅适用于Python 的学习,正如标题说的,这是对所有编程的方法。

当然,上面说到算法,算法就是你处理问题的思路。这只是一个名词,你这么理解就好了。不同的领域有不同的算法,这些算法是很多人的智慧,告诉你处理这样的问题这样做就好了,你从小到大接受了很多类似的“算法”,现在你再接受一些又有什么不同呢?所以,等你做的项目真正需要一些牛逼的结局问题思路,你再看一看别人的算法,首先你都要想到自己用思路把问题解决。比如能用字符串解决的问题,就先不要考虑正则化,只有你觉得想提高处理速度,你再去看看啊。

理解面向对象

也许你厉害,知道很多东西,虽然你可能不怎么会编程,你看到这里马上想到了面向过程,但是,我们忘记面向过程,好嘛?要搞清楚你做什么事,你在学编程,学Python,每本书都告诉你,Python 是面向对象的,你去了解什么面向过程。

回到我们讨论的话题。对象是一个名词,尽管我们后面会知道,它就可以理解为一个类。我们来看一种“交流”:打开文本。这里让计算机打开文本。找名词,其中"文本" 就是一个名词,那它就是一个对象。对于python 面向对象,就会有这样一个语序“文本.打开”。我们说对象有属性,有方法,属性就是对象里的名词,方法就是对象里的动词。比如上面,“打开”是一个动词,那么它就是对象的一个方法,“文本中的文字”会表述为“文本.文字”,文字是名词,文字就是文本的一个属性。

然后你继续看书,看到对象有很多特点,比如继承性之类。然后你可能看不懂了。然后我之前透露过,你将Python 中对象看作一个类,然后去看类这个概念,看怎么定义类,注意什么东西,回过头来看一看对象的那些特点。继承性不就是在定义类时候在括号里写上另外一个类,另外一个类的特点全部被现在这个类继承,属性就是定义在类里面的变量,方法就是在类里面定义的各类函数。当然你要严格看待编程意义上的概念,这也许是错的,但我们是新手,你就这么认为,好嘛?等你牛逼了,再来揭穿我,好嘛?

请用心理解面向对象,理解类。

Python 基本使用

这里不多说什么。写一个Step:定好自己要解决的第一个目标,要做什么类型的事(键盘操作?文本?图片?)

从目标出发,把你要完成的这个目标使用的输入输出方式弄清楚,谷歌就好了,还比如“python 图片处理方法”之类

过一遍菜鸟教程,你真的只需要一个菜鸟教程把所有基本概念过一遍

花时间把项目做完

有问题及时搜索搞清楚

看别人写的感兴趣代码,不知道的语法弄清楚出

你现在根本不需要知道Python 的底层操作,你根本不需要知道报错机制,什么是魔术方法,什么是语法糖,什么是线程/进程,什么是包管理机制。你要做的就是,熟悉基本概念然后把项目完成就好了。

当然有些人就是没有目标,就觉得Python 很火很牛逼的样子,要学习。这也很欢迎大家加入Python 。我的建议是,我给你们一个目标,写一个小软件:

软件的要求是:有界面,哈哈哈,没界面不叫软件

实现文本复制和移动功能

查找文件夹下同名文件

给文件夹下文件重命名

有一个报告文件夹里面文件内容的功能:比如,点击按钮,生成一个报告,文件夹里面有几种文件,分别是什么,每个文件类型有几个文件之类

然后你可以自己在想一些其他功能

Python 用于数据科学深度学习

python 的入门不需要纠结,我们的征途是星辰大海。

最后关于Python 用于数据科学深度学习这方面我暂且列出了如下的内容:numpy

opencv

matplotlib

pandas

tensorflow

keras

授人以鱼不如授人以渔,接下来我主要从认知的角度来讲清楚他们的架构,以及如何使用。但是文章是不定期更新,也不要太期待,毕竟我也不知道什么时候更新。

最后,如果有逻辑不正确的请大家指出,大家有关于Python 基本使用的疑问,欢迎留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值