zoukankan      html  css  js  c++  java
  • 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代码 它的内容虽然简单,不过是平凡的一句print(520) 但我知道:我的编程之路,将从最简单的520开始 在我点击运行的同时,一切在这一刻起开始变得不同 以下,是这行代码的运算结果:' )

    易错点:

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

    转义字符

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

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

    换行符

    除了 之外,转义字符还有很多,它们的特征就是:反斜杠+想要实现的转义功能首字母。
    比如换行 代表【+newline】;退格代表【+backspace】;回车 代表【+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

  • 相关阅读:
    linux中的find命令——查找文件名
    int main(int argc,char* argv[])详解
    VIM进阶学习之几种模式和按键映射
    Fortran编译多个文件(转载)
    Vimdiff---VIM的比较和合并工具
    两篇很牛的vim使用技巧
    程序员软件的罪恶:从不清楚地汇报事故原因
    Free symbol is Harmful
    return语言结构 VS. scala默认返回值
    踩过的“坑”: 命令行指定Java class path
  • 原文地址:https://www.cnblogs.com/inzens/p/python.html
Copyright © 2011-2022 走看看