百度seo专业网站江小白网络营销案例分析
百度seo专业网站,江小白网络营销案例分析,怎么样网站泛解析,企信网查询一、基础语法
默认情况下#xff0c;Python3源码文件以 UTF-8编码#xff0c;所有字符串都是 Unicode字符串。#xff08;可为源码文件指定不同编码#xff09;
标识符
第一个字符必须以 字母#xff08;a-z#xff0c;A-Z#xff09;或下划线#xff1b;标识符的其他部…一、基础语法默认情况下Python3源码文件以 UTF-8编码所有字符串都是 Unicode字符串。可为源码文件指定不同编码标识符第一个字符必须以 字母a-zA-Z或下划线标识符的其他部分由字母、数字和下划线组成标识符对大小写敏感count和Count是不同的标识符标识符对长度无硬性限制但建议保持简洁一般不超过20个字符禁止使用保留关键字如if、for、class等Python保留关键字保留字即关键字我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块可以输出当前版本的所有关键字importkeywordkeyword.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]类别关键字说明逻辑值True布尔真值False布尔假值None表示空值或无值逻辑运算and逻辑与运算or逻辑或运算not逻辑非运算条件控制if条件判断语句elif否则如果else if 的缩写else否则分支循环控制for迭代循环while条件循环break跳出循环continue跳过当前循环的剩余部分进入下一次迭代异常处理try尝试执行代码块except捕获异常finally无论是否发生异常都会执行的代码块raise抛出异常函数定义def定义函数return从函数返回值lambda创建匿名函数类与对象class定义类del删除对象引用模块导入import导入模块from从模块导入特定部分as为导入的模块或对象创建别名作用域global声明全局变量nonlocal声明非局部变量用于嵌套函数异步编程async声明异步函数await等待异步操作完成其他assert断言用于测试条件是否为真in检查成员关系is检查对象身份是否是同一个对象pass空语句用于占位with上下文管理器用于资源管理yield从生成器函数返回值注释单行注释以#开头多行注释可用多个#还有和行与缩进最具特色就是使用 缩进表示代码块不需要使用 大括号{}缩进的空格数是可变的但同一个代码块的语句必须包含相同的 缩进空格数多行语句Python 通常是一行写完一条语句但如果语句很长我们可以使用反斜杠\来实现多行语句在 [], {}, 或 () 中的多行语句不需要使用反斜杠 \数字Number类型python 中 数字有四种类型整数、布尔型、浮点数和复数。int(整数), 如 1, 只有一种整数类型 int表示为长整型没有 python2 中的 Long。bool(布尔), 如 True。float(浮点数), 如 1.23、3E-2complex(复数) - 复数由实部和虚部组成形式为 a bj其中 a 是实部b 是虚部j 表示虚数单位。如 1 2j、 1.1 2.2j字符串StringPython 中单引号 ’ 和双引号 使用完全相同。使用三引号(‘’’ 或 “”)可以指定一个多行字符串。转义符 \。反斜杠可以用来转义使用 r 可以让反斜杠不发生转义。 如rthis is a line with \n则 \n 会显示并不是换行。按字面意义级联字符串如 this is “string” 会被自动转换为 this is string。字符串可以用 运算符连接在一起用 * 运算符重复。Python 中的字符串有两种索引方式从左往右以 0 开始从右往左以 -1 开始。Python 中的字符串不能改变。Python 没有单独的字符类型一个字符就是长度为 1 的字符串。字符串切片str[start:end]其中 start包含是切片开始的索引end不包含是切片结束的索引。字符串的切片可以加上步长参数 step语法格式如下str[start:end:step]str123456789print(str)# 输出字符串 123456789print(str[0:-1])# 输出第一个到倒数第二个的所有字符 12345678print(str[0])# 输出字符串第一个字符 1print(str[2:5])# 输出从第三个开始到第六个的字符不包含 345print(str[2:])# 输出从第三个开始后的所有字符 3456789print(str[1:5:2])# 输出从第二个开始到第五个且每隔一个的字符步长为2 24print(str*2)# 输出字符串两次 123456789123456789print(str你好)# 连接字符串 123456789你好print(------------------------------)print(hello\nrunoob)# 使用反斜杠(\)n转义特殊字符print(rhello\nrunoob)# 在字符串前面添加一个 r表示原始字符串不会发生转义空行函数之间或类的方法之间用空行分隔表示一段新的代码的开始。类和函数入口之间也用一行空行分隔以突出函数入口的开始。空行与代码缩进不同空行并不是 Python 语法的一部分。书写时不插入空行Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码便于日后代码的维护或重构。记住空行也是程序代码的一部分。等待用户输入input(\n\n按下 enter 键后退出。)在结果输出前 会输出两个新的空行。按下enter程序会推退出。同一行显示多条语句可以在同一行中使用多条语句语句之间使用分号;分割例如import sys; x zz; sys.stdout.write(x\n);使用交互性命令执行 输出结果会多一个 字符个数zz和\n 是3个字符多个语句构成代码组缩进相同的一组语句构成一个代码块我们称之代码组。像if、while、def和class这样的复合语句首行以关键字开始以冒号( : )结束该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。print 输出默认是换行的要实现不换行 需要在变量末尾加上end 比如print( x, end )import 与 from…import在 python 用 import 或者 from…import 来导入相应的模块。将整个模块(somemodule)导入格式为import somemodule从某个模块中导入某个函数,格式为from somemodule import somefunction从某个模块中导入多个函数,格式为from somemodule import firstfunc, secondfunc, thirdfunc将某个模块中的全部函数导入格式为from somemodule import *命令行参数很多程序可以执行一些操作来查看一些基本信息Python可以使用-h参数查看各参数帮助信息。getopt模块来获取命令行参数。getopt 模块是专门处理命令行参数的模块用于获取命令行选项和参数也就是 sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式 - 和长选项模式 --。getopt.getopt 方法getopt.getopt 方法用于解析命令行参数列表语法格式如下getopt.getopt(args,options[,long_options])方法参数说明args: 要解析的命令行参数列表。options: 以字符串的格式定义options 后的冒号 : 表示该选项必须有附加的参数不带冒号表示该选项不附加参数。long_options: 以列表的格式定义long_options 后的等号 表示如果设置该选项必须有附加的参数否则就不附加参数。二、基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值变量赋值以后该变量才会被创建。在 Python 中变量就是变量它没有类型我们所说的类型是变量所指的内存中对象的类型。等号用来给变量赋值。等号运算符左边是一个变量名,等号运算符右边是存储在变量中的值。counter100# 整型变量miles1000.0# 浮点型变量namerunoob# 字符串print(counter)# 100print(miles)# 1000.0print(name)# runoob多个变量赋值允许同时为多个变量赋值a b c 1以上实例创建一个整型对象值为 1从后向前赋值三个变量被赋予相同的数值。也可以为多个对象指定多个变量。例如a, b, c 1, 2, runoob两个整型对象 1 和 2 的分配给变量 a 和 b字符串对象 “runoob” 分配给变量 c。可以通过type()函数查看变量的类型标准数据类型Python3 中常见的数据类型有Number数字String字符串bool布尔类型List列表Tuple元组Set集合Dictionary字典Python3 的六个标准数据类型中不可变数据3 个Number数字、String字符串、Tuple元组可变数据3 个List列表、Dictionary字典、Set集合。此外还有一些高级的数据类型如: 字节数组类型(bytes)。Number数字Python3 支持 int、float、bool、complex复数。在Python 3里只有一种整数类型 int表示为长整型没有 python2 中的 Long。像大多数语言一样数值类型的赋值和计算都是很直观的。内置的 type() 函数可以用来查询变量所指的对象类型。a,b,c,d20,5.5,True,43jprint(type(a),type(b),type(c),type(d))classintclassfloatclassboolclasscomplex也可以使用isinstance来判断a111isinstance(a,int)Trueisinstance 和 type 的区别在于type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。Python3 中bool 是 int 的子类True 和 False 可以和数字相加 True1、False0 会返回 True但可以通过 is 来判断类型。 issubclass(bool, int) True True1 True False0 True True1 2 False1 1 1 is Truepython-input-12:1: SyntaxWarning: is with int literal. Did you mean ? 1 is True False 0 is Falsepython-input-13:1: SyntaxWarning: is with int literal. Did you mean ? 0 is False False为什么会出现 SyntaxWarningPython 检测到你在用 is 比较一个字面量整数如 1和 True这通常是代码错误因为 is 比较的是身份而不是值。Python 建议你使用 来比较值是否相等除非你确实想检查是否是同一个对象。在 Python2 中是没有布尔型的它用数字 0 表示 False用 1 表示 True。可以使用del语句删除一些对象引用。数值运算1、Python可以同时为多个变量赋值如a, b 1, 2。2、一个变量可以通过赋值指向不同类型的对象。3、数值的除法包含两个运算符/ 返回一个浮点数// 返回一个整数。4、在混合计算时Python会把整型转换成为浮点数。Python 还支持复数复数由实数部分和虚数部分构成可以用 a bj或者complex(a,b)表示 复数的实部 a 和虚部 b 都是浮点型。String(字符串)Python中的字符串用单引号 ’ 或双引号 括起来同时使用反斜杠 \ 转义特殊字符。字符串的截取的语法格式如下变量[头下标:尾下标]与 C 字符串不同的是Python字符串不能被改变。向一个索引位置赋值比如 word[0] ‘m’ 会导致错误。总结1、反斜杠可以用来转义使用r可以让反斜杠不发生转义。2、字符串可以用运算符连接在一起用*运算符重复。3、Python中的字符串有两种索引方式从左往右以0开始从右往左以-1开始。4、Python中的字符串不能改变。bool布尔类型布尔类型即 True 或 False。在 Python 中True 和 False 都是关键字表示布尔值。布尔类型可以用来控制程序的流程比如判断某个条件是否成立或者在某个条件满足时执行某段代码。布尔类型特点布尔类型只有两个值True 和 False。bool 是 int 的子类因此布尔值可以被看作整数来使用其中 True 等价于 1。布尔类型可以和其他数据类型进行比较比如数字、字符串等。在比较时Python 会将 True 视为 1False 视为 0。布尔类型可以和逻辑运算符一起使用包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式生成一个新的布尔值。布尔类型也可以被转换成其他数据类型比如整数、浮点数和字符串。在转换时True 会被转换成 1False 会被转换成 0。可以使用 bool() 函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为 FalseNone、False、零 (0、0.0、0j)、空序列如 ‘’、()、[]和空映射如 {}。其他所有值转换为布尔值时均为 True。在 Python 中所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True只有0、空字符串、空列表、空元组等被视为 False。因此在进行布尔类型转换时需要注意数据类型的真假性。List列表List列表 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同它支持数字字符串甚至可以包含列表所谓嵌套。列表是写在方括号[]之间、用逗号分隔开的元素列表。和字符串一样列表同样可以被索引和截取列表被截取后返回一个包含所需元素的新列表。列表截取的语法格式如下变量[头下标:尾下标]索引值以 0 为开始值-1 为从末尾的开始位置。加号 是列表连接运算符星号 * 是重复操作。List 内置了有很多方法例如append()、pop()等等这在后面会讲到。注意1、列表写在方括号之间元素用逗号隔开。2、和字符串一样列表可以被索引和切片。3、列表可以使用 操作符进行拼接。4、列表中的元素是可以改变的。Python 列表截取可以接收第三个参数参数作用是截取的步长以下实例在索引 1 到索引 4 的位置并设置为步长为 2间隔一个位置来截取字符串如果第三个参数为负数表示逆向读取以下实例用于翻转字符串defreverseWords(input):# 通过空格将字符串分隔符把各个单词分隔为列表inputWordsinput.split( )# 翻转字符串# 假设列表 list [1,2,3,4],# list[0]1, list[1]2 而 -1 表示最后一个元素 list[-1]4 ( 与 list[3]4 一样)# inputWords[-1::-1] 有三个参数# 第一个参数 -1 表示最后一个元素# 第二个参数为空表示移动到列表末尾# 第三个参数为步长-1 表示逆向inputWordsinputWords[-1::-1]# 重新组合字符串output .join(inputWords)returnoutputif__name____main__:inputI like runoobrwreverseWords(input)print(rw)Tuple元组元组tuple与列表类似不同之处在于元组的元素不能修改。元组写在小括号 () 里元素之间用逗号隔开。元组中的元素类型也可以不相同tuple(abcd,786,2.23,runoob,70.2)tinytuple(123,runoob)print(tuple)# 输出完整元组 (abcd, 786, 2.23, runoob, 70.2)print(tuple[0])# 输出元组的第一个元素 abcdprint(tuple[1:3])# 输出从第二个元素开始到第三个元素 (786, 2.23)print(tuple[2:])# 输出从第三个元素开始的所有元素 (2.23, runoob, 70.2)print(tinytuple*2)# 输出两次元组 (123, runoob, 123, runoob)print(tupletinytuple)# 连接元组 (abcd, 786, 2.23, runoob, 70.2, 123, runoob)元组与字符串类似可以被索引且下标索引从0开始-1 为从末尾开始的位置。也可以进行截取。其实可以把字符串看作一种特殊的元组。(元组不可以修改)虽然tuple的元素不可改变但它可以包含可变的对象比如list列表。构造包含 0 个或 1 个元素的元组比较特殊所以有一些额外的语法规则tup1()# 空元组tup2(20,)# 一个元素需要在元素后添加逗号如果你想创建只有一个元素的元组需要注意在元素后面添加一个逗号以区分它是一个元组而不是一个普通的值这是因为在没有逗号的情况下Python会将括号解释为数学运算中的括号而不是元组的表示。如果不添加逗号如下所示它将被解释为一个普通的值而不是元组not_a_tuple(42)这样的话not_a_tuple 将是整数类型而不是元组类型。string、list 和 tuple 都属于 sequence序列。注意1、与字符串一样元组的元素不能修改。2、元组也可以被索引和切片方法一样。3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。4、元组也可以使用 操作符进行拼接。Set集合Python 中的集合Set是一种无序、可变的数据类型用于存储唯一的元素。集合中的元素不会重复并且可以进行交集、并集、差集等常见的集合操作。在 Python 中集合使用大括号{}表示元素之间用逗号 , 分隔。另外也可以使用 set() 函数创建集合。注意创建一个空集合必须用 set() 而不是 { }因为 { } 是用来创建一个空字典。创建格式parame{value01,value02,...}或者set(value)sites{Google,Taobao,Runoob,Facebook,Zhihu,Baidu}print(sites)# 输出集合重复的元素被自动去掉# 成员测试ifRunoobinsites:print(Runoob 在集合中)# 输出else:print(Runoob 不在集合中)# set可以进行集合运算aset(abracadabra)bset(alacazam)# {a, l, c, z, m}print(a)# {b, c, a, r, d}print(a-b)# a 和 b 的差集 {r, b, d}print(a|b)# a 和 b 的并集 {b, c, a, z, m, r, l, d}print(ab)# a 和 b 的交集 {c, a}print(a^b)# a 和 b 中不同时存在的元素 {z, b, m, r, l, d}Dictionary字典字典dictionary是Python中另一个非常有用的内置数据类型。列表是有序的对象集合字典是无序的对象集合。两者之间的区别在于字典当中的元素是通过键来存取的而不是通过偏移存取。字典是一种映射类型字典用{ }标识它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型。在同一个字典中键(key)必须是唯一的。dict{}dict[one]1 - 菜鸟教程dict[2]2 - 菜鸟工具tinydict{name:runoob,code:1,site:www.runoob.com}print(dict[one])# 输出键为 one 的值 1 - 菜鸟教程print(dict[2])# 输出键为 2 的值 2 - 菜鸟工具print(tinydict)# 输出完整的字典 {name: runoob, code: 1, site: www.runoob.com}print(tinydict.keys())# 输出所有键 dict_values([runoob, 1, www.runoob.com])print(tinydict.values())# 输出所有值构造函数dict()可以直接从键值对序列中构建字典如下dict([(Runoob,1),(Google,2),(Taobao,3)]){Runoob:1,Google:2,Taobao:3}{x:x**2forxin(2,4,6)}{2:4,4:16,6:36}dict(Runoob1,Google2,Taobao3){Runoob:1,Google:2,Taobao:3}{x: x**2 for x in (2, 4, 6)}该代码使用的是字典推导式。另外字典类型也有一些内置的函数例如clear()、keys()、values()等。注意1、字典是一种映射类型它的元素是键值对。2、字典的关键字必须为不可变类型且不能重复。3、创建空字典使用 { }。dict.get()的基础用法字典.get(键, 默认值)如果键存在返回该键对应的值如果键不存在返回指定的 “默认值”不会报错。bytes 类型在 Python3 中bytes 类型表示的是不可变的二进制序列byte sequence。与字符串类型不同的是bytes 类型中的元素是整数值0 到 255 之间的整数而不是 Unicode 字符。bytes 类型通常用于处理二进制数据比如图像文件、音频文件、视频文件等等。在网络编程中也经常使用 bytes 类型来传输二进制数据。创建 bytes 对象的方式有多种最常见的方式是使用b 前缀此外也可以使用bytes() 函数将其他类型的对象转换为 bytes 类型。bytes() 函数的第一个参数是要转换的对象第二个参数是编码方式如果省略第二个参数则默认使用 UTF-8 编码x bytes(hello, encodingutf-8)与字符串类型类似bytes 类型也支持许多操作和方法如切片、拼接、查找、替换等等。同时由于 bytes 类型是不可变的因此在进行修改操作时需要创建一个新的 bytes 对象。