Python知识第十二天分享

假设有一个文件 num.txt,里面存储了如下的一些数字,内容如下:

10

18

30

11

12

15

编写一个 python 程序,读取文件中的内容,存储成 python 中的列表形式:

python 复制代码
sum = 0
with open('./num.txt', 'r') as nu_f:
    list1 = nu_f.read().strip()
    print(list1)
    list2 = list(list1.split('\n'))
    print(list2)
    for i in list2:
        sum += int(i)
    print(sum)

假设有一个 python 字典如下:

user_dict = {'name': 'smart', 'age': 18, 'tel': '13888888888'}

编写一个 python 程序,将字典的数据写入一个 user.txt 文件中,写入格式如下:

name: smart

age: 18

tel: 13888888888

python 复制代码
user_dict = {'name': 'smart', 'age': 18, 'tel': '13888888888'}


with open('./user.txt', 'w') as user_f:
    for key, value in user_dict.items():
        line = key+':'+str(value)+'\n'
        user_f.write(line)
print('写入完毕')

下面有一个字符串:

str1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'

#编写一个程序,从上面的字符串中随机取出4个字符,生成一个模拟验证码字符串,比如:'a01V'

import random

python 复制代码
str1 = ''.join(random.choices(str1, k=4))
print(str1)

Python导入模块方式讲解

"""

Python导入模块介绍

概述

在Python语言中 一个.py文件就可看做一个模块 模块中可以写 变量 函数 类...

导入模块的几种写法:

import 模块名

必须通过 模块名.功能名()的方式调用功能 可以使用当前模块中所有函数

import 模块名 as 别名

必须通过 别名.功能名()来来调用 可以使用当前模块中的所有函数

from 模块名 import 功能名

可以通过功能名() 的方式 直接使用该模块的指定功能 但是 只能使用该功能

from 模块名 import 功能名 as 别名

可以通过 别名() 的方式直接使用该模块的指定功能 但是 只能使用该功能

from 模块名 import *

可以通过 功能名() 的方式 直接使用该模块的功能 能使用该模块的所有功能

"""

需求 演示导入time 模块的time() ,sleep() 函数的使用

演示

导入模块的方式值 import 模块名 必须通过 模块名.功能名() 的当时来调用次功能

python 复制代码
import time
#
print(time.time())
time.sleep(3)  # 休眠单位是S
#
import time as t

print(t.time())
t.sleep(3)

# 演示导入模块的方式之from 模块名 inport 功能名
from time import sleep, time
print(time())
sleep(3)
#
# # 演示导入模块之 from模块名之 from 模块名 import 功能名 as 别名
from time import time as t, sleep as s
s(3)
print(t())
#
# # 演示 导入模块之from 模块名 import *
from time import *
print(time())
sleep(3)

自定义模块介绍

自定义模块的调用

_name_属性:

它是一个内置的属性 任何的.py文件(模块)都默认有

在当前模块中 打印的是 main

在调用者的模块中 打印的是: 被调用模块的名字

python 复制代码
创建
my_model1.py
功能名
即是函数


def func1():
    print('我是my_module模块的func1函数')


def func2():
    print('我是 my_module1de模块的fun2函数 ')


# main函数 程序的主入口
if __name__ == '__main__':  # 在当前模块执行
    print('我是测试代码 start-----')
    func1()
    func2()
    print('我是测试代码 end-------')
    print(f'_name_属性的值是: {__name__}')

# 自定义 my_module2模块的内容
import my_model1

# 调用功能
my_model1.fun1()
my_model1.fun2()

# 包详解  包的下边有init.py
自定义my_package包
创建
my_module1模块
并在其内部定义
method1()
和method2()
功能函数
创建my_module2模块
在其内部定义
method1()
和method2()
功能函数
# init.py 文件的内容
# __all__ = []   #默认情况是 空

# __all__属性 只针对于 from 包名 import * 导入方式有效
__all__ = ['my_model1', 'my_model2']

"""

包 解释:

概述:

从物理上看 包就是一个文件夹 有多个模块和 init.py (初始化文件组成)

从逻辑上看 包 = 模块的一种 也可以通过 import 或者 from ... import ...的方式 导入

作用: 对 模块(.py)文件进行 分类管理

实际开发中 我们会有很多模块

通过包 可以实现对模块的分类管理 把类似的模块(.py文件) 放到同一个包下即可

"""

演示 调用

python 复制代码
# 演示 调用
# 创建
my_package包
包中有
my_module1和my_module2
两个模块
模块分别有自己的功能
导包的方式1:
import 包名.模块名
import my_package.module1
import my_package.module2

通过包名.模块名.功能名()
调用
my_package.my_module1.method1
my_package.my_module1.method2

my_package.my_module2.method1
my_package.my_module2.method2

# 导包方式
from 包名 import 模块名

可以通过
模块名.功能名()
直接调用
from my_package import my_module1
from my_package import my_module1, my_module2

from my_package import *

这种方式只会导入
__init__.py文件中的
__all__属性后边写的模块名
例如
__all__ = ['my_module1', 'my_module2']
my_module1.method1()
my_module1.method2()

匿名函数解释

入门案例

"""

回顾 函数的定义格式

def 函数名(形参列表):

函数体

return 具体的返回值

复制代码
匿名函数的介绍:
    概述:
        就是没有名字的函数
    格式:
        lambda 形参列表:函数体
    细节:
        lambda  关键字 照抄就行
        形参列表    和我们定义函数时写的形参列表一直 需要什么参数就写什么
        函数体 和我们之前一样 但是只能写成一行  就是只能单行 且可省略
    return,因为执行结果会自动返回

"""

python 复制代码
# 例如自定义函数 用于实现计算两个整数和
my_sum = lambda a, b: a + b
print(my_sum(10, 80))

# 计算两个整数的最大值
get_max = lambda a, b: a if a > b else b

print(get_max(12, 14))


# 自定义代码 模拟计算器 用户传入什么逻辑就计算什么方
def my_calculate(a, b, func):
    return func(a, b)


print(my_calculate(10, 32, lambda a, b: a + b))
print(my_calculate(10, 32, lambda a, b: a - b))
print(my_calculate(10, 32, lambda a, b: a * b))
print(my_calculate(10, 32, lambda a, b: a // b))
print(my_calculate(10, 32, lambda a, b: a ** b))
print(my_calculate(10, 32, lambda a, b: a if a > b else b))
print(my_calculate(10, 32, lambda a, b: a if a < b else b))

坚持分享 共同进步 手敲 如有错误 欢迎指出

相关推荐
珺毅同学5 小时前
YOLO生成预测json标签迁移问题
python·yolo·json
骑士雄师5 小时前
18.4 长期记忆可修改版
python
~小先生~5 小时前
Python从入门到放弃(一)
开发语言·python
天佑木枫5 小时前
第2天:变量与数据类型 —— 让程序记住信息
python
Dust-Chasing6 小时前
Claude Code源码剖析 - Claude Code 上下文压缩机制
人工智能·python·ai
Cloud_Shy6187 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法
abcy0712138 小时前
python pandas csv异步后台清洗前端优先返回成功信息
前端·python·pandas
颜酱8 小时前
LangChain使用RAG 入门:让大模型读懂你的私有文档
python·langchain
天天进步20159 小时前
Python全栈项目--校园智能宿舍管理系统
开发语言·python
测试员周周9 小时前
【AI测试智能体-面试】AI测试面试60题(附回答思路)
人工智能·python·功能测试·测试工具·单元测试·自动化·测试用例