• python3 第三天


    一、文件操作
    = open("file.txt",'r'
    print(len(f.read()))     #文件总长度 
    print(f.tell())          #读完文件,文件指针位置
    f.seek(0,0)              #偏移回文件头 
    print(f.readline())      #打印出文件中一行(第一行) 
    print f.tell()           #显示文件指针现在的位置 
    f.seek(2,1)              #从当前文件指针(向后)偏移2个字节 
    print(f.readline())      #再打印一行(应该少2个字节) 
    print(f.tell())          #显示 现在 的指针位置 
    f.seek(-7,1)             #从当前位置向前偏移7个字节 
    print(f.readline())      #打印下一行 
    print(f.tell())          #显示 现在 的指针位置 
    f.seek(-9,2)             #从尾部向前偏移9个字符 
    print(f.tell())          #显示 现在 的指针位置 
    print(f.readline())      #打印出内容 
    f.seek(0)  #==>默认是0 等等seek(0,0) 
    f.seek(80)      #等同上面的seek(-9,2) 从尾部向前取 
     
    二、函数
     
    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量
    实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值
    def stu_register(name, age, country, course):
        print("----注册学生信息------")
        print("姓名:", name)
        print("age:", age)
        print("国籍:", country)
        print("课程:", course)
     
     
    stu_register("王山炮", 22, "CN", "python_devops")
    stu_register("张叫春", 21, "CN", "linux")
    stu_register("刘老根", 25, "CN", "linux")
    非固定参数
     
    若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数
     
    def stu_register(name, age, *args):  # *args 会把多传入的参数变成一个元组形式    print(name, age, args)
    stu_register("Alex", 22)
    stu_register("Jack", 32, "CN", "Python”)
     
    还可以有一个**kwargs
    def stu_register(name, age, *args, **kwargs):  # *kwargs 会把多传入的参数变成一个dict形式    print(name, age, args, kwargs)
     
    stu_register("Alex", 22)
     
    stu_register("Jack", 32, "CN", "Python", sex="Male", province="ShanDong")
     

    1、普通调用

    与其他语言中函数调用一样,Python中在调用函数时,需要给定和形参相同个数的实参并按顺序一一对应。

    def fun(name, age, gender)

           XXXX

    调用:fun('Jack', 20, 'man') 

    2、使用关键字参数调用函数

    函数也可以通过keyword=value 形式的关键字参数来调用,因为我们明确指出了对应关系,所以参数的顺序也就无关紧要了。

    def fun(name, age, gender): 
      XXXXX
      
    调用:fun(gender='man', name='Jack', age=20
     

    3、调用具有默认实参的函数

    Python中的函数也可以给一个或多个参数指定默认值,这样在调用时可以选择性地省略该参数:

    def fun(a, b, c=100): 
      print(a,b,c) 
      
    调用:fun(1,2
    调用:fun(1,2,3)

    注意:通常情况下默认值只被计算一次,但如果默认值是一个可变对象时会有所不同, 如列表, 字典, 或大多类的对象时。例如,下面的函数在随后的调用中会累积参数值:

    def fun(a, L=[]): 
      L.append(a) 
      print(L) 
      
    调用:fun(1# 输出[1] 
         fun(2# 输出[1, 2] 
         fun(3# 输出[1, 2, 3]

    4、调用可变参数函数

    通过在形参前加一个星号(*)或两个星号(**)来指定函数可以接收任意数量的实参。

    def fun(*args): 
      print(type(args)) 
      print(args) 
      
    调用:fun(1,2,3,4,5,6
      
    # 输出: 
    <class 'tuple'> 
    (1, 2, 3, 4, 5, 6) 
     
    def fun(**args): 
      print(type(args)) 
      print(args) 
      
    调用:fun(a=1,b=2,c=3,d=4,e=5
      
    # 输出: 
    <class 'dict'> 
    {'d': 4, 'e': 5, 'b': 2, 'c': 3, 'a': 1}
     
     

    从两个示例的输出可以看出:当参数形如*args时,传递给函数的任意个实参会按位置被包装进一个元组(tuple);当参数形如**args时,传递给函数的任意个key=value实参会被包装进一个字典(dict)。

    5、通过解包参数调用函数

    上一点说到传递任意数量的实参时会将它们打包进一个元组或字典,当然有打包也就有解包(unpacking)。通过 单星号和双星号对List、Tuple和Dictionary进行解包:

     def fun(a=1, b=2, c=3): 

            print(a+b+c)

    调用:fun()  # 正常调用 
         list1 = [112233
         dict1 = {'a':40'b':50'c':60
         fun(*list1)  # 解包列表 
         fun(**dict1) # 解包字典 
      
    #输出:
    6
    66
    150
     
     
    三、.返回值
    要想获取函数的执行结果,就可以用return语句把结果返回
     
    注意:
     
    1. 函数在执行过程中只要遇到return语句,就会停止执行并返回结果
    2. 如果未在函数中指定return,那这个函数的返回值为None

    四、.内置函数


     
  • 相关阅读:
    AutoCompleteTextView控件的使用
    menu菜单
    fragment之间的通信
    fragment的生命周期
    用模型取代字典的好处
    使用fragment兼容低版本的写法
    模拟微信主界面
    动态替换fragment
    fragment入门
    Spring MVC学习总结(1)——Spring MVC单元测试
  • 原文地址:https://www.cnblogs.com/jnbb/p/7216911.html
Copyright © 2020-2023  润新知