写给.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的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...
随机推荐
- 记录B端和C端产品的理解
C 为:Consumer.Client,我们每天都在接触C端产品,为消费者.个人用户或终端用户,比如:微信.头条.抖音.美团等等. B 为:Business,作为职场人士也会经常接触B端产品,通常为企 ...
- Rocket - diplomacy - misaligned
https://mp.weixin.qq.com/s/poCJBcx45clXHm6Uuv8M6w 介绍AddressSet.misaligned的实现.之前介绍的比较概括,也有偏差.这里根据实际执行 ...
- Shell脚本 (一) 概述、解析器、脚本入门
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一. Shell 脚本概述 1. Shell 的 含义: Shell 是一个用C语言编写的程序,它是用户 ...
- Java实现 LeetCode 788 旋转数字(暴力)
788. 旋转数字 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位数字被旋转以后仍然还 ...
- Java实现蓝桥杯模拟正整数序列的数量
问题描述 小明想知道,满足以下条件的正整数序列的数量: 1. 第一项为 n: 2. 第二项不超过 n: 3. 从第三项开始,每一项小于前两项的差的绝对值. 请计算,对于给定的 n,有多少种满足条件的序 ...
- Java实现 蓝桥杯VIP 算法提高 11-2删除重复元素
算法提高 11-2删除重复元素 时间限制:10.0s 内存限制:256.0MB 问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要求写成函数,函数内 ...
- Java实现拓扑排序
1 问题描述 给定一个有向图,求取此图的拓扑排序序列. 那么,何为拓扑排序? 定义:将有向图中的顶点以线性方式进行排序.即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,顶点u总是在顶点 ...
- java实现猜生日
** 猜生日** 今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树.休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:"我说个题目,看你们谁先猜出来!" ...
- Java实现第九届蓝桥杯书号验证
书号验证 2004年起,国际ISBN中心出版了<13位国际标准书号指南>. 原有10位书号前加978作为商品分类标识:校验规则也改变. 校验位的加权算法与10位ISBN的算法不同,具体算法 ...
- Python中map和reduce函数
①从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce() ...