selenium自动化,python基础语法

python基本用法归纳:

1.打印(print):

%s(string)只能打印字符串,
%d(data)打印数字
%r 不知道自己要打印的是什么类型的数据
如print "hello %r, nice to meet you." %name
2.输入(input):
input()要求用户输入的数据类型一定正确,比如字符串一定要加引号,如果不加将会报错(SyntaxError: invalid syntax);
可以用raw_input()代替input(),raw_input()可以接收任何类型的输入;

如:#coding=UTF-8

n=input("Enter any content:")

print "your input content is %r" %n

3.引号和注释:

在 Python 当中,不区分单引号('')与双引号(""),也就是说单、双引号都可以表示一个字符串;可以嵌套使用,但不能交叉使用;
Python 的单行注释用井号(#)表示;多行注释用三对引号表示,不分单、双引号。
4.分支与循环:
分支:if..else..
循环:for
  循环:for i in ‘hello world’
  循环数字:循环数字要借助 range()函数;
  range(start,end,scan)
  range()函数,start 表示开始位置,end 表示结束位置,scan 表示每一次循环的步长。
例1:
result = int(raw_input("Enter the result:"))
if result >=95:
print "A++"
elif result >=90:
print "A"
elif result >=70:
print "B"
else:
print "u need another exam."

例2:
for letter in "python":
print 'current word is :',letter
例3:
for i in range(1,10,2):
print '质数',i

5.数组与字典

数组:shuzu= [1,2,'2','a']
字典:字典以花括号({})表示,里面的元素是成对出现的,一个 key 对应一个 value;一对元素用冒号(:)分割;不同对元素用逗号(,)分开 。字典里的每一对元素准确的来说是键值对,一个键(key)对应一个值(value)。keys()函数可以输 出所有键的值;values()函数可以输出所有值的值;items()函数输出一对键值的值

6.函数与类、方法:

1)函数:gef关键字定义函数

例:def add(a=1,b=2):
    return a+b
  add(2,3)

 

更多的情况下,add()函数不会直接打印结果,而是将处理结果通过 return 关键字返回。
有时候我们在调用 add()函数的时候不想传参,那么可以为 add()函数设置默认参数。
如果调用时不传参,那么 add()函数就使用默认参数进行计算。如果传参则计算参数的值。
2)类与方法:
在 Python 中用 class 关键字来创建类。
如:class A():
    def add(self,a,b):
      return a+b
  count = A()
  print count.add(3,5)
例2:类继承
class A:
def add(self,a,b):
return a+b
class B(A):
def sub(self,a,b):
return a-b
count = B()
print count.add(4,5)

7.模组

想实现与时间 有关功能那么就可以调用系统的 time 模块,如果我们想实现与文件和文件夹有关的操作,那么就要用到 os 模块。再比如我们通过极 selenium 实现的 web 自动化测试,那么 selenium 对于 Python 来说就是一个 模块。
1)引用方法:from...import...
如:import time
  print time.ctime()
或者:from time import *
from time import *
print ctime()
print "wait two seconds"
sleep(2)
print ctime()
 
2)跨文件调用:
在相同的文件目录下创建两个文件test.py  和test1.py
test.py:
def add(a,b):
return a+b
test1.py:
import test
print test.add(3,4)
3)跨目录调用:
调用 sys 模块,把 model 目录通过 append()方法追加到系统环境变量 Path 下面。append()是一个非 常有用的方法,它通常用于向一个数据或集合尾部添加新的数据。注意“\model”是一个相对路径,如果 pub.py 在别的目录下面,那么就要用绝对路径了,如:append('D:\\project\\model')。
现在来运行程序依然会告诉我们找不到 model,我们还需要在 model 目录下面创建一个__init__.py 文 件,内容可以为空。这个文件告诉 Python model 是可以被调用的一个模块。好了,现在可以正常运行 count.py 程序了。
import sys
sys.path.append('\model')
from model import pub
print pub.add(4,5)
8.异常:用try...except...语句来捕获异常:
例如:
try:
open('abc.txt','r')
except IOError:
print 'something wrong'

 例如:

try:
  print aa
except NameError:
  print 'hah name is not except'
 

知识延伸: 异常的抛出机制:

1)如果在运行时发生异常,解释器会查找相应的处理语句(称为 handler).

2)要是在当前函数里没有找到的话,它会将异常传递给上层的调用函数,看看那里能不能处理。

3)如果在最外层(全局“main”)还是没有找到的话,解释器就会退出,同时打印出 traceback 以便让用户找到错误产生的原因。

注意:虽然大多数错误会导致异常,但一个异常不一定代表错误,有时候它们只是一个警告,有时候它们可能是一个终止信号,比如退出循环等。

在 Python 中所有的异常类都继承 Exception,所以我们可以使用它来接收所有的异常。

从 Python2.5 版本之后,所有的异常类有了新的基类 BaseException,Exception 同样也继承 BaseException,所以我们也可以使用 BaseException 来接收所有的异常。

例: 直接打印错误异常信息

try: open("abc.txt",'r')
  print aa
except BaseException,msg:
  print msg
 

9.更多异常处理方法:

1)try...except else 配合使用

例:
try
:
aa ='hah'
print aa

except BaseException,msg:
print msg

else:
print 'no error'

2)使用 Try...finally...语句来完成文件的关闭,锁的释放,把数据库连接返还给连接池等操作
例:
import time
files = file('test.txt','r')
strs=files.readlines()
try:
for i in strs:
print i
time.sleep(1)
finally:
files.close()
print 'success'
3)抛出异常:
Python 中提供 raise 方法来抛出一个异常
可以使用 raise 自定义一些异常信息,这看上去比 print 更专业。需要注意的是 raise 只能使用 Python 中所提供的异常类,如果你自定义了一个 abcError可不起作用。 例:
s=raw_input('please input filename:')
if s=='hello':
raise NameError('alrady have exist the world')
					
				
			
		


 


 

 





 

 

 

 

 

 

posted @ 2017-03-10 18:43  Zoeya  阅读(924)  评论(0编辑  收藏  举报