day13-模块与包

studentmanage

main

from manage import Student_Manage

# 开始运行
if __name__ == '__main__':
    # 创建对象
    student = Student_Manage()
    # 通过对象调用某个方法
    student.run()



C:\Users\LENOVO\AppData\Local\Programs\Python\Python39\python.exe C:\Users\LENOVO\PycharmProjects\pythonProject\day13模块与包\studentmanage\main.py 
======欢迎进入学员管理系统======
    ---1、添加学员信息---
    ---2、删除学员信息---
    ---3、修改学员信息---
    ---4、查看学员信息---
    ---5、显示学员信息---
    ---6、保存学员信息---
    -----7、退出系统-----
输入对应的数字实现对应功能:

manage

from student import Student

class Student_Manage():
    # 数据仓库
    def __init__(self):
        self.student_list = []

    # 显示功能界面
    def show_menu(self):
        print("======欢迎进入学员管理系统======")
        print("\t---1、添加学员信息---")
        print("\t---2、删除学员信息---")
        print("\t---3、修改学员信息---")
        print("\t---4、查看学员信息---")
        print("\t---5、显示学员信息---")
        print("\t---6、保存学员信息---")
        print("\t-----7、退出系统-----")

        # 主函数

    # 主函数
    def run(self):
        while True:
            # 显示功能菜单
            self.show_menu()
            number = int(input("输入对应的数字实现对应功能:"))
            if number == 1:
                self.add_student()
            elif number == 2:
                self.del_student()
            elif number == 3:
                self.modify_student()
            elif number == 4:
                self.search_student()
            elif number == 5:
                self.show_student()
            elif number == 6:
                self.save_student()
            elif number == 7:
                print("欢迎下次使用")
                break

    # 添加信息
    def add_student(self):
        name = input("请输入姓名:")
        sex = input("请输入性别:")
        age = input("请输入年龄:")
        # 创建一个学生对象
        student = Student(name, sex, age)  # 实例化对象
        print(student)
        # 将创建的学生对象传入列表中
        self.student_list.append(student)

    # 删除信息
    def del_student(self):
        stu_name = input("请输入你要删除的学员姓名:")
        for data in self.student_list:
            if data.name == stu_name:
                print(data.name, "---删除成功")
                self.student_list.remove(data)
                break
        else:
            print("当前学员不存在")

    # 修改信息
    def modify_student(self):
        stu_name = input("请输入你要修改的学员姓名:")
        for data in self.student_list:
            if data.name == stu_name:
                data.name = input("请输入姓名:")
                data.sex = input("请输入性别:")
                data.age = input("请输入年龄:")
                print(f"姓名:{data.name},性别:{data.sex},年龄:{data.age}")
                break
        else:
            print("学员不存在")

    # 查找信息
    def search_student(self):
        stu_name = input("请输入你要查找的学员姓名:")
        for data in self.student_list:
            if data.name == stu_name:
                print(f"姓名:{data.name},性别:{data.sex},年龄:{data.age}")

    # 显示信息
    def show_student(self):
        for data in self.student_list:
            print(f"姓名:{data.name},性别:{data.sex},年龄:{data.age}")

    # 保存信息 重要
    def save_student(self):
        for data in self.student_list:
            data_stu = f"姓名:{data.name},性别:{data.sex},年龄:{data.age}"
            with open("student.txt", "a", encoding="utf-8") as f:
                f.write(data_stu + "\n")

student

class Student():
    def __init__(self,name,sex,age):
        self.name = name
        self.sex = sex
        self.age = age


    def __str__(self):
        return f"姓名:{self.name}\t性别:{self.sex}\t年龄:{self.age}"




demo01

def fun1():
    print('demo01 fun1')


def fun2():
    print('demo01 fun2')

def fun1111111111111111111111():
    print('demo01 fun111111111111111111111111')

进程已结束,退出代码0

demo02

# import demo01

# from  demo01 import fun1
# from demo01 import *  # 导入所有的功能
# fun2()
# fun1111111111111111111111()

# fun1()

# import demo01 as d01
# d01.fun1()

# from demo01 import fun1111111111111111111111 as fun123
#
# fun123()


# def fun1():
#     print('demo02 fun1')


进程已结束,退出代码0

 json模块的处理

print()
"""
json.loads()            --> json转为字典(适用于语句)
json.dumps()         -->  字典转为json(适用于语句)

"""
import json
# a = "python"
# # print(a, type(a))
# b = {"city": "hunan"}
# # print(b, type(b))
# c = '{"city": "hunan"}'
# print(c, type(c))

# dict-->str
# 第一种方法
# res = str(b)
# print(res, type(res))  # {'name': '张三'} <class 'str'>
# # 第二种方法
# res = json.dumps(b)
# print(res, type(res))  # {"city": "hunan"} <class 'str'>
#
# # str -->dict
# data = '{"age":"18"}'
# print(data, type(data))
# # 第一种方法  报错
# # res = dict(data)   # 报错
# # print(res)
#
# # 第二种方法
# res = json.loads(data)
# print(res, type(res))
# #
# # # 怎么去拿到18
# print(res["age"])
# print(res.get("age"))


import json

data = {"name": "yueyue"}
# f = open("data.json", mode="w")
# f.write(data)  # must be str, not dict
# 写进去
# json.dump(data, f)  # 将字典转换成json文件 然后写入文件

# 读取文件
f = open("data.json", mode="r")
res = f.read()
print(type(res), res)
f.seek(0)
# # 运行下面之前先把上面的read注释掉  因为指针在最后面了 读取不了了 或者seek到0
j_data = json.load(f)  # 将json对象转换成字典
print(j_data)
print(type(j_data), j_data.get("name"))

Traceback (most recent call last):
  File "C:\Users\LENOVO\PycharmProjects\pythonProject\day13模块与包\json模块的处理.py", line 48, in <module>
    f = open("data.json", mode="r")
FileNotFoundError: [Errno 2] No such file or directory: 'data.json'

进程已结束,退出代码1

 作业

print()
"""
1、设计一个Circle类来表示圆,这个类包含圆的半径以及求周长和面积的函数。
再使用这个类创建半径为1~100的圆,并计算出相应的周长及面积。
"""
# class Circle:
#     def __init__(self, r):
#         self.r = r
#
#     def zhouchang(self):
#         print(f'半径为{self.r}圆的周长为{2 * 3.14 * self.r}')
#
#     def mianji(self):
#         print(f'半径为{self.r}圆的面积为{3.14 * self.r ** 2}')
#
#
# for r in range(1, 101):
#     asd = Circle(r)
#     asd.zhouchang()
#     asd.mianji()

"""
2、定义input_password函数,提示用户输入密码.
如果用户输入长度<8,主动抛出异常 提示(raise Exception("len too short!")) 
如果用户输入长度>=8,返回输入的密码
"""
def input_password(password):
    if len(password) < 8:
        raise Exception("len too short!")
    else:
        return f'你输入的密码为:{password}'

while True:
    try:
        password = input('请输入你的密码:')
        print(input_password(password))
    except Exception as e:
        print(e)
    else:
        break


请输入你的密码:666
len too short!
请输入你的密码:11111111111111
你输入的密码为:11111111111111

进程已结束,退出代码0

常用内置模块

import time

# print(1)
# time.sleep(0.31111)
# print(2)
# print(time.time())

# print(time.strftime("%Y-%m-%d %H:%M:%S"))
# import datetime
# print(datetime.datetime.now())

import random

# print(random.random() * 10)

# for i in range(100):
#     print(random.randint(1, 100))   # []

li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# print(random.choice(seq=li))
# print(li)
# print(li)
# random.shuffle(li)
# print(li)
# print(random.sample(li,6))

# for i in range(100):
#     print(random.randrange(1, 10, 2))

"""设置一个验证码 6位数
打印出 你的验证码为: xxxxxx

0123456789
"""
# print(random.randint(100000,999999))
# x = 0
# while x < 100:
#     result = ''
#     for i in range(6):
#         a = str(random.randint(0, 9))
#         result += a
#     print(result)
#     x += 1

li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
res = random.sample(li2, 6)
print(''.join([str(i) for i in res]))

543470

进程已结束,退出代码0

mypackage

__all__= ['module1']

module1

def printinfo1():
    print('printinfo1')

def printinfo11():
    print('printinfo11')

module2

def printinfo2():
    print('printinfo2')


def printinfo22():
    print('printinfo22')

packagetest

# import mypackage.module1
# mypackage.module1.printinfo1()
# mypackage.module1.printinfo11()

# import mypackage.module2
# mypackage.module2.printinfo2()
# mypackage.module2.printinfo22()

# from mypackage import module1,module2
# module1.printinfo1()
# module1.printinfo11()
# module2.printinfo2()
# module2.printinfo22()
#
# # 必须在`_init_.py`文件中添加__all__= [控制允许导入的模块列表]
# from mypackage import *   # 导入所有 可能会造成资源的浪费
# module1.printinfo1()
from module1 import printinfo1
printinfo1()

printinfo1

进程已结束,退出代码0

test 

{"name": "yueyue"}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值