初学python
今天上了python程序设计的第二次选修课;老师的ppt和程序不好上传,可以私聊要:qq1040925160,这个课程比较有意思的是,老师带我们做了三道python challenge的3道题;
题目网址在这:
http://www.pythonchallenge.com/
对我来说,第3道有点难理解,里面夹杂着数据爬虫的知识;想把第3道题涉及的知识点理个清楚;
查找的过程中,发现了一个菜鸟学习python的网站:
http://www.runoob.com/python3/python3-basic-syntax.html
决定先跟着这个网页学习python,再去学习难点;
学习python主要通过看大量代码以及自己实践来熟悉各种用法,对于初级的熟悉,上面的教程后面的实例比较有用。
——————————————————————————————————————
python 3基础语法部分:
反斜杠可以用来转义,使用r可以让反斜杠不发生转义, 如 r"this is a line with \n" 则\n会显示,并不是换行;
反斜杠(\)也可以作为续行符。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
Python可以使用-h参数查看各参数帮助信息。
Python3 基本数据类型:
用del语句删除一些对象引用。
数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数,%号用于取模。逻辑运算符就是:and, or, not。in 与 not in是成员运算符;is 与 is not是身份运算符。
Python 字符串不能被改变,即不能直接对字符串进行赋值,比如:word='python',word[1]='w',这是不可以的。字符串可以格式化输出,如print(" my name is %s i'm %d years old."%('Abby',25)),其输出结果是:my name is Abby i'm 25 years old.格式化的符号:%c格式化字符;%s格式化字符串;%d格式化整数;%f格式化浮点型数值;str.format()函数增强了字符串格式化的功能;
List(列表) 是 Python 中使用最频繁的数据类型。列表写在方括号之间,用逗号隔开,列表中的元素是可以改变的。
元组与列表相似,但是其中的元素不能改变,元组写在小括号里,元素之间用逗号隔开。虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。若要创建只包含一个元素的元组,元素之后必须要加逗号,如tup=(50,)。
集合的基本功能是进行成员关系测试和删除重复元素。使用{}或者set()函数创建集合,创建空集合必须用set函数。
字典(dictionary)是Python中另一个非常有用的内置数据类型。字典当中的元素是通过键来存取的,而不是通过偏移存取。在同一个字典中,键(key)必须是唯一的。花括号{}用来创建空字典。d = {key1 : value1, key2 : value2 }
python中有众多对字符串、列表等进行操作的函数,只有在实践再实践中熟悉函数的用法,此处就不做笔记了;
——————————————————————————————————————
上面部分都是python中基本知识,接下来是python的基本编程:
——————————————————————————————————————
python中的基本循环语句老师的ppt中讲的很详细,此处也不做笔记;
python3迭代器与生成器:
迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。it=iter(list),next(it).可以用常规for语句进行遍历;
_iter__() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。__next__() 方法(Python 2 里是 next())会返回下一个迭代器对象。
在 Python 中,使用了 yield 的函数被称为生成器(generator)。生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
python3函数:
定义函数时,关于不定长参数,带有一个*号的参数以元组形式导入,带有两个*号以字典形式导入;
python 使用 lambda 来创建匿名函数。所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。lambda [arg1 [,arg2,.....argn]]:expression
之后的知识单纯看文字已经很难理解,之后准备大量看代码、写代码巩固知识。
知识点1:正则表达式;
参考:https://blog.csdn.net/qq_37634812/article/details/77867861
https://www.cnblogs.com/dreamer-fish/p/5282679.html
英语:Regular Expression,在代码中常简写为regex、regexp或RE;
语法: /正则表达式主体/修饰符(可选)
在python中,通过内嵌集成re模块,可以直接调用来实现正则匹配。
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。