python学习--基础篇

来源:互联网 发布:东莞三级分销系统源码 编辑:程序博客网 时间:2024/06/03 00:40
学习python的目的是:找工作需要除了Linux C/C++之外的一门语言,希望用python来写机器学习算法
开始写:
1,强制类型转换?guess=int(raw_input('enter a integer'))
2,if和else后面竟然要加冒号:,还有for也要加冒号(缩进要注意,不对应要出错)
  1. while running:
  2.    guess=int(raw_input('enter a integer'))
  3.     ifguess == 2:
  4.        print 'ok'
  5.     elifguess == 4:
  6.        continue
  7.    else:
  8.        break
  9.     for iin range(1, guess):
  10.        print 'ok'
  11.    else:
  12.        print 'the loop is over'
  13. print 'done'
3,定义函数:
  1. def sayhello():
  2.     print'hello def'
  3. sayhello()
4,带参数的函数:
  1. def printmax(x,y):
  2.     if x> y:
  3.        print 'x>y'
  4.    else:
  5.        print 'x<y'
  6. printmax(3, 4)
  7. x = 9
  8. y = 8
  9. printmax(x, y)
5,默认参数,只有在行参表中的那些参数是可以作为默认参数的,比如下面
  1. def say(message, times=1):
  2.     printmessage * times
  3.    
  4. say('hello')
  5. print '-----------------'
  6. say('hello',5)
就不能写为def say(times=1, message),比较有趣的是这里的 *times
6,关键参数赋值,也就是赋值的时候用变量名
  1. def printmin(x, y=1):
  2.     if x> y:
  3.        print 'x>y'
  4.    else:
  5.        print 'x<y'
  6. printmin(x=2, y=3)
  7. printmin(x=6, y=3)
  8. printmin(x=3)
7,文档字符串,我的理解就是函数中的conststring,这个文档字符串可以通过.__doc__调用,.__doc__是打印函数中的文档字符串的意思,然后往help(func)中传入函数名,也是可以显示func中的文档字符串的信息。如下(斜体就为文档字符串):
  1. def printMax(x, y):
  2.    '''Prints the maximum of twonumbers.
  3.    The two values must be integers.'''
  4.     x =int(x) # convert to integers, if possible
  5.     y =int(y)
  6.     if x> y:
  7.        print x, 'is maximum'
  8.    else:
  9.        print y, 'is maximum'
  10. printMax(3, 5)
  11. print printMax.__doc__
  12. help(printMax)
8,模板:module,就像java中的package,比如我们import sys就和importjava.lang.*,然后从这个包中调用,比如,sys和system.out.println是一样的:
  1. import sys
  2. print 'the command line arguments are'
  3. for i in sys.argv:
  4.     printi
  5. print '\n\n the path is',sys.path,'\n'
9,模块的__name__,下面是一个使用__name__的一个非常好的例子:
每个模块都有一个__name__,当一个模块第一次被输入的时候,这个模块的主块将被运行,而在它被别的模块输入的时候,不运行主块。还有模块之间的调用使用(例如)importmodule01
在module01中:
  1. if __name__=='__main__':
  2.     print'this program is being run by itself'
  3. else:
  4.     print'I am being imported from another module'
在module02中:
  1. import module01
  2. print __name__
  3. print module01.__name__
10,python和scala一样,能够自动识别数据类型?比如:
在module3中:
  1. def sayhello():
  2.     print'hello python'
  3.    
  4. version1 = '0.1'
  5. version2 = '0.2'
  6. version3 = 0.3
  7. version4 = 3
  8. def printType():
  9.     printversion1.__class__
  10.     printversion2.__class__
  11.     printversion3.__class__
  12.     printversion4.__class__
在module4中:
  1. from module03 import sayhello, version1, version2, version3,version4, printType
  2. print version1
  3. print version2
  4. print version3
  5. print version4
  6. printType()
11, 有这样一句话:模块的作用素为你在别的程序中重用它提供的服务和功能
12,除了基本数据类型之外,python中的“高级”数据结构:
13,编写一个python脚本
由于现在每天早上一到实验室,要敲一些命令,连上服务器,挂载磁盘,索性用python写一个做这些事情的一个脚本,然后用这个脚本每天开机,这样的话还能节约点时间,顺便学学python的脚本写法:
  1. #!/usr/bin/python
  2. #!/usr/bin
  3. # Filename: morning.py
  4. import os
  5. import time
  6. pon_command = "sudo pon myvpn"
  7. route_command = "sudo route add -net 0.0.0.0 devppp0"
  8. vpn_command = 'sudo pon myvpn &&  sudo route add-net 0.0.0.0 dev ppp0'
  9. mount_command = 'sudo mount -t nfs10.11.1.214:/home/zhanglei/code/OneToMany/home/casa/code/mount/OneToMany'
  10. if __name__=='__main__':
  11.        if os.system(pon_command) == 0:
  12.                print 'your vpn is ready'
  13.        else:
  14.                print 'something error happen'
  15.        time.sleep(5)
  16.        if os.system(route_command) == 0:
  17.                print 'your route is ready'
  18.        else:
  19.                print 'something error happen when route'
  20.        if os.system(mount_command) == 0:
  21.                print 'your mount is ready'
  22.        else:
  23.                print 'something error happen when mount'
  24. else:
  25.        os.system('ls')
  26.        os.system('ls')
  27.        os.system('ls')
  28.        os.system('ls')
  29.        os.system('ls')
  30.        os.system('ls')
原创粉丝点击