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

梦想橡皮擦
• 阅读 1510

在博客上,我写了很多关于 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 在下载,如果没有注意,下载错了就很烦~ 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 这里留下一个小挑战,做为一个想要学习 Python 的新人,把 Python 安装到本地是最基本的一个小门槛了,加油,安装过程所有的都保持默认即可,安装完毕之后,在开始菜单找到如下图所示目录即可。 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 如果你看到上述图片内容,表示你的 Python 环境已经安装完毕,电脑的基本操作没有问题,后续就不用在对创建文件夹,创建文件这些基本的操作在做要求了,如果这个地方碰到的难度,那建议学习一下电脑的基本使用。

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

1.3.2 PyCharm 安装

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

下载地址:https://www.jetbrains.com/pycharm/download/#section=windows,软件不足 300M,非常容易下载,对于软件的安装依旧交给你自己完成,原因还是太简单了。重要的步骤参照下述截图即可。 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 重要点截图 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 第一次启动 PyCharm 的时候,选个配色方案,黑色编辑器 看着不容易累

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

Location 表示的是目录,选择一个本地任意文件夹即可。 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 出现下图等待一下即可。 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 加载完毕,最终效果如图,所有的目录结构如果都跟下图一致,表示一个非常大的成功哦~ 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 右侧给我们也生成一个代码,就是上图最下面的文件main.py,没错,python 文件的后缀名一般为 .py 文件,在右侧代码空白处右键,选择 Run1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 注意底部出现 Hi PyCharm,恭喜,所有的安装任务你都已经完成了。 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 安装任何环境与开发工具简单但是不普通,能完成表示拿到了一张门票,剩下的就是技术学习了。 创建文件,在左侧目录上点击鼠标右键,选择 New 之后选择 Python File 即可。 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python

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 学习的正确起手姿势。

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Karen110 Karen110
3年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这