距离上一篇博文已过去8个月了,这段时间发生了很多事情导致没能持续更新博客。这段时间除了工作繁忙,业余时间都投入到AI技术的学习中,后面一段时间将会给大家分享我作为一个.NET开发人员在深度学习领域学习的收获和成果。

《写给.NET开发者的Python教程》这个系列是第一个想和大家分享的内容,主要是从C#角度学习Python,希望能给.NET开发者们扫清AI学习的第一个拦路虎。所有的教程都会以AI开发的必备的Jupyter Notebook环境编写和提供给大家。

之后的系列会给大家分享如何从头开始使用深度学习框架从头训练AI模型和打比赛的做法和经验。

为什么学Python?


学习Python不是鼓励大家抛弃.NET平台转向Python,而是为了让大家能够在这个AI当红的年代,能对新的技术领域有所了解,甚至多掌握一门手艺。于我而言,学习Python的理由有几个:

  1. 学习AI技术。虽然AI领域能够使用很多语言和平台(如R语言、ML.NET),但目前最主流的方式是使用基于Python的AI框架,例如PyTorch和Tensorflow。大多数AI库和开源项目都基于Python,业界开发和部署AI模型也大都使用Python。
  2. 拥抱新语言。学一门新语言可以开拓视野,增加解决问题的灵活性。有个朋友每年都会学习一门新语言,这一点非常棒。学习新东西可以保持对技术的热情和新鲜感,不同的语言和平台各有千秋,擅长不同领域,能够成为一个多面手对我们的职业发展大有裨益。
  3. 提升竞争力。对于.NET开发者而言,我们会越来越多遇见项目中集成AI技术的场景,学会Python有助于我们了解AI技术方案,更好的参与AI方案的开发、集成和部署。举个例子,目前主流的AI服务托管方案都是讲AI模型部署为Web服务,然而Python的诸多Web框架性能和并发能力都不如ASP.NET Core,如果能采用ASP.NET Core作为Web服务,本机通过ML.NET或TensorFlow.NET调用AI模型或许会是更好的选择。

根据StackOverflow 2020年的开发者报告,Python仍旧是近几年开发者最想学习的语言:https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-wanted

系列内容规划


《写给.NET开发者的Python教程》主要会以C#和Python语言特性对照的方式,为大家介绍Python的语法,每一行Python代码都会有C#的对照例子。同时对于Python的类库和框架的使用,也会提供.NET对照的介绍,为大家提供一份简明概要的指引教程。

《写给.NET开发者的Python教程》系列博文的规划如下:

  1. 引言
  2. C# vs Python:语言特性、Conda和Jupyter Notebook环境
  3. 基本类型和变量
  4. 运算符、条件判断和循环语句
  5. 数据结构
  6. 函数和面向对象
  7. 模块、包和库
  8. 常用功能:文件、时间、字符串、Json&XML序列化和反序列化
  9. 机器学习神器:Numpy、Pandas、Pillow和Matplotlib

最后,这个系列的更新频率暂定一周一节

写给.NET开发者的Python教程(一):引言的更多相关文章

  1. 写给.NET开发者的Python教程(一):C# vs Python: 语言特性、Conda和Jupyter Notebook环境

    承接上篇,本文会从语言特性.开发环境和必备工具来带领大家进入Python的世界. 语言特性 首先一起看下C#和Python在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...

  2. 写给.NET开发者的Python教程(二):基本类型和变量

    从本文开始,我们就要正式了解Python的语法特性了,这章主要介绍基本类型和变量,开始之前先介绍下Python中的标准输入输出. 标准输入输出 前文举过TwoSum问题的例子,但是没有讲到标准输入输出 ...

  3. 写给.NET开发者的Python教程(三):运算符、条件判断和循环语句

    本节会介绍Python中运算符的用法,以及条件判断和循环语句的使用方法. 运算符 运算符包括算术运算符.赋值运算符.比较运算符.逻辑运算符等内容,大部分用法和C#基本一致,下面我们来看一下: 算数运算 ...

  4. Python教程:操作数据库,MySql的安装详解

    各位志同道合的同仁请点击上方关注 本教程是基于Python语言的深入学习.本次主要介绍MySql数据库软件的安装.不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下. 如想查看学习P ...

  5. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  6. Python教程:连接数据库,对数据进行增删改查操作

    各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:操作数据库,MySql的安装详解 和python基础知识之上 ...

  7. Python教程百度网盘哪里有?

    Python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象地称作"内置电池(batteries included)".带你快速入门的Py ...

  8. 2017最新的Python教程分享

    Python在数据科学盛行的今天,其易于阅读和编写的特点,越来越受编程者追捧.在IEEE发布的2017年编程语言排行榜中,Python也高居首位.如果你有学Python的计划,快来看看小编分享的Pyt ...

  9. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

随机推荐

  1. Java实现 LeetCode 732 我的日程安排表 III(暴力 || 二叉树)

    732. 我的日程安排表 III 实现一个 MyCalendar 类来存放你的日程安排,你可以一直添加新的日程安排. MyCalendar 有一个 book(int start, int end)方法 ...

  2. Java实现 LeetCode 516 最长回文子序列

    516. 最长回文子序列 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 ...

  3. 第七届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.煤球数量 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第 ...

  4. java实现第六届蓝桥杯奇怪的数列

    奇怪的数列 从X星截获一份电码,是一些数字,如下: 13 1113 3113 132113 1113122113 - YY博士经彻夜研究,发现了规律: 第一行的数字随便是什么,以后每一行都是对上一行& ...

  5. Linux 文件特殊权限-SetUID

    SetUID非常类似于Windows中以管理员身份来运行文件,针对的是可执行文件,而且命令执行者要拥有对这个文件的执行权限,只在文件执行的过程中变换身份,最常见的passwd命令就具有SetUID权限 ...

  6. C++拷贝构造函数被调用的时机

    拷贝构造函数调用的几种情况: 当用类的一个对象去初始化该类的另一个对象(或引用)时系统自动调用拷贝构造函数实现拷贝赋值. 若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数.( ...

  7. snowflake原理解析

    Snowflake 世界上没有两片完全相同的雪花. ​ - twitter Snowflake原理 这种方案把64-bit分别划分成多段,分开来标示机器.时间等,比如在snowflake中的64-bi ...

  8. BitMap算法及其实现(Python)

    BitMap概述 本文介绍 BitMap 算法的应用背景,算法思想和相关实现细节. 概括而言,BitMap 主要用来解决海量数据中元素查询,去重.以及排序等问题.这里对海量数据场景的强调,似乎暗示了这 ...

  9. 认识OSI七层模型

    概述: OSI全名(Open System Interconnect),是指定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架.层次:从低到高的层级:物理层.数据链路层.网络层.传 ...

  10. 存储系列之 DAS、SAN、NAS三种常见架构概述

    随着主机.磁盘.网络等技术的发展,对于承载大量数据存储的服务器来说,服务器内置存储空间,或者说内置磁盘往往不足以满足存储需要.因此,在内置存储之外,服务器需要采用外置存储的方式扩展存储空间,今天在这里 ...