zoukankan      html  css  js  c++  java
  • 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')
    					
    				
    			
    		

    
    
    

     





     
     

  • 相关阅读:
    12分布式文件存储
    编写高性能java程序
    Linux常用命令
    jQuery控制文本框只能输入数字
    在代码中动态绑定TabHost内容的两种方法(Android)
    maven快速使用教程
    silverlight利用代码添加带图标的treeviewItem
    快速认识ESB
    代码中控制TabHost中标签Tab的高度和宽度(Android)
    Maven2快速认识和使用
  • 原文地址:https://www.cnblogs.com/zoeya/p/6532627.html
Copyright © 2011-2022 走看看