• python函数基础 与文件操作


    函数的定义

    函数是通过赋值传递的,参数通过赋值传递给函数。def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下:

    1 def function_name(arg1,arg2[,...]):
    2      statement
    3  [return value]  

    返回值不是必须的,如果没有return语句,则Python默认返回值None。

    函数名的命名规则:函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;函数名是区分大小写的。函数名不能是保留字。

    函数中的参数接收传递的值,参数可分默认参数,如:

    元组(Tuples)参数:def function(*ARG)

    字典(dictionary)参数:def function(**ARG)

    一些函数规则:

    默认值必须在非默认参数之后;在单个函数定义中,只能使用一个tuple参数(*ARG)和一个字典参数(**ARG);tuple参数必须在连接参数和默认参数之后;字典参数必须在最后定义。

    函数的调用

    定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。

    这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。

    1 # 定义函数
    2 def printme( str ):
    3    "打印任何传入的字符串"
    4    print (str)
    5    return6  
    7 # 调用函数
    8 printme("我要调用用户自定义函数!")
    9 printme("再次调用同一函数")

    return语句

    return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。

    1 def sum( arg1, arg2 ):
    2    # 返回2个参数的和."
    3    total = arg1 + arg2
    4    print ("函数1 : ", total)
    5    return total
    6  
    7 # 调用sum函数
    8 total = sum( 10086, 10010 )
    9 print("函数2 : ", total)

    变量和局部变量

    定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

    局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。

     1 total = 0; # 这是全局变量
     2 # 可写函数说明
     3 def sum( arg1, arg2 ):
     4    #返回2个参数的和."
     5    total = arg1 + arg2; # total在这里是局部变量.
     6    print("局部变量 : ", total)
     7    return total
     8  
     9 #调用sum函数
    10 sum( 10086, 10010 )
    11 print("全局变量 : ", total) 

    上述结果

    1 函数内是局部变量 :  30
    2 函数外是全局变量 :  0
    View Code

    python文件操作

    1

    file.close()

    关闭文件。关闭后文件不能再进行读写操作

    2

    file.flush()

    刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

    3

    file.fileno()

    返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

    4

    file.isatty()

    如果文件连接到一个终端设备返回 True,否则返回 False。

    5

    file.next()

    返回文件下一行。

    6

    file.read([size])

    从文件读取指定的字节数,如果未给定或为负则读取所有。

    7

    file.readline([size])

    读取整行,包括 " " 字符。

    8

    file.readlines([sizehint])

    读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。

    9

    file.seek(offset[, whence])

    设置文件当前位置

    10

    file.tell()

    返回文件当前位置

    11

    file.truncate([size])

    截取文件,截取的字节通过size指定,默认为当前文件位置。

    12

    file.write(str)

    将字符串写入文件,没有返回值。

    13

    file.writelines(sequence)

    向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

    pass语句

    Python pass是空语句,是为了保持程序结构的完整性。

    # 输出 Python 的每个字母
    for letter in 'Python':
       if letter == 'h':
          pass
          print('这是 pass 块')
       print '当前字母 :', letter
    print("Good bye!")

    python json

    json是个数据交换语言,可以将python里的其它数据格式转换成字典形式

    举个栗子:

    1 import json
    2 
    3 obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}]
    4 encodedjson = json.dumps(obj)
    5 print (repr(obj))
    6 print (encodedjson)
    1 ##输出结果:
    2 
    3 [[1, 2, 3], 123, 123.123, 'abc', {'key2': (4, 5, 6), 'key1': (1, 2, 3)}] 
    4 [[1, 2, 3], 123, 123.123, "abc", {"key2": [4, 5, 6], "key1": [1, 2, 3]}]

    json.dumps方法提供了很多好用的参数可供选择,比较常用的有sort_keys(对dict对象进行排序,我们知道默认dict是无序存放的),separators,indent等参数。

  • 相关阅读:
    玩转手工测试之客户端产品手工测试提效实践
    接口测试常用工具及测试方法(新手篇)
    我北漂 7 年,再也不打工了!
    测试人如何高效地设计自动化测试框架?
    你这样,测试人员不能活了。。。
    如何优雅地记录操作日志?
    C#String.IndexOf检索字符串中字符出现的次数
    C#基础之数组
    C#基础之is,as关键字
    C#委托与事件
  • 原文地址:https://www.cnblogs.com/songyue/p/5180960.html
Copyright © 2020-2023  润新知