首页 > 其他分享 >文件相关知识点及函数基本知识点

文件相关知识点及函数基本知识点

时间:2022-10-09 21:45:18浏览次数:51  
标签:知识点 函数 文件 num dict func print def

文件相关知识点及函数基本知识点

目录

一、文件读写总概括

描述 模式
r 只读不写,文件路径必须存在
w 只写不读,文件路径不存在则创建
a 在文本文件末尾追加内容,文件路径不存在创建,存在则清空原有的内容
t 文本模式,默认模式
rb 以二进制打开文件,只读不写
wb 以二进制打开文件,只写不读,文件路径不存在则创建
ab 以二进制在文件末尾追加内容,文件路径不存在则创建
x 写模式,新建文件,如果该文件已存在会报错
r+ 打开文件用于读写
w+ 打开文件用于读写,文件路径不存在创建,存在则清空原有的内容,写新的内容
a+ 打开文件用于在末尾追加内容,文件路径不存在创建,存在则清空原有的内容

二、计算机硬盘修改数据的原理(了解)

数据的修改其实是写入的内容覆盖了原来的内容
数据存储在硬盘中,数据的删除就是将占有态变成了自由态,自由态的删除可以用格式化。可以用大量别的文件覆盖原文件,然后删掉自由态数据,保护自己的二手手机,电脑
硬盘删除数据的原理:
    不是直接删除而是改变状态,等待后续数据的覆盖才会被真正删除

三、文件内容修改(了解)

代码修改文件的方式:
1.覆盖写
  with open(r'a.txt', 'r', encoding='utf8') as f:
    data = f.read()
  with open(r'a.txt', 'w', encoding='utf8') as f1:
    f1.write(data.replace('今天要好好学习', '加油'))
注意点:replace的参数需要两个,只得到了一个,就会报错
2.重命名(换地写)
# 先在另外一个地方写入内容,然后将源文件删除,将新文件命名成源文件
eg:
    import os     # 模块
    with open('a.txt', 'r', encoding='utf8') as read_f, 
            open('.a.txt.swap', 'w', encoding='utf-8') as write_f:
        for line in read_f:   # .swap是临时文件,循环读取每一行内容
            write_f.write(line.replace('tony', 'kevinSB'))  # 替换
    os.remove('a.txt')  # 删除a.txt
    os.rename('.a.txt.swap', 'a.txt')  # 重命名文件

四、函数简介

python函数是指组织好的、可重复使用的、用来实现单一或相关联功能的代码段,通过一个函数名封装起来,若想执行这个函数,只需要调用函数名。
优点:减少代码的重复量,使代码看起来更简洁,易修改

五、函数语法结构

语法结构:
def 函数名(参数):
    '''函数注释'''
    函数体代码
    return 返回值
1.def 定义函数的关键字
2.函数名:命名等同于变量名,指代函数体的代码,要做到知其意
3.括号:函数名后面一定要写括号
4.参数:参数可以一个可以多个可以不写,可有可无,用于使用函数时规定要不要外界数据传进来
5.参数注释:类似于根据说明书
6.函数体代码:整个函数的主心骨,存放逻辑代码实现函数的功能
7.return:使用函数之后可以返回给使用者的数据

六、函数的定义与调用

1.函数在调用的阶段只检测语法,不执行代码
   def func()
     pass
2.函数在调用阶段才会执行函数体代码
   func()
3.函数必须先定义再调用
4.函数定义必须使用关键字def函数调用使用>>>:函数名加括号

七、函数的分类

1.空函数
  函数体代码用pass或者...代替,函数体没有任何的功能,主要用于前期项目的框架搭建,提示主要功能,让整体的框架清晰
    def func():
        pass
  eg:
    def func():
        pass
    choice = input('please input your choice')
    if choice == '1':
        print('xx1')
    elif choice == '2':
        print('xx2')
    elif choice == '3':
        print('xx3')
2.无参函数
  定义函数阶段括号内没有参数
    def func():
        print('from function')
3.有参函数
  函数定义阶段括号内有参数,类似于变量,调用函数的时候括号传参数
    def func(a):
         print(a)

八、函数的返回值

函数外部的代码想要获取函数执行的结果,就可以在函数里用return语句把结果返回,返回值就是调用函数产生的结果
获取返回值:变量名 = 函数()
函数返回值的多种情况:
1.函数体代码中没有关键字return,默认返回none
  eg:
        def func():
            print('hello')   
        res = func()    # hello
        print(res)      # none
2.函数体代码中有return,如果后面没有写任何东西还是返回none
   eg:
        def func():
            print('hello')
            return     # 没有写任何东西,返回none
        res = func()
        print(res)
3.函数体有return 后面写什么就返回什么
  eg:
        def func():
            print('hello')
            return 222   # f返回222
        res = func()
        print(res)
        
4.函数体代码有return并且后面有多个数据值,则自动组织成元组返回
  eg:
        def func():
            print('hello')
            return 1, 2, 3   # 返回(1, 2, 3) 
        res = func()
        print(res)
5.函数体代码遇到return会立刻结束
  eg:
       def func():
            print('upper')  
            return 34555    # 返回34555 
            print('lower')   # 不会执行,相当于循环语句中的break
        func()

九、函数的参数

1.形式参数
  在函数定义阶段括号内填写的参数,简称'形参'
2.实际参数
   在函数调用阶段括号内填写的参数,简称'实参'
形参与实参的关系:
  形参类似于变量名,在函数定义阶段可以随便写,最好知名见意
   eg:
     def register(name, pwd):
        pass
   实参类似于数据值,在函数调用阶段与形参临时绑定,函数运行结束立刻断开
    eg:
        register('jason', 123) 形参name与jason绑定,形参pwd与123绑定
  eg:
    def register(name, pwd):
        print(name,pwd)
    register('jason', 123)

十、作业

使用函数将员工管理系统和文件进阶注册登录封装
def add():
    num_dict = {}
    emp_id = input('请输入圆滚编号').strip()
    if emp_id in num_dict:
        print('该用户已存在')
    else:
        user_info = {}
        name = input('请输入员工姓名').strip()
        age = input('请输入员工年龄').strip()
        post = input('请输入员工岗位').strip()
        salary = input('请输入员工薪资').strip()
        user_info['emp_id'] = emp_id
        user_info['name'] = name
        user_info['age'] = age
        user_info['post'] = post
        user_info['salary'] = salary
        num_dict['num'] = user_info
        print(f'员工编号{emp_id}添加成功')
        print(num_dict)

def update():
    num_dict = {}
    emp_id = input('请输入员工编号').strip()
    if emp_id not in num_dict:
        print('该用户bu存在')
    else:
        userinfo = num_dict['num']
        new_salary = input('请输入修改后的薪资').strip()
        userinfo['salary'] = new_salary
        num_dict[emp_id] = userinfo
        print('薪资修改完成')
        print(num_dict)

def check_one():
    num_dict = {}
    num = input('请输入员工编号').strip()
    if num not in num_dict:
        print('该用户不存在')
    else:
        userinfo = num_dict['num']
        print(f'''
        --------------info of emp-------------------
            编号:{userinfo.get('emp_id')}
            姓名:{userinfo.get('name')}
            年龄:{userinfo.get('age')}
            岗位:{userinfo.get('job')}
            薪资:{userinfo.get('salary')}
            --------------------------------------------     
        ''')

def check_all():
    num_dict = {}
    userinfo = num_dict['num']
    print(f"""
    --------------info of emp-------------------
    编号:{userinfo.get('emp_id')}
    姓名:{userinfo.get('name')}
    年龄:{userinfo.get('age')}
    岗位:{userinfo.get('job')}
    薪资:{userinfo.get('salary')}
    --------------------------------------------
    """)

def delete():
    num_dict = {}
    emp_id = input('请输入员工编号').strip()
    if emp_id not in num_dict:
        print('该用户bu存在')
    else:
        num_dict.pop(emp_id)
        print(f'编号{emp_id}员工删除成功')

def menu():
    print('''
      ===========员工管理系统===========
            1.添加员工信息
            2.查看单个员工信息
            3.查看所有员工信息
            5.删除员工信息
      =================================
            ''')
def func():
    while True:
        menu()
        choice = input('请输入您要执行的功能编号').strip()
        if choice == '1':
            add()
        elif choice == '2':
            update()
        elif choice == '3':
            check_one()
        elif choice == '4':
            check_all()
        elif choice == '5':
            delete()
        else:
            print('没有对应的编号')
if _name_ == '_main_':
    func()
    
 '''写得可能不正确,也可能不全面,但是尽力了....'''

标签:知识点,函数,文件,num,dict,func,print,def
From: https://www.cnblogs.com/zx0524/p/16773803.html

相关文章

  • 文件操作及函数基本知识
    文件操作利用python代码的编写来读写文件1.文件的概念就是操作系统暴露给用户操作硬盘的快捷方式eg:双击一个文件其实是从硬盘将数据加载到内存ctrl+s保存文件其实......
  • 函数初级
    函数的基本概念1.什么是函数?函数相当于一种工具,就是把一串代码装到一起,我们下次需要用的这个功能的时候可以直接使用函数相当于是工具(具有一定功能)不用函数修理工需......
  • day9文件读写以及操作使用的诸多方法
    今日内容概要拔高作业讲解文件操作利用python代码的编写来读写文件1.文件的概念2.文件的操作方式3.文件读写模式4.文件操作模式5.文件诸多方法6.文件......
  • 文件光标与函数简介
    文件内光标移动文件内光标的移动是以bytes为单位移动的,t模式下的read()是以字符移动的文件内指针的移动不一定都是有读写操作被动的出发,可以通过移动的方法对......
  • python函数
    python函数函数引入当我们正常情况下需要统计列表中的数据之个数name_list=['jason','kevin','oscar','jerry']print(len(name_list))当len方法不可以使用后co......
  • 函数
    形式参数在函数定义阶段括号内填写的参数简称'形参'实际参数在函数调用阶段括号内填写的参数简称'实参'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++......
  • 文件操作
    今日内容文件操作1.文件的概念就是操作系统暴露给用户操作硬盘的快捷方式eg:双击一个文件其实就是从硬盘将数据加载到内存ctrl+s保存文件其实就是将内存......
  • c++面向对象概述、内存分析、引用、函数
    1.c++内存分区模型c++程序在运行的过程中,内存会被划分为以下四个分区代码区:程序的所有程序的二进制代码,包括注释会被放到此区全局区:存放静态变量、全局变量、常量(字符串常量......
  • C++函数
    目录​​函数作用​​​​函数定义​​​​函数声明​​​​函数调用​​​​函数值传递​​​​函数常见的样式​​​​函数的分文件书写​​函数作用将经常使用的代码封装......
  • 在 Linux 虚拟机上扩展根文件系统 扩容(azure cloud)
    文章目录​​linux文件系统扩展​​​​1.登录azurecloud​​​​2.进入服务器,查看当前的文件系统​​​​3.服务器关机(关机扩容)​​​​4.服务器上文件系统扩展调整​​li......