距离上一篇博文已过去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. 【JSP】el、jstl、MVC、三层架构

    JSP[Java Server Pages] [概念] java服务器页面 简化的servlet设计 html语法中扩展java 跨平台 JSP全名为Java Server Pages,中文名叫jav ...

  2. Docker容器同步主机时间

    方法一: 查看本地是否有/etc/localtime文件 cat /etc/localtime   如果没有就新建文件 cp /usr/share/zoneinfo/Asia/Shanghai /et ...

  3. js循环语句while,do..while,for

    1. while循环 while(循环条件){ 循环体语句块; } 2.do..while循环 do{ 循环体语句块; }while(循环条件) 两者区别:while先判断后执行.循环体语句可能一次都 ...

  4. Java实现蓝桥杯VIP 算法训练 sign函数

    问题描述 给定实数x,输出sign(x)的值. sign(x)是符号函数,如果x>0,则返回1:如果x=0,则返回0:如果x<0,则返回-1. 输入格式 一行一个实数x. 输出格式 一行一 ...

  5. java算法集训结果填空题练习1

    1 空瓶换汽水 浪费可耻,节约光荣.饮料店节日搞活动:不用付费,用3个某饮料的空瓶就可以换一瓶该饮料.刚好小明前两天买了2瓶该饮料喝完了,瓶子还在.他耍了个小聪明,向老板借了一个空瓶,凑成3个,换了一 ...

  6. java实现圆周率与级数

    ** 圆周率与级数** 圆周率 我国古代数学家对圆周率方面的研究工作,成绩是突出的.三国时期的刘徽.南北朝时期的祖冲之都在这个领域取得过辉煌战绩. 有了计算机,圆周率的计算变得十分容易了.如今,人们创 ...

  7. c#发布补丁

    日常开发维护项目中,可能会遇到发布后出现bug,或者忘记改配置文件等等问题,这个时候,可能就需要重新进行下发布,有的开发小伙伴可能会把编译后的代码文件整个替换.这样做虽然也可以实现发布,但是有几个弊端 ...

  8. python—列表,元组,字典

    ——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改)  list(类)    (有序的) [1]索引取值:切片取值:for循环:whi ...

  9. 数组 & 链表

    数组 是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据. 使用了连续的内存空间和相同类型的数据,使得它可以“随机访问”,但同时也让数组的删除,插入等操作变得非常低效, 为了保 ...

  10. OAuth + Security - 6 - 自定义授权模式

    我们知道OAuth2的官方提供了四种令牌的获取,简化模式,授权码模式,密码模式,客户端模式.其中密码模式中仅仅支持我们通过用户名和密码的方式获取令牌,那么我们如何去实现一个我们自己的令牌获取的模式呢? ...