1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python

在博客上,我写了很多关于 Python 的文章,很多朋友可能觉得橡皮擦应该是一个 Python 开发人员或者一个技术开发人员,但很遗憾的告诉大家,橡皮擦恰好是很多公司中开发人员的对立面【产品经理】。但我是一个相当懂技术人的产品经理。

一、Python 初次接触,Python 变量与基本运算

1.1 滚雪球学 Python 课程前置导语

从本篇博客开始,我将真正的从 0 到 1,完完整整给你写一套 Python 语言的教程,把如何快速学会 Python 技巧告诉你。

顺便说一句,本套课程虽然是文字类专栏课程,但是它的价值就是培训机构 2W 元的培训课程,无非省略掉了机构老师上课给你吹其过去 NB 经历的那些废话所占用的时间(估计又要得罪不少培训机构老师了)。

这套博客命名为滚雪球学 Python,最终的目标写到 100W 字,最后的最后它会形成一套视频课的基础课件脚本,而橡皮擦很 “不要脸” 的将成为这套课程的声优。

这套课程的目的就是把 Python 的学习成本从培训机构的 2W-3W,从互联网视频的 6K~8K,拉到 300 元以内。

滚雪球学 Python,力求在知识面完整的程序上,用轻松的文风为大家献上 Python 学习的盛宴。
因本系列文章非学院派,请抠知识点精准度的理论派技术流大佬口下留德,你不应该在我们小白的盛宴上浪费你的时间,去看官方手册吧。

1.2 Python 语言简介

Python 是一种编程语言,跟 JAVA、C#、C++、C 等编程语言无太大区别。任何编程语言都有优点,也存在不足,所有语言无优劣之分,用到对的场景下就是最棒的语言。

Python 属于解释型语言,或者叫做直译型语言,这种语言的特点就是通过一个直译器将程序一行行的执行,目前 Python 的直译器是 CPython,C 语言写的,效率还行。

这个知识点的扩展是存在编译式的语言,例如 JAVA,C#,它们会将语言转换成机器码然后在执行,不过对于这个阶段的你来说,这些不重要,先入门再说。

Python 是开放源码,世界上任何人都可以给它贡献代码,也可以给它扩展模块,这些都是免费的。

1.2.1 Python 作者

Python 作者叫做 Guido van Rossum,在 1989 年为了打发时间设计出了 Python 语言,Python 名字是因为 Guido 喜欢的一个马戏团叫做 Monty Python's Flying Circus ,所以取了 Python 这个名字,跟现在大家喜欢用蟒蛇表示 Python 语言没啥毛线关系。

Python 语言相关信息可以在 www.python.org 进行查阅。

1.2.2 Python 语言发展简介

  • 1989 年吉多(Guido van Rossum)发明 Python 语言
  • 1991 年正式发布
  • 2000 年 Python2.0 发布
  • 2008 年 Python3.0 发布

现在是 2020 年,你应该学习 Python3.X 版本。

1.2.3 Python 语言的前景

这个必须要说一说,Python 语言最近 2 年比较火,行业炒作大于实际落地应用,做为一门语言来说,没有不能应用的领域,无非是好用难用。学会 Python 找工作是没有任何问题的,而且更多时候,你学会一门编程语言,其它的语言就都差不多了,语言就像一个大家族一样,你抄抄我,我抄抄你,最终大家的用法都差不多。

对于 Python 的前景,不能说讲 Python 就一通夸,什么都是好的。在国内,肯定没有 JAVA 市场大,也没有前端市场大,和最近 2 年的 PHP 市场貌似能掰掰手腕,学完能找到工作,使用的场景也不少,能借助大数据,人工智能吹吹牛,拿个高工资,毕竟谁也没说过 JAVA 不能做人工智能的话。

Python 跨平台,在 Linux 和 Mac 开发起来非常舒服,其他语言也一样。在 Windows 上开发也没有啥障碍,本系列文章后续都是在 Windows 上进行介绍的,毕竟 Windows 上能玩的游戏最多。

1.3 Python 环境安装

1.3.1 Python3.7.X 安装

一门语言最难的就是安装环境与开发工具了,入门的第一步就会挡住很多人,在学习之初简单直接最好。
还有学习的时候,千万不要选择最新的 Python 版本,你碰到问题找答案都不好找,因此我们选择 3.6 相关版本或者 3.7 相关版本即可。

打开官方提供的下载地址,https://www.python.org/downloads/,看到英文不要慌,你能猜出来个大概。

下载不要急,先找到对的下载链接再说,找到下图所示区域,看到 windows 在下载,如果没有注意,下载错了就很烦~

20201109214345722[1].png

这里留下一个小挑战,做为一个想要学习 Python 的新人,把 Python 安装到本地是最基本的一个小门槛了,加油,安装过程所有的都保持默认即可,安装完毕之后,在开始菜单找到如下图所示目录即可。

20201112202913841[1].png

如果你看到上述图片内容,表示你的 Python 环境已经安装完毕,电脑的基本操作没有问题,后续就不用在对创建文件夹,创建文件这些基本的操作在做要求了,如果这个地方碰到的难度,那建议学习一下电脑的基本使用。

上述图片中,点击 IDLE 即可打开终端进行 Python 代码的编写,不过这里如果你直接按照普通教材(夸自己写的好,真棒)编写的内容就开始上手,那大概率你会倒在 Python 门口,毕竟按照它们说的那样学习太枯燥无味了,谁说学 Python 必须从 Python Shell 开始的。

1.3.2 PyCharm 安装

学习 Python 开发,开始就要接触使用一款功能齐全的代码编辑器,这样才能取得事半功倍的效果,这里推荐给大家的是 PyCharm,亮点是有免费版,学习阶段使用 Community 版本即可。

下载地址:https://www.jetbrains.com/pycharm/download/#section=windows,软件不足 300M,非常容易下载,对于软件的安装依旧交给你自己完成,原因还是太简单了。重要的步骤参照下述截图即可。

20201112203830469[1].png

重要点截图

20201112204117548[1].png

第一次启动 PyCharm 的时候,选个配色方案,黑色编辑器 看着不容易累

启动之后,它会叫你创建一个新的项目,之后的页面如下图所示,默认情况下,PyCharm 会匹配到你刚刚安装的 Python 环境,会自动创建一个虚拟环境出来,这部分内容先不急,后续橡皮擦会为你解释,现在需要做的就是保持默认就好了。

Location 表示的是目录,选择一个本地任意文件夹即可。

20201112204707984[1].png

出现下图等待一下即可。

20201112204826127[1].png

加载完毕,最终效果如图,所有的目录结构如果都跟下图一致,表示一个非常大的成功哦~

20201112205334353[1].png

右侧给我们也生成一个代码,就是上图最下面的文件main.py,没错,python 文件的后缀名一般为 .py 文件,在右侧代码空白处右键,选择 Run

20201112205628583[1].png

注意底部出现 Hi PyCharm,恭喜,所有的安装任务你都已经完成了。

20201112205712423[1].png

安装任何环境与开发工具简单但是不普通,能完成表示拿到了一张门票,剩下的就是技术学习了。
创建文件,在左侧目录上点击鼠标右键,选择 New 之后选择 Python File 即可。

20201112210943391[1].png

1.4 语言先学注释

程序员最怕的是什么,就是给程序写注释,比注释更怕的是别人的代码不写注释,多么有趣的逻辑。
如果想让程序的可读性变高,是离不开程序注释的,在公司里面,一个程序、一个项目、一个产品里面包含成千上万代码块,如果不写注释,会被队友喷的。

1.4.1 注释符号

在 Python 中,使用 # 号表示单行注释,也就是 # 号后面的内容,Python 解释器(直译器)会直接忽略,不予运行。
例如,上文创建好一个 Python 项目之后自动生成的代码中,包含了很多单行注释。

# This is a sample Python script.

# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.


def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    print_hi('PyCharm')

# See PyCharm help at https://www.jetbrains.com/help/pycharm/

注释符号可以放在代码上面,也可以放在代码右侧,例如:

# 我是一行注释
print("hello world")  # 我也是一行注释

1.4.2 假多行注释 三个引号

如果想要进行多行注释,你可以每行都用一个 # 号,也可以使用三个引号实现。例如下述代码:

"""
我是一大段注释
我可以有多行
都是注释
注意是英文的引号
"""
print("梦想橡皮擦")

由于 Python 语言特性,你使用三个单引号效果也是一样的:

'''
我是一大段注释
我可以有多行
都是注释
注意我是单引号
'''
print("梦想橡皮擦")

关于三引号的使用,在后续讲解字符串的时候还会出现,此处理解为多行注释即可。

1.5 认识变量

任何语言都需要从变量开始学起,变量最早接触是初中学代数的时候,在程序中简单理解就是存储数据的一个东西。
新建一个文件,名字随意(起步阶段,以认知为主,能把代码运行起来,看到效果就是大胜)。

例如,我今年 18 岁了。在 Python 中可以声明一个变量 age,让其等于 18 即可。

age = 18

如果在加上小红 20 岁了,那在程序中在新增一个变量 xiaohong_age,让其等于 20 即可。

age = 18
xiaohong_age = 20

这时可以配合上注释,让代码显得更加清晰。

# 我的年纪
age = 18
# 小红的年纪
xiaohong_age = 20

这样子当这段代码写完很久,我们通过注释,能快速的知道每个变量在当年写的时候是什么意思,省的出现下述段子。

当初写这段代码的时候,只有我和上帝知道是什么意思,现在,只有上帝知道了。

Python 变量和其他语言略有不同,其他语言在使用变量时,需要提前声明一下变量的数据类型,Python 不需要设定,它会依据等号右侧的值自动设定变量类型,该内容可以极大的提高编码速度,后面你将体验到。

1.5.1 变量命名注意事项

变量命名在任何语言中都有注意事项,在 Python 中也不例外,命名原则如下:

  1. 必须由英文字母,_(下划线)或中文(一般不这么干)开头,尽量使用英文字母
  2. 变量名只能由英文字母,数字,_(下划线)或中文汉字所构成
  3. 英文字母大小写敏感,Age 与 age 是不同的变量名称
  4. Python 内置的保留字和内置函数不能当做变量名称

一定要注意,尽管使用中文汉字当做变量没有什么问题,但是尽量不用。

姓名 = 123
print(姓名)

关于系统保留字和 Python 内置函数,只要通过搜索引擎很容易查找到,可以复制下述代码到任意 python 文件中,运行即可。

import keyword
print(keyword.kwlist)

运行结果如下:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Python 内置函数后续也会学习到,这里不再罗列,使用内置函数当做变量名称,程序不会报错,但是会导致原内置函数的功能丧失,所以不建议使用。

1.5.2 不合规变量名称举例

不合规的变量名:

  • a,1 含有不允许的特殊符号
  • 1a 数字开头
  • False 保留字
  • hex 内置函数名
  • 我是变量 尽量不要使用中文

变量命名时间久了之后,不需要过多的记忆,遵循一个准则即可,命名要尽量有真实的含义,例如 年纪,通过 age 命名,而不要直接声明一个 x 表示年龄,做到见名知意即可。

1.6 打印输出函数 print()

学习 Python 接触到的第一个函数是 print(),该函数可以将内容在控制台进行输出,例如下述代码:

print("hello world") # 输出一个字符串
print(1+1)  # 输出1+1结果

name = "橡皮擦"
print(name) # 输出变量值

后续将学习到更多的 print()知识,本章节可以输出内容即可。

1.7 数学运算

Python 支持基本四则运算,求余数,次方运算。四则运算在 Python 中对应的符号分别是 +-*/。取余也叫取模对应的符号是 %,次方运算对应的符号为 **(两个星号)。
具体代码与注释如下:

# 加法
a = 1+1
# 减法
b = 1-1
# 乘法
c = 2*5
# 除法
d = 4/2

# 取余数
e = 5/2

# 次方运算
f = 2**3

# print()可以输出多个变量,变量之间用逗号分隔即可
print(a,b,c,d,e,f)

最终的运行结果如下,我们得到了各则运算的正确结果,对于除法与取余在后续的编码过程中属于非常重要的部分,你可以多尝试几组数字,先找找感觉。

2 0 10 2.0 2.5 8

1.7.1 数学符号的优先级问题

涉及到数学运算,就必须要考虑符号的优先级问题,不过所有的优先级都可以依赖括号()决定,如果没有括号,那按照次方、乘法/除法/求余数/求整除、加法/减法依次执行,与代数保持一致。

1.8 赋值运算符

截止到现在,你应该已经注意到一个符号经常出现,就是 =,注意,该符号在 Python 中叫做赋值运算符(其它语言其实也这么叫),它不是等号,在编码语言中,两个 == 表示等于,而一个单独的 = 表示的是赋值,例如 x=1 表示把数字 1 赋值给变量 x。

赋值运算符可以和上述学习到的算数运算符进行合作,组合出多样的赋值运算符,例如:
+=-=*=,具体例子如下,你可以自行在尝试几种,学到此处了解即可。

a = 1
a += 2

print(a)

运行结果为 3,上述代码中 a+=2 等价于 a=a+2,如果代码为 a/=2 那么它等价于 a=a/2,依次类推,其它的赋值运算符你可以类比学习。

1.8.1 一次赋值多个变量

在 Python 代码的编写中,可以一次给多个变量赋值,例如:

x = y = z = 10086

该代码表示给x,y,z同时赋值了数字10086,也可以给 x,y,z 分别赋值,代码如下:

x,y,z = 1,2,3

注意,左侧变量数量和右侧值的数量要保持一致。

1.9 这篇博客的总结

本篇博客是滚雪球学 Python 的第一章,终于发车了。橡皮擦将用最简明的一条知识线,把你弄进 Python 圈去,希望你能轻松的读到这里,这才是 Python 学习的正确起手姿势。

世界上最耀眼的光芒,一种是太阳,还有一种就是即将成为打工人你那努力的模样

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容