一天入门 Python 的一些心得

简介: 1. 前言好久没写文了。最近在搞一些好玩的技术用到了 Python 。我原以为要花些时日,谁知道第一天入门之后便没有再刻意地去学习它了。这里就写写其中的一些关键点吧。如果我去学一门语言不是因为它火了而是我用到它了。曾经闲着没事干的时候把 Kotlin 、Vue、React 学了,但是从来没有实践中用到它们,以至于现在几乎快要忘了。所以这是个惨痛的教训:有可能用不到的东西不要去学。有这个时间泡妞打游戏它不香吗?2. 为什么选择Python"玩蛇"其实我是拒绝的,我要搞个爬虫以及数据清洗,包括机器学习的一些东西。而这些方面 Python 具有先天性优势,所以 Python 成了不二的选择。
  1. 前言

好久没写文了。最近在搞一些好玩的技术用到了 Python 。我原以为要花些时日,谁知道第一天入门之后便没有再刻意地去学习它了。这里就写写其中的一些关键点吧。如果我去学一门语言不是因为它火了而是我用到它了。曾经闲着没事干的时候把 Kotlin 、Vue、React 学了,但是从来没有实践中用到它们,以至于现在几乎快要忘了。所以这是个惨痛的教训:有可能用不到的东西不要去学。

  1. 为什么选择Python

"玩蛇"其实我是拒绝的,我要搞数据清洗,包括机器学习的一些东西。而这些方面 Python 具有先天性优势,所以 Python 成了不二的选择。从这里你需要知道当你要去学一个新技术时,你要知道它的优势是什么,它的场景是什么。有不少人去报个班学 Python ,当你问他为什么学 Python 的时候,他告诉你因为它火啊。这种是没有前途的。

  1. 如何快速入门Python

这一篇是结合我个人的经历写的,所以想快速入门首先你要有编程的经历,掌握其它任何一门语言的前提下,有一定的学习能力,Python 对你来说是几乎没有难度的语言。

3.1 环境安装和包管理
Python 大部分人学习和使用直接去官方下对应的环境包安装就行了,当然这个也可以。事实上如果用的多了后面会涉及环境的问题。这里建议直接使用 Anacoda3 。这个可以看作 Python 中的 Maven 或者 Gradle 。将来你会遇到有得项目依赖 Python2 有的依赖 Python3 的问题,Anacoda3可以帮助你解决特定的环境管理问题。

3.2 一种以缩进来归纳代码块的语言
这个是 Python 比较特色的一个地方。它不使用大括号 {} 来控制类,函数以及其他逻辑判断的层次。如果是 Java 你会这么写:

public void test(String str){

   if(str!=null){
      System.out.println("str ="+ str);
   }else{
     System.out.println("str is null");
   }

}
复制代码
用 Python 就这么写了:

def test(str):

  if str:
     print('str')
  else:
     print('None') 

复制代码
从这里可以看出来 Python 把能省的都省了,连变量类型,返回值类型都不要了。作为面向对象的语言来说这有点”不严谨“ ,但是作为脚本语言来说这就非常受用了。写这一篇文章的时候刚好需要修改个证件照的大小,Python 随手就处理了:

file_dir = './2.jpg'

with Image.open(file_dir) as img:

 x, y = img.size
 x_s = 650
 y_s = y * x_s / x
 out = img.resize((int(x_s), int(y_s)), Image.ANTIALIAS)
 out.save('./3.jpg')

复制代码
在你掌握一门其它语言的前提下学习 Python 是很容易的。所以基本语法几乎是一遍过。高级特性建议边用边学,不用再这个上面浪费时间。学习任何一门语言都是多练多写。就像神枪手都是子弹喂出来一样,一名出色的 Coder 都需要代码量达到一定的量级。

3.3 难点
我觉得唯一的比较花时间的就是切片(slice)。切片就是按照范围取 list 或者 tuple 中的值。非常灵活,切片不但有正序也有逆序。这也是 Python 擅长处理数据的重要原因之一。这里要花大量的时间取练习和理解操作数据。机器学习,科学实验,数据分析都用得到。

  1. 如何快速学习

建议直接自定一个小需求开始学,遇到问题就去解决问题。然后着重练习并理解自己遇到的问题的技术解决途径。我写完 HelloWorld 就没有去按部就班了。 找了个爬虫脚本去尝试爬东西。并且去理解里面的一些写法,然后把自己的一些想法实现进去。练习数据处理可以去连一个数据库,进行各种手机号码交易数据的聚合操作。学新东西你往往不知道什么对你有最直观的提高,只有需求才能让你找到短板、看清方向。不要纠结于某些你不知道用途的语言特性。

  1. 尽情地调包

”玩蛇“ 就是玩调包!一名出色的 Python Coder 都是调包侠!Python 有非常丰富的类库让你去实现各种想法。所以用 Python 不要遇到场景就想着造轮子,先去找找有没有轮子。这里有几个常用的轮子你可以在学习的时候就能用起来:

BeautifulSoup 玩爬虫必备
Pillow 图片处理库。 比如我上面给美女帮忙P图的的就是它,赢得好感必备。
Numpy 高性能科学计算和数据分析的基础包。 玩机器学习必备。
Pandas 数据分析必学
还有非常多,不过上面的几个在某些领域非常强大,玩的好能当饭吃。

  1. 总结

Python 作为第二语言非常不错,而且上手非常快。平时处理点数据很顺手,玩起来很爽。如果想搞一些人工智能的东西,需要的门槛就高些,数学、统计、概率、英语、建模一个都不能少。所以如果要吃 Python 这碗饭还是要看清楚自己的能力的。单单会 Python 并不让你具备优势,更不值得去报班学习,因为学 Python 没有难度。

目录
相关文章
|
3天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
20 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
19小时前
|
Python
深入理解Python装饰器:从入门到实践####
本文旨在通过简明扼要的方式,为读者揭开Python装饰器的神秘面纱,从基本概念、工作原理到实际应用场景进行全面解析。不同于常规的摘要仅概述内容概要,本文将直接以一段精炼代码示例开篇,展示装饰器如何优雅地增强函数功能,激发读者探索兴趣,随后深入探讨其背后的机制与高级用法。 ####
18 8
|
4天前
|
Python
探索Python装饰器:从入门到实践
【10月更文挑战第32天】在编程世界中,装饰器是一种特殊的函数,它允许我们在不改变原有函数代码的情况下,增加额外的功能。本文将通过简单易懂的语言和实际案例,带你了解Python中装饰器的基础知识、应用以及如何自定义装饰器,让你的代码更加灵活和强大。
11 2
|
5天前
|
监控 Python
探索Python中的装饰器:从入门到实践
【10月更文挑战第31天】在Python的世界里,装饰器是那些隐藏在幕后的魔法师,它们拥有着改变函数行为的能力。本文将带你走进装饰器的世界,从基础概念到实际应用,一步步揭开它的神秘面纱。你将学会如何用几行代码增强你的函数功能,以及如何避免常见的陷阱。让我们一起来发现装饰器的魔力吧!
|
12天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第24天】本文将带你进入Python的世界,从最基础的语法开始,逐步深入到实际的项目应用。我们将一起探索Python的强大功能和灵活性,无论你是编程新手还是有经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python的奇妙之旅吧!
|
14天前
|
数据采集 存储 数据库
Python中实现简单爬虫的入门指南
【10月更文挑战第22天】本文将带你进入Python爬虫的世界,从基础概念到实战操作,一步步指导你如何使用Python编写一个简单的网络爬虫。我们将不展示代码示例,而是通过详细的步骤描述和逻辑讲解,帮助你理解爬虫的工作原理和开发过程。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往数据收集新世界的大门。
|
12天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
【10月更文挑战第24天】 在Python的世界里,装饰器是一个既神秘又强大的工具。它们就像是程序的“隐形斗篷”,能在不改变原有代码结构的情况下,增加新的功能。本篇文章将带你走进装饰器的世界,从基础概念出发,通过实际例子,逐步深入到装饰器的高级应用,让你的代码更加优雅和高效。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
13天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
23 1
|
4天前
|
存储 机器学习/深度学习 搜索推荐
Python编程入门:从零开始构建你的第一个程序
【10月更文挑战第32天】本文旨在通过浅显易懂的方式引导编程新手进入Python的世界。我们将一起探索Python的基础语法,并通过实例学习如何构建一个简单的程序。文章将不直接展示代码,而是鼓励读者在阅读过程中自行尝试编写,以加深理解和记忆。无论你是编程初学者还是希望巩固基础知识的开发者,这篇文章都将是你的良师益友。让我们开始吧!
|
6天前
|
开发者 Python
探索Python中的装饰器:从入门到实战
【10月更文挑战第30天】本文将深入浅出地介绍Python中一个强大而有趣的特性——装饰器。我们将通过实际代码示例,一步步揭示装饰器如何简化代码、增强函数功能并保持代码的可读性。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往更高效编程的大门。
下一篇
无影云桌面