写给.NET开发者的Python教程(一):引言
距离上一篇博文已过去8个月了,这段时间发生了很多事情导致没能持续更新博客。这段时间除了工作繁忙,业余时间都投入到AI技术的学习中,后面一段时间将会给大家分享我作为一个.NET开发人员在深度学习领域学习的收获和成果。
《写给.NET开发者的Python教程》这个系列是第一个想和大家分享的内容,主要是从C#角度学习Python,希望能给.NET开发者们扫清AI学习的第一个拦路虎。所有的教程都会以AI开发的必备的Jupyter Notebook环境编写和提供给大家。
之后的系列会给大家分享如何从头开始使用深度学习框架从头训练AI模型和打比赛的做法和经验。

为什么学Python?
学习Python不是鼓励大家抛弃.NET平台转向Python,而是为了让大家能够在这个AI当红的年代,能对新的技术领域有所了解,甚至多掌握一门手艺。于我而言,学习Python的理由有几个:
- 学习AI技术。虽然AI领域能够使用很多语言和平台(如R语言、ML.NET),但目前最主流的方式是使用基于Python的AI框架,例如PyTorch和Tensorflow。大多数AI库和开源项目都基于Python,业界开发和部署AI模型也大都使用Python。
- 拥抱新语言。学一门新语言可以开拓视野,增加解决问题的灵活性。有个朋友每年都会学习一门新语言,这一点非常棒。学习新东西可以保持对技术的热情和新鲜感,不同的语言和平台各有千秋,擅长不同领域,能够成为一个多面手对我们的职业发展大有裨益。
- 提升竞争力。对于.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教程》系列博文的规划如下:
- 引言
- C# vs Python:语言特性、Conda和Jupyter Notebook环境
- 基本类型和变量
- 运算符、条件判断和循环语句
- 数据结构
- 函数和面向对象
- 模块、包和库
- 常用功能:文件、时间、字符串、Json&XML序列化和反序列化
- 机器学习神器:Numpy、Pandas、Pillow和Matplotlib

最后,这个系列的更新频率暂定一周一节
写给.NET开发者的Python教程(一):引言的更多相关文章
- 写给.NET开发者的Python教程(一):C# vs Python: 语言特性、Conda和Jupyter Notebook环境
承接上篇,本文会从语言特性.开发环境和必备工具来带领大家进入Python的世界. 语言特性 首先一起看下C#和Python在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...
- 写给.NET开发者的Python教程(二):基本类型和变量
从本文开始,我们就要正式了解Python的语法特性了,这章主要介绍基本类型和变量,开始之前先介绍下Python中的标准输入输出. 标准输入输出 前文举过TwoSum问题的例子,但是没有讲到标准输入输出 ...
- 写给.NET开发者的Python教程(三):运算符、条件判断和循环语句
本节会介绍Python中运算符的用法,以及条件判断和循环语句的使用方法. 运算符 运算符包括算术运算符.赋值运算符.比较运算符.逻辑运算符等内容,大部分用法和C#基本一致,下面我们来看一下: 算数运算 ...
- Python教程:操作数据库,MySql的安装详解
各位志同道合的同仁请点击上方关注 本教程是基于Python语言的深入学习.本次主要介绍MySql数据库软件的安装.不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下. 如想查看学习P ...
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
- Python教程:连接数据库,对数据进行增删改查操作
各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:操作数据库,MySql的安装详解 和python基础知识之上 ...
- Python教程百度网盘哪里有?
Python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象地称作"内置电池(batteries included)".带你快速入门的Py ...
- 2017最新的Python教程分享
Python在数据科学盛行的今天,其易于阅读和编写的特点,越来越受编程者追捧.在IEEE发布的2017年编程语言排行榜中,Python也高居首位.如果你有学Python的计划,快来看看小编分享的Pyt ...
- 笔记|《简明Python教程》:编程小白的第一本python入门书
<简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...
随机推荐
- (Java实现) 活动选择
活动选择的类似问题都可以这么写 import java.util.ArrayList; public class huodongxuanze { /** * //算法导论中活动选择问题动态规划求解 * ...
- Java实现 LeetCode 1162 地图分析(可以暴力或者动态规划的BFS)
1162. 地图分析 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了.其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远 ...
- Java实现 LeetCode 1两数之和
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ...
- java实现第七届蓝桥杯骰子游戏
骰子游戏 PS: 骰子哪有从0开始的只能是1-6,而他i j k的范围都是0-5,所以都要加1 题目描述 我们来玩一个游戏. 同时掷出3个普通骰子(6个面上的数字分别是1~6). 如果其中一个骰子上的 ...
- centos6.5 安装 clickhouse
概述:clickhouse是一个高性能的列式数据库,特点就是快快快,查询性能是mysql的100-1000倍,非常适合存储频繁写入的数据,比如:日志,用户事件记录.单表存储上亿甚至十几亿行数据库查询都 ...
- cacti 流量断图
问题描述 Cacti监控系统新增了一台设备,后来查询流量的时候发现流量不太对,客户跑的流量远不止8M, 下边就是记录一下问题解决的过程了. 解决过程 看到 rrdtool info 2331.rr ...
- Copy-on-write + Proxy = ?
一.简介 Immer (German for: always) is a tiny package that allows you to work with immutable state in a ...
- 双剑合璧 Nacos 结合 Sentinel 实现流量安全控制
Alibaba Sentinel 是一款高性能且轻量级的流量控制.熔断降级解决方案.是面向分布式服务架构的高可用流量控制组件. Sentinel 官网:https://sentinelguard.io ...
- Apache(httpd)详解
httpd详解(思维导图) 1. httpd服务 ASF 服务器类型 http服务器 应用程序服务器 httpd的特性 高度模块化 DSO机制 MPM httpd的并发响应模型 prefork wor ...
- 从零开始的Spring Boot(5、Spring Boot整合Thymeleaf)
Spring Boot整合Thymeleaf 写在前面 从零开始的Spring Boot(4.Spring Boot整合JSP和Freemarker) https://www.cnblogs.com/ ...