Loading

Python学习笔记-风变编程

必学知识点:

HTML代码知识
爬虫四步:获取数据、解析数据、提取数据、存储数据对应的模块与应用
模拟登录,以及定时将爬虫结果发送邮箱
利用协程和scrapy框架优化爬虫效率和稳定性
常见应对反爬虫技巧

第一课:print()函数与变量

print()

print()函数的用法有以下几种:单枪匹马——不带引号、搭配单引号、搭配双引号、搭配三引号

变量

无引号:

print(520)、print(1+1)
匹配结果:520、2

注意点:纯数字、运算符

image

单引号、双引号:

print("Pythone学习")、print('Pythone学习')、print("Let's play pythone")
匹配结果:Pythone学习、Pythone学习、Let's play pythone

注意点:有'号出现时,用""将内容包含在其中

三引号:

print('''我愿意留在汤婆婆的澡堂里工作两年,第一年在锅炉房和锅炉爷爷一起烧锅炉水,将在这个世界变成一头猪。''')
image

组合示例:

import time
print ('在'+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+',我写了人生中第一行Python代码\n它的内容虽然简单,不过是平凡的一句print(520)\n但我知道:我的编程之路,将从最简单的520开始\n在我点击运行的同时,一切在这一刻起开始变得不同\n以下,是这行代码的运算结果:' )

易错点:

在Python中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。
在终端里,你能看到的最常见的符号报错提示就是【syntaxError:invalid syntax】(语法错误:无效语法)。

转义字符

print('我愿意留在汤婆婆的澡堂里工作两年,\n如果我违背工作内容的话,\n将在这个世界变成一头猪。')

同样可以实现以下效果:
print('''我愿意留在汤婆婆的澡堂里工作两年,第一年在锅炉房和锅炉爷爷一起烧锅炉水,将在这个世界变成一头猪。''')

\n 换行符

除了\n之外,转义字符还有很多,它们的特征就是:反斜杠+想要实现的转义功能首字母。
比如换行\n代表【+newline】;退格\b代表【+backspace】;回车\r代表【+return】。大家可以按照这种方法记住转义字符的含义。

常用的一些转义字符:

image

变量和赋值

name='千寻'
这就是一个常见的“给变量赋值”的动作。在这里,name就是一个变量,这行代码的意思,就是把“千寻”这两个字【赋值】给了“name”这个【变量】。
这就好比,为了让千寻在日后能在计算机中更方便地找到她的名字,我们帮她把名字收纳进了一个小盒子里,并在这个盒子上贴了个叫“name”的标签。
回想一下,我们平时在收拾东西的时候,是不是会把散落各处东西放进不同的盒子里,并且做好标记?这样的“收纳”动作,能够让空间变得整齐,也更方便我们自己取用东西。

这个“盒子”在Python中被称为变量,你可以在这个“盒子”里放任何你想放的内容。而这个往盒子里装东西的过程,在代码的魔法世界被称为【赋值】。

变量的命名规范

image

第一课小结:

image

第二课:数据类型与转换

数据类型

在现实世界的镜像——Python里,最常用的数据类型有三种——字符串(str)、整数(int)和浮点数(float)。
image

字符串

字符串英文string,简写str。字符串,顾名思义,就是由一个个字符串起来的组合,字符可以是一个数字、一个字母、一个文字,甚至是一个符号。字符串可以表达现实世界里的词、语句、表达式等
字符串的识别方式非常简单——有层名为【引号】的皮,只要是被【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。
字符串类型必须有【引号】的辅助。不然字符串就只能被报错,无尽地呻吟~
image

例如:
name='千寻'
Chinese = '镜像世界'
English = "mirror world"
number = "666"
symbol = '''科A!@'''
mixture = '镜像世界mirror world666科A!@'

整数

整数英文为integer,简写做int。Python世界的整数其实和现实世界数学中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
image

例如:
a = 10
b = -60
c = 6841
d = 0

注意点:
''108''被引号包围,所以''108''是字符串不是整数。
整数其实是一个不带小数点的数字,可以不穿名为引号的马甲,直接跟print()函数组团搞输出。整数脱掉了【引号】马甲,只能『单独行动』。一旦碰上符号及其他文字类数据,譬如中文、英文,立马被报错秒杀。

打印整数
print(666)
# 打印结果
666

浮点数

浮点数非常好识别,它比整数多了一个小数点『.』。浮点数的英文名是float,与整数(int)和字符串(str)不同,浮点数没有简写。
image

例如:
1.0
3.14159
-0.33

注意点:
计算机里浮点数的运算是不精确的,会有四舍五入的误差。Python计算浮点数时,会先把0.55和0.3转化成二进制数【注:二进制数由0和1表示,逢二进一】,而在这个转化过程中存在误差,就造成了我们与程序计算结果的差异。

例:
print(0.55+0.3)
#打印结果
0.8500000000000001

数据的应用

四则运算

Python里的整数、浮点数和数学意义的整数、小数是一样的,它最重要的作用是与运算符号结合,进行数学计算。接下来我们看一下Python如何利用整数,浮点数进行四则运算。

Python世界的运算符

运算优先级:Python世界的运算优先级,和我们平时的计算优先级是一样的。
image

字符串的拼接

字符串拼接的方法可简单了,就是利用字符串拼接符号【+】,将需要拼接的变量连在一起就行了。

例如:
hero = '我'
organization = '风变编程'
identity = '学员'
action = '是'
ID = '007'
print(hero+action+organization+identity+ID)
print(organization+identity+ID+action+hero)

打印结果
我是风变编程学员007
风变编程学员007是我

注意点:不同类型的数据不能拼接在一起

数据类型的查询——type()函数

这个type()函数要怎么使用呢?只要你把内容写在括号里,type()函数就会立即将它的类型查询出来。
image

例子:
who = '我的'
action = '是'
destination = '镜像世界'
number = 153
code = '通行密码'
print(type(who))
print(type(destination))
print(type(code))
print(type(action))
print(type(number))

数据转换

负责转换数据类型的函数一共有3种:str()、 int()和float()。
image

str()函数

str()函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。这个数据就能摇身一变,成为字符串类型。

知识点:str()函数和引号,可以输出了同一种结果。

例:
unit = '天'
place2 = '现实世界的'
action = '等于'
number1 = 1
number2 = 666
print(place1+str(number1)+unit+action+place2+str(number2)+unit)
print(place1+'1'+unit+action+place2+'666'+unit)

打印结果
镜像世界的1天等于现实世界的666天
镜像世界的1天等于现实世界的666天

int()函数

使用方法同str()一样,将你需要转换的内容放在括号里就行,像这样:int(转换的内容)。

注意点:

  1. 只有符合整数规范的字符串类数据,才能被int()强制转换。文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。
  2. 小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。int()函数的本质是将数据转换为整数。所以对于浮点数,int()函数会做取整处理。同我们平时对小数四舍五入的处理方法不同,int()函数会直接抹零,直接输出整数部分。

float()函数

将整数和字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。

第二课小结:

image

第三课:条件判断与条件嵌套

条件判断

image

单向判断:if 如果……就

被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。
image

双向判断:if…else…

如果不满足条件时,我们要怎么办。Python则很贴心地,让我们借用if…else…语句,让码农们有了另一种选择——【如果…不满足,就…】
image

例子:
weight=101
if weight>100:
print('不吃了')
else:
print('放心吃吧')

多向判断:if…elif…else…

这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
image

例子:
stonenumber=0
if stonenumber>=6:
print('你拥有了毁灭宇宙的力量')
elif 0<stonenumber<=5:
print('绯红女巫需要亲手毁掉幻视额头上的心灵宝石')
else:
print('需要惊奇队长逆转未来')

知识点:
image

if嵌套

if嵌套的应用场景,简单来讲就是:在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。
image

例子:
historyscore=26
if historyscore>=60:
print('你已经及格')
if historyscore>=80:
print('你很优秀')
else:
print('你只是一般般')
else:
print('不及格')
if historyscore<30:
print('学渣')
else:
print('还能抢救一下')
print('程序结束')

if嵌套的执行顺序

总共分为四部分【赋值、if、else、print()】,两个大代码组。
image

第三节课小结:

image

第四课:input()函数

人类用键盘向电脑提供指令,再通过电脑把问题显示在显示器上,等人回答的过程,就是通过input()函数实现的。
image

示例:
import time
print('亲爱的同学:')
time.sleep(1)
print('我们愉快地通知您,您已获准在霍格沃茨魔法学校就读。')
time.sleep(2)
print('随信附上所需书籍及装备一览。')
time.sleep(1)
print('学期定于九月一日开始。')
time.sleep(1)
print('鉴于您对魔法世界的不熟悉,')
time.sleep(1)
print('我们将指派魔咒学老师——吴枫教授带您购买学习用品。')
time.sleep(2)
print('我们将于七月三十一日前静候您的猫头鹰带来的回信。')
time.sleep(1)
print('那么,您的选择是什么? 1 接受,还是 2 放弃呢?')
time.sleep(2)
choice=input('请输入您选择的数字:')
if choice =='1':
print('霍格沃茨欢迎您的到来。')
else:
print('您可是被梅林选中的孩子,我们不接受这个选项。')

input()函数的使用

当你在函数的括号内写出问题时,input()函数会将此问题原样显示在屏幕上,并在终端区域等待你针对此问题的回答。
image

例子:
input('请在以下四个选项【格兰芬多;斯莱特林;拉文克劳;赫奇帕奇】中,输入你想去的学院名字:')

input()函数结果的赋值

我们可以对变量进行赋值,这样当我们想提取数据时,只要直接打印变量名,就能唤醒程序对数据的记忆。
我们需要对input()函数的结果进行赋值,然后使用input()函数搜集信息,最后再用print()函数输出结果。

例子:
magic = input('请在以下选项【厄里斯魔镜;时间转换器;飞天扫帚;隐形斗篷】中,选择出你最想拥有的魔法物品:')
print(magic + '是我最想拥有的魔法!')

image

input()函数的数据类型

对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串『隐形斗篷是我最想拥有的魔法』,input()函数的输入值(搜集到的回答),永远会被【强制性】地转换为【字符串】类型。(Python3固定规则)
image

input()函数结果的强制转换

我们什么时候会用到,input()函数结果的强制转换呢?

当你想要的答案是数字时,比如年龄:
age = int(input('猜一猜巫师的『法定成年年龄』是几岁,请输入:'))
if age > 17:
print('哈哈,居然比这个年龄还要小呢!')
elif age == 17:
print('正确!我猜你是个巫师啦~')
else:
print('呜呜,这个年龄~我还是个宝宝呢,正确答案是17岁哦')

再比如需要输入的信息是时间,或者工资等数字时:
money = int(input('你一个月工资多少钱?'))
if money >= 10000:
print('土豪我们做朋友吧!')
elif 5000<money<1000:
print('我们都是搬砖族。。。')
else:
print('我负责赚钱养家,你负责貌美如花~')

重要知识点:想要整数,源头转换输入值需要整数时,input()函数结果需要强制转换。

第四课小结:

image

第五课:列表和字典

总的来说,计算机有3种方式利用数据:
image

更多笔记:https://www.cnblogs.com/oyster25/p/12334132.html

posted @ 2021-07-31 18:59  inzens  阅读(1264)  评论(0编辑  收藏  举报