zoukankan      html  css  js  c++  java
  • python自动化系列(二)--python3进阶

    1、函数命名定义规范:

    (1)、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

    (2)、圆括号之间可以用于传入参数。

    (3)、函数内容以冒号起始,并且缩进。

    (4)、return [表达式] 结束函数,将返回值传给调用方。不带return相当于返回 None。

    格式如下:

    def 函数名(参数列表):

      函数体

    def sayHello():

           print(“HelloWorld”)                                                                                                                                    

    sayHello()

    2、不定长参数:

    (1)、一个星(*):表示接收的参数作为元组来处理

    (2)、两个星(**):表示接收的参数作为字典来处理

    def add(a, *kwargs):                                                    def add(a, ** kwargs):

           sum = a;                                                                      sum = a

           for i in kwargs:                                                             for (i ,j) in kwargs.items():

                sum = sum + i                                                               sum = sum + j

           return sum                                                                   return sum

    res = add(1, 2, 3, 4)                                                      res = add(a = 1, b = 2, c = 3)

    print(res)                                                                       print(res) 

    3、类

    class ClassName:

      <statement-1> (里面写标识符或方法)

      . . .

      <statement-N>

    实例:

    class student:

          age = 0

          name = “”

          def get_name(self):           #self 代表这个类本身非传入参数

                 return self.name

          def set_name(self, name):

                 self.name = name

    4、List列表常用函数

    list.append(obj)            在列表末尾添加新的对象

    list.index(obj)               从列表中找出某个值第一个匹配项的索引位置

    list.insert(index, obj)    将对象插入列表的索引位置

    list.remove(obj)            移除列表中某个值的第一个匹配项

    list.copy()                     复制列表

    len(list)                     获取list里面元素个数

    5、Dict字典常用函数:

    dict.items()         以列表返回可遍历的(键, 值) 元组数组

    dict.pop(key)      删除key 所对应的值

    dict.copy()          复制列表

    len(dict)         获取dict里面key个数

    6、random常用函数:

    random.random()                    返回随机生成的一个实数,它在[0,1)范围内

    random.randint(begin,end)  返回随机生成的一个整数,它在[begin,end]范围内

    random.sample(str,length)    返回随机生产的一个列表,列表长度为length

    7、File读写常用函数:

    open(filepath,method)     打开文件 

    method主要包括下面3种方式

    r         以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式

    w       打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a        打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    file.readline()                  读取单行

    file.readlines()                读取多行

    file.write(str)                   写入数据

    file.flush()                       刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入(配合file.write使用)

    file.close()                        关闭文件

    8、time模块实际主要有2种应用

    (1)获取当前时间:-------在日志中常见

      import time
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

    %Y 年     %m 月      %d 日     %H 时    %M 分     %S 秒

    (2)获取一段程序运行的时间:

      import time 
    start = time.time() #time.time()获取当前时间戳
    time.sleep(3)
    end = time.time()
    print(end-start)

    9、正则模块实际主要有2种应用

    (1)、提取返回值中的一串字符串(比如想获得code的值)

    使用:re. findall(regex, str)

    (2)、判断返回值中是否有期望的值

    使用:re. search

    import re
    text = “<MsgTest><code>0000</code><reg>100</reg>” +
           “<code>a</code></MsgTest>”
    res = re.findall(“<code>(.*?)</code>”, text)
    print(res[0])
    if re.search(“<code>0001</code>”, text):
        print(“True”)
    else:
        print(“False”)          

    10、异常:运行期检测到的错误被称为异常

    2种常用异常操作方式:

    (1)、捕获异常

    try:

      操作步骤(比如open(一个不存在文件路径,”r”))

    except 异常类型:         (异常类型种类https://www.cnblogs.com/zln1021/p/6106185.html)
        print(异常信息)

    (2)、自定义异常

    raise Exception(异常信息)

    11、练习

    (1)、def sayHello(name):      

      hw = name

      print(hw + “ SayHello”)

      return hw  #不加retrun和加return这句查看下面运行结果

                response = sayHello(“rlk”);

                print(response)                                  

    (2)、写一个加法函数,得到a+b的结果

    (3)、写一个减法函数,得到a,b的相差值(正数)

    (4)、已知list = [“a”, 1 ,”name”,”age”] ,求分别进行下列操作得到list结果

    list.append(“app”)       

    list.index(“name”)          

    list.insert(1,”ins”)

    list.remove(“age”)      

    (5)、获得一个长度为6,里面字符为a-zA-z0-9的字符串(比如ay8372)

    (6)、第一步在D盘写入一个文件mytest.txt,内容为“new create”

                第二步追加内容(“追加的内容”)

                第三步读取文件内容

    (7)、计算第6题的执行时长,并打印当前时间(年-月-日 时:分:秒形式)

    (8)、从code = “<id>20</id><reg>foddlfk2</reg><code>0000</code>”中获取到0000

    (9)、定义一个相加方法,当所得和小于20,抛出一个自定义异常

    12、习题答案

    (1)、加return情况返回rlk SayHello  以及  rlk

             不加return情况返回rlk SayHello  以及 None

    (2)、def add(a, b):
          return a + b
                   sum = add(1, 2)
                   print(sum)

    (3)------------------------------------------------

     def subtraction(a, b):
        if a > b:
            return a - b
        else:
            return b - a
    print(subtraction(2, 1))

    (4)------------------------------------------------------------------------------------------

    list.append(“app”) ---------------       ['a', 1, 'name', 'age', 'app']

    list.index(“name”)  ---------------       2        

    list.insert(1,”ins”)   ----------------      ['a', 'ins', 1, 'name', 'age']

    list.remove(“age”) ----------------      ['a',  1, 'name’]

    (5)、

    import random str2 = ""
    for i in range(0,9):
        str2 = str2 + str(i)
    for i in range(65, 91):
        str2 = str2 + chr(i)
    for i in range(97, 123):
        str2 = str2 + chr(i)
    card = random.sample(str2, 6)
    card = ''.join(card)
    print(card)

    (6)、

    wt = open("d:/mytest.txt", "w")
    wt.write("new create")
    wt.flush()
    wt.close()
    fo = open("d:/mytest.txt", "a")
    fo.write("追加的内容")
    fo.flush()
    fo.close()
    rd = open("d:/mytest.txt", "r")
    print(rd.readlines())
    rd.close()

    (7)、

    import time
    start = time.time()
    wt = open("d:/mytest.txt", "w")
    wt.write("new create")
    wt.flush()
    wt.close()
    fo = open("d:/mytest.txt", "a")
    fo.write("追加的内容")
    fo.flush()
    fo.close()
    rd = open("d:/mytest.txt", "r")
    print(rd.readlines())
    rd.close()
    end = time.time()
    print(end - start)
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

    (8)、

    import re code = "<id>20</id><reg>foddlfk2<reg><code>0000</code>"
    list = re.findall("<code>(.*?)</code>", code)
    print(list[0])

    (9)、

    def add(a ,b):
        sum = a + b
        if sum >= 20:
            return sum
        else:
            raise Exception("相加小于20了")

                                                                            

  • 相关阅读:
    Swift
    Swift
    第二章_session管理
    HDU-1387-Team Queue
    Install Orace 11g on Solaris 10 Sparc 64 bit
    Linux 多学习过程
    dispatch_once认识分析
    关于包围神经猫的想法实现
    嵌入在网站上Flash播放机(2)
    初学者应学会如何加快seo
  • 原文地址:https://www.cnblogs.com/heng-xin/p/8884242.html
Copyright © 2011-2022 走看看