十四、递归、字符串常见操作、python日期和时间(datetime模块和time模块)
一、递归
1.自己调用自己;
2.在if else里可用的多;
3.使用要谨慎。
例:计算4!=4*3!=4*3*2*1
第一遍调用的时候:4 * getNums(3)
第二遍调用的时候:3 * getNums(2)
第三遍调用的时候:2 * getNums(1)
第四遍调用的时候:1
这四遍下来这个式子就是:4*3*2*1
二、字符串的常见操作
(1)重点几个记的:
1、(重点)split:以str为分隔符切片,如果maxsplit有指定值,则仅分隔maxsplit个子符串
把字符串转化为列表
指定最多分隔的子串的数量,是按下标走的,下标从0开始:(数字2,下标,0,1,2分3份 ,数字1,下标0,1分两份)
2、(重点)startswith:检查字符串是否是以obj(目标)开头,是则返回True,否则返回False
3、(重点)endswith:检查字符串是否以obj(目标)结束,如果是返回True,否则返回False。
4、(重点)lower:转换字符串中所有大写字符为小写
5、(重点)upper:转换字符串中所有小写字母为大写
6、(重点)strip:删除字符串两端的空白字符
7、(重点)join将字符串每个字符后面插入str,构造出一个新的字符串(拼接)
(2)了解:
1.find:检测str是否包含在mystr中,如果是返回开始的索引值,否则返回-1
2、index:跟find()方法一样,只不过如果str不在mystr中会报一个异常
3、rfind:类似于find()函数,不过是从右边开始查找。
4、rindex:类似于index(),不过是从右边开始
5、count:返回在start和end之间出现的次数
例:
6、replace:将str1替换成str2,如果count指定了,则替换不超过count次。默认替换所有的:
7、capitalize:把字符串的第一个字符大写
8、title:把字符串的每个单词首字母大写
9、ljust:返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
10、rjust:返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
11、center:返回一个原字符串居中,并使用空格填充至长度width的新字符串
12、lstrip:删除字符串左边的空白字符
13、rstrip:删除字符串末尾的空白字符
14、partition:把字符串以str分割成三部分str前str和str后
15、rpartition类似于partiton()函数,不过是从右边开始。
16、splitlines:按换行分隔符,返回包含各行作为元素的列表
17、isalpha:如果字符串中所在字符都是字母,则返回True,否则返回False
18、isdigit如果字符串是数字的字符串返回True,否则返回False
19、isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
20、isspace如果字符串中只包含空格,则返回True,否则False
三、python 日期和时间——datetime模块和time模块
(1)datetime模块
datetime.now()返回当前日期和时间,其类型是datetime
导入datetime的两种写法:
1、
2、
(2)time模块中的sleep是睡眠的意思,单位秒
睡眠每隔1秒打印下haha ()里可改时间,可用于爬虫降速用
(3)datetime转换为timestamp时间戳(可计算相差多少天数)
将datetime类型转换为timestamp只需要简单调用timestamp()方法
注意:Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数。
某些编程语言(如Java和JavaScript)的timestamp使用整数表示毫秒数,这种情况下想要得到天数,小时,分钟,秒数,只需
要把timestamp除以(1000*60*60*24)得到天数。
(4)timestamp时间戳转换为datetime
要把timestamp转换为datetime,使用datetime提供的fromtimestamp()方法:
注意到timestamp是一个浮点数,它没有时区的概念,而datetime是有时区的。上述转换是在timestamp和本地时间做转换。