python-day5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day5相关的知识,希望对你有一定的参考价值。

python的学习进入了第五天,感觉越来越力不从心了。。。特别是作业环节,因为本身不是编程出身,写的本来就少,常常面对作业有种不知从何下手的感觉,这样的感觉越强烈,完成作业的愿望就越低,工作也越来越忙了,希望自己不会落下的太多吧。。

 

 正则的深入

本周对于正则表达式做了更近一步的学习

1.compile的使用方法

import re
p = re.compile("[0-9]")
m = p.match(‘14534Abc‘)
print(m.group())
输出结果:1 

配置match的方法,筛选出,输入的字符串中需要进行匹配的字段

2.使用正则来匹配IP地址的例子

string =‘192.168.22.222‘
m = re.match(‘([0-9]{1,3}\.){3}\d{1,3}‘,string)
print(m.group())
输出结果:192.168.22.222

 使用正则通过每个.之间的数字进行IP地址的匹配,这个例子比较简单,并没有对每个数字的大小进行判断(大于255时不能作为IP地址)

 

冒泡排序法

算法之一的冒泡排序法,通过对一端无序的数组的排序,将数组从小到大进行排序的一种方法

data = [10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]
a = 1
while a < len(data):
    for i in range(len(data)-a):
        if data[i] > data[i+1]:
            tmp = data[i+1]
            data[i+1] = data[i]
            data[i] = tmp
    a += 1
print(data)
输出结果:[1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 17, 21, 22, 33, 54]

 通过代码可以看到,简单的思路为将数组中的前后2个数字进行比较,如果前一个数字大于后一个数字,则交换2个数字的位置,如果前一个数字小于后一个数字,则不交换2个数字的位置,继续使用大的数字和后一个数字进行比较,直到最大的数值被放到数组的最后一个位置上为止,然后在外部再进行一个大的循环,对内部的数字比较循环进行重复

 

模块模块是python中非常重要的一个内容,模块可以是内置的,也可以是第三方的,更可以是由用户自行定义的

1.模块的引用

在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。在调用math模块中的函数时,必须这样引用:

  模块名.函数名

 

  为什么必须加上模块名这样调用呢?因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数。所以如果像上述这样引入模块的时候,调用函数必须加上模块名。

 

import math

#这样会报错
print sqrt(2)

#这样才能正确输出结果
print math.sqrt(2)

 

 有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以通过语句

  from 模块名 import 函数名1,函数名2....

来实现,当然可以通过不仅仅可以引入函数,还可以引入一些常量。通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模 块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。也就是说假如模块A中有函数function( ),在模块B中也有函数function( ),如果引入A中的function在先、B中的function在后,那么当调用function函数的时候,是去执行模块B中的function函 数。

  如果想一次性引入math中所有的东西,还可以通过from math import *来实现,但是不建议这么做。

2.定义自己的模块

在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。

  比如有这样一个文件test.py,在test.py中定义了函数add:

#test.py

def add(a,b):
    return a+b

 那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然也可以通过from test import add来引入

Time模块

作为一个时间模块,time模块的用处还是很广泛的

import time
print(time.clock())
print(time.process_time())
print(time.time())
print(time.ctime())
print(time.ctime(time.time()-86640))
print(time.ctime(21312414))
print(time.gmtime())
print(time.localtime())
a = time.localtime()
print(a.tm_year)
print(a.tm_mon)
print(time.localtime(time.time()))
print(time.mktime(time.localtime()))
print(time.gmtime())
print(time.strftime(‘%Y-%m-%d %H:%M:%S‘))
print(time.strptime(‘2016-5-30 10:50:06‘,‘%Y-%m-%d %H:%M:%S‘))

 

以上是关于python-day5的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学Python-day5

Python-Day5 常用模块学习

Python-Day01

python-day5-生成器迭代器及递归调用

python-Day5

Python-Day5修改haproxy配置文件