1.华小智系列 - Python基础(案例版)

《Python基础》目录

  • 第二讲:Python基础知识
    • 1、变量、行与缩进
    • 2、数据类型:数字与字符串
    • 3、列表与字典
    • 4、运算符介绍与实践
    • 5.本章练习题
    • 6、课程相关资源

第二讲:Python基础知识

配套书籍:《Python金融大数据挖掘与分析全流程详解》第1章
配套书籍:《Python大数据分析与机器学习商业案例实战》第1章
下面就开始进行Python基础知识的正式教学,下面的内容是我经过自己的学习提炼来进行的重要知识,一些不太重要的基础知识,我就通通不讲解了,让大家学的高效且轻松。

1、变量、行与缩进

下面主要讲下变量、行、缩进与注释的一些基础内容。提前说一下,在python中敲代码的时候要切换到英文模式,特别是一些标点符号,比如括号,一定要是英文模式下的括号,另外如果要输入中文,需要在中文两旁加入引号,在python中单引号和双引号没什么太大区别。
1.1 变量
所谓变量,就相当于人的一个代号,我们很多都学过一次函数y = x +1, 其中的x就是变量(叫作自变量),y也是个变量(叫作因变量)。

关于变量的命名,大家尽量用字母a,b,c,a_1,b_1等,或者自己创建的字符,不要用系统自带的函数来命名,比如说不要用print来命名,写成print = 1,这样程序就会头疼了。
Python中定义一个变量只要利用 “=”即可,比如,我们可以输入如下程序。

x = 10
print(x)
x = x + 15
print(x)

其中第一行表示将10赋值给x,第二行为打印输出x,第三行表示x加上15(这个也可以写成x += 15),第四行将新的x打印输出出来。
知识点:print其实叫做print函数,就是用来将结果输出,我们以后会经常用到这个函数来输出结果。小技巧:输入print,按一下Tab键会自动补全print后面的括号。
再啰嗦一下,一个程序运行的3个方法,方法1:你在上右击,选择run即可;方法2:点击绿色的运行按钮,,注意这个按钮左边要是你想运行的代码;方法3:快捷键Shift + F10,也可以快速运行代码,但也是要注意此时方法2中绿色按钮左边得是你想运行的代码。
这边的白话意思就是:

将10赋值给x
打印输出x
x加上15
打印输出新的x

执行该程序,将输出如下代码:

10
25

1.2 行
在python中,一般来说,很少用逗号或者分号,代码都是一行一行写的,所以每写完一句,在句尾,我们按一下Enter键,就可以进行换行。
1.3 缩进
缩进是Python中非常重要的一个知识点,缩进的意思就是类似于Word的首行缩进,缩进的快捷键是Tab键,在if,for,while等语句中都会使用到缩进,我们先看下下面的代码:

x = 10
if x >0:print('正数')
else:print('负数')

这边第一行令x = 10,下面是一个之后会讲到的if语句,其实判断语句很简答,if表示“如果”,所以这边的白话意思就是:

x 等于 10
如果 x 大于 0:打印输出 '正数'
否则:打印输出 '负数'

在第3行和第5行的print前面就必须要有缩进,否则python会报错。
如果你要减少缩进,那么按住Shift + Tab键的话就可以撤销原来的缩进,你可以选择一片区域,按住Tab键进行缩进练习,再按住Shift + Tab键撤销原来的缩进。
1.4 注释
什么叫注释呢,就是批注,大多作为一个提示作用。在程序中,我们经常要在代码旁边添加注释,防止别人或自己以后看不懂,或者不想代码执行,但又不想把它删掉,那么把这一块代码注释掉就是最好的选择了。

在Python中,有两种主要的注释方法:

1.#这之后是注释内容
2.'''这里面是注释内容'''

你可以输入#或者’‘’,或者在Pycharm中,注释的快捷键是Ctrl + /;在Spyder中,注释的快捷键为Ctrl + 1;如果你想改快捷键(一般不用改,推荐就使用Ctrl + /),对于Pycharm来说:在Settings里点击Keymap,点击Main menu,点击Code,在Folding下面,选择Comment with Line Comment(行注释),右击选择第一个Add Keyboard Shortcut(添加键盘快捷键)即可进行修改了。

对于Spyder来说,修改快捷键的方式在Tools中选择Preferences里,选择Keyboard shortcuts,找到toggle comment, 发现原来的注释键为Ctrl + 1,那么双击,然后按一下新的快捷键即可。


这边顺便提一句,我们使用pycharm的时候,有的时候会不小心点击到左边的竖栏:然后出现下图这样的红点:

这个其实是断点的意思,意思是程序执行到这一步就中断了,我的课程里不会用到这个,所以大家如果误点了,出现这个红点了,再点击它一下,它就没了。

2、数据类型:数字与字符串

这一小节的话主要讲下Python中最常用的两种数据类型:数字 & 字符串。
有的老师会把这一块讲的挺复杂,其实在我这儿就很简单,大家要知道 1 和 "1"是两种不同的数据类型即可,前者是一个数字,可以进行加减乘除的操作,而后者则是个单纯的字符串,也就是常说的文本内容。字符串的一个特点就是在它的两旁有单引号或者双引号,如下图。

不同的数据类型是不能相互运算的,比如不可以写:

a = 1 + '1'
print(a)

这样的话就会报错:不同数据类型不能相互运算

这边补充一个知识点,我们如何获取一个变量的类型呢,这边教大家一个函数:type函数,type函数可以显示变量的类型:

a = 1
print(type(a))
a = '1'
print(type(a))

这边就可以输出如下,第一个是int格式(整数格式),第二个是str格式(字符串格式)。

<class 'int'>
<class 'str'>

那么如何把字符串转成数字,或者数字转换成字符串呢?
我们重点关注把数字转换成字符串,使用str函数即可,关于这些函数,大家先依葫芦画瓢即可,用用就熟练了。

a = 1
b = str(a) #将数字转换成字符串,并赋值给变量b
c = b + '1'
print(c)

通过Str函数就可以把一个数字转换成字符串了,最后输出结果:

11

下面讲一下如何把字符串转换成数字,这个我用的非常少,只讲一个我们之后课程可能会用到把字符串转成数字的函数:int函数

a = '1'
b = int(a)
c = b + 1
print(c)

通过int函数就可以把一个字符串转换成一个数字,从而可以进行数字的加减乘除等,最后输出结果:

2

3、列表与字典

列表(list)和字典(dictionary)是用来存储内容的容器,列表在我的课程里用的非常多,而字典用的则非常少,所以列表一定要重点掌握,字典目前了解即可。
3.1 列表
列表是在我的课里非常重要的一个概念,它就像个容器,可以将不同的数据放到里面进行调用,比如说一个班级里有5名学生,那么如何把这5名学生放到一起呢,那么直接放到Python程序里是不行的,如下图,程序也会出现奇怪的颜色告诉你不要这么做。

这时需要有一个容器把他们放在一起,这个容器就叫做列表。

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
print(class1)

注意上面除了汉字,其他的标点符号都要是在英文格式下的标点符号,这里的[],千万要是英文格式下的中括号,输出代码为:

['丁一', '王二麻子', '张三', '李四', '赵五']

其中列表的格式为:

列表名 = [元素1,元素2,元素3,……]

列表里的元素可以是字符串,也可以是数字,甚至可以是另外一个列表,比如如下图,它里面就含有三种元素,数字1,字符串‘123’,和一个字列表[1, 2, 3]:

list1 = [1, '123', [1, 2, 3]]

这边再顺便提一句变量命名注意点,这边我命名成list1而不是list,是一个好的编程习惯,初学者经常会犯的一个错误就是把变量名称命名为他学到的函数名称,这个有的时候没事,有的时候就不行,所以变量命名的时候得稍微注意下,你可以随便命名,如果想用类似list这样的来命名,最好在后面加一个数字1。
列表是之后进阶课程里用的最多的了,举个例子:
在实际的舆情监控系统中,我们就经常利用列表,比如如下是我们要监控的房地产行业的几家企业,就是用列表将他们放在在一起,然后再进行接下来的操作。

其中 for 循环,可以遍历列表中的所有元素,我们用最开始的例子来做个演示:

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
for i in class1:print(i)

for i in class1 的用大白话来说就是:

列表class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
对于class1中的所有元素i:我们都把它打印输出出来

最后输出结果就是:

丁一
王二麻子
张三
李四
赵五

关于列表,我再介绍几个以后会经常用的知识点:
(1)统计列表的元素个数的函数:len函数
有的时候我们需要统计列表里一共有多少元素,那么使用的函数为len函数,len函数:一般为**len(列表名)**来获取列表里有多少元素,我们一般也叫做获取列表的长度:

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
a = len(class1)
print(a)

里面有5个元素,最后程序就会输出数字5,

5

同理,如果输入如下的程序:

list1 = [1, '123', [1, 2, 3]]
print(len(list1))

这边可以不用把 len(list1) 赋值给a,可以直接打印输出,那么之前说过里面一共有3个元素:数字1,字符串‘123’,和子列表[1, 2, 3],所以最后输出的结果为3:

3

(2)调取一个列表元素的方法
有的时候我们想要调取其中一个元素,那么列表调取也很简单,只要在列表之后加一个**[序号]**,比如class1[1]调取的就是“王二麻子”:

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
a = class1[1]
print(a)

输出代码:

王二麻子

这边有人可能会有疑惑,这边class1[1]调取的为什么不是“丁一”呢,这边就涉及到Python中一个常用的知识点,那就是序号的第一个序号都是0,也就是说无论什么排序,第一个序号都是0,而不是1,所以只有写class1[0]的时候,输出的才是“丁一”。那么如果想输出“赵五”,写的代码就应该是print(class1[4]),当它的序号为4的时候,就表示要取第五个元素,大家可自己试一下。
(3)选取多个列表元素的方法:列表切片
如果有的时候,我们想选取列表中的几个元素,比如我想取之前class1里面的第2到第4位同学,也就是王二麻子,张三和赵四,那么该如何取呢?
列表切片的话,就是用来选取其中间的一些元素,一般格式为 列表名[序号1:序号2],比如选取王二麻子,张三和赵四,就是class1[1:4],1表示序号1,也就是第二个元素(序号0是第一个元素),4表示序号4,也就是第五个元素,有人就会奇怪了,我只要取到第4个元素,为什么还要写4,也就是取到第5个元素呢。有个注意点,这个列表切片是前闭后开的,就是说它前面的那个元素是可以取到的,也就是序号1的元素:王二麻子是可以取到的;而序号4的元素:赵五则是取不到的。

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
a = class1[1:4]
print(a)

理解了序号是从0开始,所以序号1表示第二个元素,以及列表切片是前闭后开之后,我们可以理解最后的输出结果为:

['王二麻子', '张三', '李四']

(4)列表增加元素的办法:append函数(方法)
这个在我们实战教程中,也是经常会用到的技巧,比如说之后要讲的舆情监控,我要对每一个爬取到的新闻舆情进行评分,但是我不知道其实爬了多少条新闻,那么我们就可以用append方法来把这些评分一个个加上去,而不需要知道一共有多少条新闻。

score = []
score.append(80)
print(score)

输出结果:

[80]

此时我们把代码再增加几行,更加符合实战情况:

score = []
score.append(80)
score.append(90)
score.append(70)
print(score)

输出结果如下:

[80,90,70]

(5)列表与字符串之间的转换方法
这个也是一个非常重要的知识点,虽然短时间内我们用不到这个知识点,但是它在我的Python进阶课里会有一个很重要的地位,它在文本筛选中有很大的作用,大家先了解下。
比如我要把class1 = [‘丁一’, ‘王二麻子’, ‘张三’, ‘李四’, ‘赵五’],转换成‘丁一,王二麻子,张三,李四,赵五’这么一个字符串,可以用下面的方式:

命令:'连接符’.join(列表名)

其中,引号中(单引号,双引号无所谓的)是字符之间的分割符,如“,”,“;”等等
所以想把class1里的内容都合并成一个字符串,那么就应该是",".join(class1),这边你也可以把逗号换成空格,那么输出的就是“丁一 王二麻子 张三 李四 赵五”。

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
a = ",".join(class1)
print(a)

输出结果如下:

丁一,王二麻子,张三,李四,赵五

字符串转为列表在我的所有项目里都用不到,不讲了。
3.2 字典(暂时简单了解即可)
字典是另一种数据存储的方式,比如说class1里面,每个人考了数学考试,各有得分,想把他们的人名和分数一一匹配到一起,那么就需要用到字典来存储数据了。
字典的基本格式如下:

字典名 = {键1:值1,键2:值2,键3:值3……}

在字典中,每个元素都有两部分(区别于列表中一个元素只有一个部分),前一个部分,我们称之为,后一个部分我们称其为值,中间用冒号相连
键的话就相当于一个钥匙,值的话就相当于一个锁,一个钥匙对应一个锁,同样,一个人对应一个成绩,那么对于class1里的每个人,我们可以这么写:

class1 = {'丁一':85, '王二麻子':95, '张三':75, '李四':65, '赵五':55}

注意,上面的大括号,冒号,逗号,引号都要在英文格式下输入
如果要提取字典中的某一个元素的值,可以通过如下格式实现:

字典名['键名']

比如,我们想获取王二麻子的高数成绩,可以这么写class1[‘王二麻子’]:

class1 = {'丁一':85, '王二麻子':95, '张三':75, '李四':65, '赵五':55}
score = class1['王二麻子']
print(score)

这样就可以输出王二麻子的分数:95。
如果我们想把每个人的名字和分数都打印出来,可以写如下代码:

class1 = {'丁一':85, '王二麻子':95, '张三':75, '李四':65, '赵五':55}
for i in class1:print(i)print(class1[i])

这里的i其实是指的字典里的键,也就是‘丁一’,‘王二麻子’之类的内容,所以class1[i]输出的就是这些人分数,输出结果如下:

丁一
85
王二麻子
95
张三
75
李四
65
赵五
55

如果想把名字和分数输出在一行里面,那么可以把之前的代码稍稍改一下:

class1 = {'丁一':85, '王二麻子':95, '张三':75, '李四':65, '赵五':55}
for i in class1:print(i + ':' + str(class1[i]))

这个有两个注意点,一个是这里的加号表示的是字符串拼接,不可以直接写

print(i + ':' + class1[i])

那么因为之前也讲过的数据类型问题,‘丁一’是个字符串,而85是个数字,他俩不能相加在一起,如果相加会报错:

所以第二个注意点是要利用之前刚刚讲过的str函数把数字85转换成字符串,写成

print(i + ':' + str(class1[i]))

那么就可以输出结果:

丁一:85
王二麻子:95
张三:75
李四:65
赵五:55

4、运算符介绍与实践

运算符主要是将数据(数字和字符串)进行运算以及连接,我的课程里以及之后教的项目里主要用到的运算符主要如下,其他一些花里胡哨的我都不会讲&用:

4.1 算术运算
算术运算符主要用到的有:+ 、-、*、/。大家应该都能明白,不多讲。
主要讲一下加号,因为它除了能进行数字的相加外,还能进行字符串的拼接,这个在之后的爬虫教学中非常有用,先举个简单的例子:

a = 'hello'
b = 'world'
c = a + ' ' + b
print(c)

这边就可以输出:

hello world

视频里举了一个爬虫的列子。
4.2 比较运算符
比较运算符主要是 > , <, ==。其中用的最多的是 > , <。比如之后进阶课讲的舆情监控,进行文本分析后进行机器评分,利用比较运算符,可以筛选出我们想要的负面新闻,举个例子:

score = -10
if score < 0:print('该新闻是负面新闻,录入数据库')

这边的score是我们已经算法算好的分数,如果它小于0,我们就把它录入数据库,这边简单的演示,我们就直接把它print出来,输出结果。

该新闻是负面新闻,录入数据库

而 == 我也简单介绍一下,它是比较两个对象是否相等,它和=不一样,=号的作用是用来赋值,比如一开始讲过的 a = 1。而 == 则是比较两个内容(比如数字)是否相等,举个例子:

a = 1
b = 2
if a == b: #注意这边是两个等号print('a和b相等')
else:print('a和b不相等')

这边a和b不等,随意最后输出结果为:

a和b不相等

4.3 逻辑运算符
逻辑运算符主要有:not,and,or三种。
其中用的最多的是and和or,我们还是拿项目实战来作为一个例子,比如我们要判断这个新闻它的分数是负数,并且它的年份是2018年,我们才把它录入数据库:

score = -10
year = 2018
if (score < 0) and (year == 2018): print('录入数据库')
else:print('不录入数据库')

这边有两个注意点,在and两个判断条件上,最好加上括号,虽然有的时候不加也没问题,但是这个是比较严谨的一个做法,而且更一目了然,而且和上面讲过的一样,year == 2018这一块,注意是两个等号。
因为这个符合分数小于0且年份属于2018,所以最后的输出结果为:

录入数据库

这边我们可以修改分数改成正数或者修改年份,看看最后跑出来的结果。
此外,如果我们把and换成or的话,那么只要满足一个条件,就可以执行下面的代码,大家也可以自己试一试。

not的简单示范:

if '中国' not in '中国 美国 韩国':print(123)
else:print(456)

5.本章练习题

1.通过print()函数打印出自己的名字。
2.通过字符串拼接,拼接“您好”加上自己的名字。
3.创建一个列表,其中列表元素为自己5位朋友的名字。
4.依次打印第3题列表中所有朋友的名字。
5.选取第3题列表中的第3位朋友;选取第2到第4位朋友。

答案(先自己做一遍再看答案):

# 5.本章练习题
# 1.通过print()函数打印出自己的名字。
print('王宇韬')# 2.通过字符串拼接,拼接“您好”加上自己的名字。
a = '王宇韬'
b = '您好'
print(b + ',' + a)# 3.创建一个列表,其中列表元素为自己5位朋友的名字。
a = ['华小智1', '华小智2', '华小智3', '华小智4', '华小智5']
print(a)# 4.依次打印第3题列表中所有朋友的名字。
for i in a:print(i)# 5.选取第3题列表中的第3位朋友;选取第2到第4位朋友。
print(a[2])
print(a[1:4])

6、课程相关资源

拓展:Python进阶的其他应用
https://shimo.im/docs/vp6KVJXR8tqWxgXR/ 《华小智智能平台课程(课表)》,可复制链接后用石墨文档 App 或小程序打开

Python软件下载地址
2020软件最新安装教程(附软件):https://shimo.im/docs/Y6cG9gx8djkvT86R/ 《Python 2020最新安装教程(巨详细版)》

备选:Anaconda(这个就是Python的安装包)&Pycharm&Wampserver网盘下载地址:
链接: https://pan.baidu.com/s/1DWJ5ptC7jrkNr5IXPkD9Rw 提取码: p8w8

课程源代码地址
获取方式1:石墨文档获取

(电脑浏览器端打开(需微信扫码登录石墨文档),然后点击下载)

获取方式2:个人网站获取
访问笔者个人网站的下载专区:edu.huaxiaozhi.com/download,然后点击下载。

获取方式3:微信号获取
添加如下微信:huaxz001,和小助理沟通获取源代码。

京东链接:https://search.jd.com/Search?keyword=王宇韬,搜索“王宇韬”,在淘宝、当当也可购买。加入学习交流群,可以添加如下微信:huaxz001(请注明缘由)。

各类课程可在网易云、51CTO** 搜索王宇韬,进行查看。

本课程 Python基础(案例版):可在网易云、51CTO 查看。(点击可直接获取。)

小白都能学会的Python基础 第二讲:Python基础知识相关推荐

  1. 计算机基础算术加法,计算机基础第二讲.ppt

    计算机基础第二讲 计算机的运算 算术运算:加.减.乘.除 逻辑运算:与.或.非 数据比较:大于.小于.等于.不等于.大于等于.小于等于 数据传送:输入.输出.赋值 二进制的算术运算 加法 0+0=0 ...

  2. 小白都能学会的Python基础 第四讲:Python函数与模块

    1.华小智系列 - Python基础(案例版) <Python基础>目录 第四讲:Python函数与模块 1.函数的定义与调用 2.函数参数与返回值 2.1 参数再研究 2.2 返回值 2 ...

  3. 9篇小白都能懂系列博客学完MySQL基础

    博主经过三天的时间整理终于把MySOL基础部分内容总结成了这九篇博客,如果博主漏写了重点的基础部分的内容,或者说博主写的地方有错误还请CSDN的兄弟们提醒(这一点就比较重要了),由于博主的时间比较有限 ...

  4. python数据分析第二讲_七月在线 Python数据分析 第二课 Numpy

    本人有一丢丢编程基础,特此学习七月在线课程--Python 数据分析.本文记录了学习第二课Numpy的一些感受和心得. 第二讲的内容包括Numpy, ndarray, ndarray的取值赋值与切片. ...

  5. 【Python】第二课 python入门学习

    2.1 print的简单使用 # print 做算术运算print(3+5)print(4*4)print(6/2)print(12-2)print(33 % 5)# print 做多行字符串打印pr ...

  6. 斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱

    上一讲我们学习了知识图谱的一些基本概念: 斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱 本节课程关于如何构建知识图谱,因为知识图谱的构建是整个知识图谱领域的一个非常核心且基础的工 ...

  7. oracle 方泽宇_斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱...

    上一讲我们学习了知识图谱的一些基本概念:泽宇:斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱​zhuanlan.zhihu.com 本节课程关于如何构建知识图谱,因为知识图谱的构建 ...

  8. 小白都能学会的Python基础 第五讲:综合实战1 - 商业实战之德勤笔试题

    1.华小智系列 - Python基础(案例版) <Python基础>目录 第五讲:综合实战1 - 商业实战之德勤笔试题 1.德勤笔试题分析 2.笔试题讲解 3.课程相关资源 第五讲:综合实 ...

  9. 小白都能学会的Python基础 第六讲:综合实战2 - 大数据分词与词云图绘制

    1.华小智系列 - Python基础(案例版) <Python基础>目录 第六讲:综合实战2 - 大数据分词与词云图绘制 1.大数据分词技巧 2.词频统计技巧 3.词云图绘制 4.微博词云 ...

最新文章

  1. #ifdef __cplusplus extern “C” { #endif的作用!
  2. Java异常的栈轨迹(Stack Trace)
  3. OpenSession与getCurrentSession的区别
  4. promise的应用和在VUE中使用axios发送AJAX请求服务器
  5. RabbitMQ之Consumer消费模式(Push Pull)
  6. Mybatis中的#号与$符号的区别
  7. maven 生成本地库_在2017年从Maven工件生成P2存储库
  8. 《中国人工智能学会通讯》——11.21 结束语
  9. Simulink之交流调压电路
  10. 常用的python模块
  11. Cocos creator之javascript闭包
  12. linux 实现远程桌面 VNC
  13. Java程序设计之扑克牌
  14. unity安装后 启动失败_Unity3D插件安装常见问题说明
  15. matlab解全微分方程,通过MATLAB求二阶全微分方程解析解
  16. CVPR2020|3D目标检测算法推荐论文源码大盘点
  17. 王学岗productflavor 多渠道打包
  18. 这,是一篇有“味道”的科普…
  19. 用python做网站开发的课程_腾讯课堂:Flask Python Web 网站开发
  20. 软件破解中常用API

热门文章

  1. ansible常用模块应用
  2. 在成为Android工程师的一年里,我经历了什么?
  3. uboot usb设备驱动
  4. 测绘计算机编程心得体会,测绘心得体会
  5. 个人站长那么难做,为什么还要学习SEO呢?
  6. 用python做数据处理怎么挣钱_个人利用python爬虫技术怎么挣钱
  7. 今天组里新入职一个31岁的校招生
  8. 计算机网络技术主要包括计算机技术和什么,《计算机网络技术》第6章作业的参考答案...
  9. matlab产生时间数组以月为单位_MATLAB的时间与日期
  10. 为什么说“三岁看大,七岁看老”