Python学习笔记第四讲

Posted kingleoric

tags:

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

1.2       while

首先,我们检验变量running是否为True,然后执行后面的 while-块 。在执行了这块程序之后,再次检验条件,在这个例子中,条件是running变量。如果它是真的,我们再次执行while-块,否则,我们继续执行可选的else-块,并接着执行下一个语句。

当while循环条件变为False的时候,else块才被执行——这甚至也可能是在条件第一次被检验的时候。如果while循环有一个else从句,它将始终被执行,除非你的while循环将永远循环下去不会结束!

True和False被称为布尔类型。你可以分别把它们等效地理解为值1和0。在检验重要条件的时候,布尔类型十分重要,它们并不是真实的值1。

else块事实上是多余的,因为你可以把其中的语句放在同一块(与while相同)中,跟在while语句之后,这样可以取得相同的效果。

设置tab为4个空格:

:set ts=4

永久生效需要在initial中修改

 

While 当为true或者有break则跳出循环。

 [[email protected]_nginx ~]# vi for2.py

#!/usr/bin/python

a = [1,"b",3,4,"d"]

for item in a:

        #do this for 5 time

        if item == "b" or item == "d":

                continue

        if item == 3:

                break

        print item

 

b=5

while b > 0:

        print b

        b -=1

"for2.py" 15L, 187C written

[[email protected]_nginx ~]# python for2.py

1

5

4

3

2

1

 

用while读取文件

[[email protected] ~]# cat while.py

#!!/usr/bin/python

fd=open(‘/root/poem.txt‘)

while True:

                line=fd.readline()

                if not line:

                                break

                print line,

 

[[email protected] ~]# python while.py

Programming is fun

When the work is done

if you wanna make your work also fun:

        use Python!

Zhailiang

 

或者:

[[email protected] ~]# cat while.py

#!/usr/bin/python

with open(‘/root/poem.txt‘) as fd:

                while True:

                                line = fd.readline()

                                if not line:

                                                break

                                print line,

 

[[email protected] ~]# python while.py

Programming is fun

When the work is done

if you wanna make your work also fun:

        use Python!

Zhailiang

 

 

1.3       for

[[email protected]_nginx ~]# python for2.py

1

b

3

4

d

[[email protected]_nginx ~]# cat for2.py

#!/usr/bin/python

a = [1,"b",3,4,"d"]

for item in a:

 #do this for 5 time

 print item

 

continue :跳出本次循环,继续下一个循环

break:跳出整个循环

[[email protected]_nginx ~]# python for2.py

1

3

4

[[email protected]_nginx ~]# cat for2.py

#!/usr/bin/python

a = [1,"b",3,4,"d"]

for item in a:

#do this for 5 time

if item == "b" or item == "d":

continue

print item

[[email protected]_nginx ~]#

 

打印乘法口诀表:

[[email protected]_nginx ~]# cat for3.py

#!/usr/bin/python

sum=0

for i in xrange(1,10):

        for j in xrange(1,i+1):

                print "%sx%s=%s" %(j,i,j*i),

        print

[[email protected]_nginx ~]# python for3.py

1x1=1

1x2=2 2x2=4

1x3=3 2x3=6 3x3=9

1x4=4 2x4=8 3x4=12 4x4=16

1x5=5 2x5=10 3x5=15 4x5=20 5x5=25

1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36

1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49

1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64

1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

 

读取文本文件,该脚本将文本文件读到内存里,如果文本文件很大,会对系统性能有影响

[[email protected] ~]# cat for.py

#!/usr/bin/python

fd=open(‘/root/poem.txt‘)

for line in fd.readlines():

        print line,

[[email protected] ~]# python for.py

Programming is fun

When the work is done

if you wanna make your work also fun:

        use Python!

zhailiang

 

进一步优化:

[[email protected] ~]# cat for.py

#!/usr/bin/python

fd=open(‘/root/poem.txt‘)

for line in fd:

        print line,

[[email protected] ~]# python for.py

Programming is fun

When the work is done

if you wanna make your work also fun:

        use Python!

Zhailiang

脚本解析:

fd是一个对象,读一行,取一行,不会占用系统很大开销。

实战:

系统生成一个20以内的随机整数,玩家有6次机会进行猜猜看,每次猜测都有反馈(猜大了,猜小了,猜对了—结束)

6次中,猜对了,玩家赢,否则系统赢。

随机类

Import random

random.randint(1,20)

 

2.  实战:统计系统剩余内存

查看剩余内存的shell命令为:

[[email protected] ~]# cat /proc/meminfo

MemTotal:        5990132 kB

MemFree:          708940 kB

Buffers:          655116 kB

Cached:          3109280 kB

SwapCached:          792 kB

Active:          1958380 kB

Inactive:        2774108 kB

Active(anon):     190700 kB

Inactive(anon):   778676 kB

Active(file):    1767680 kB

Inactive(file):  1995432 kB

[[email protected] ~]# free

             total       used       free     shared    buffers     cached

Mem:       5990132    5281208     708924       1444     655136    3109356

-/+ buffers/cache:    1516716    4473416

Swap:      2097148       8292    2088856

可用内存=系统free memory+buffers+cached.

[[email protected] ~]# cat check_mem2.py

#!/usr/bin/python

with open(‘/proc/meminfo‘) as fd:

  for line in fd:

    if line.startswith(‘MemTotal‘):

      total = line.split()[1]

      continue

    if line.startswith(‘MemFree‘):

      free = line.split()[1]

      break

print "%.2f" % (int(free)/1024.0)+ ‘M‘

[[email protected] ~]# python check_mem2.py

690.26M

查的只是黄色标记的,如果是实际的可用内存为=4473416

os.path.split():按照路径将文件名和路径分割开

1.PATH指一个文件的全路径作为参数:

2.如果给出的是一个目录和文件名,则输出路径和文件名

3.如果给出的是一个目录名,则输出路径和为空文件名

分离文件名和路径

>>> import os

>>> print os.path.split(‘/dodo/soft/python/‘)

(‘/dodo/soft/python‘, ‘‘)

>>> print os.path.split(‘/dodo/soft/python‘)

(‘/dodo/soft‘, ‘python‘)

 

>>> str="hello boy<[www.doiido.com]>byebye"

  >>> print str.split("[")[1].split("]")[0]

www.doiido.com

>>> print str.split("[")[1].split("]")[0].split(".")

[‘www‘, ‘doiido‘, ‘com‘]

 

join()

以上是关于Python学习笔记第四讲的主要内容,如果未能解决你的问题,请参考以下文章

《文献管理与信息分析》第四讲学习笔记

斯坦福吴恩达教授机器学习公开课第四讲笔记——牛顿方法/广义线性模型

视觉slam学习笔记以及课后习题《第四讲相机模型和非线性优化》

机器学习基石笔记

第四讲 网络八股拓展--自定义数据集加载

《视觉SLAM十四讲——从理论到实践》学习笔记