从零开始的python学习生活1

python函数的对返回值

本来多个return是不行的

这种语法就能接受多个返回值

python 复制代码
def hanshu():
    return 1,"hello",True
x,y,z = hanshu()
print(x)
print(y)
print(z)

函数的多种传参方式



提前说明白了顺序就无所谓了



关键字传递一个传递参数,一个传递键值对,都是可以传递很多个的

python 复制代码
def user(name,age,gender):
    print(f"姓名是{name},年龄是{age},性别是{gender}")
# 位置传参
user("刘承",22,"女")
# 关键字传参,可以不按照顺序去传参
user(age=22,gender="女",name="雪dis")
# 缺省参数(默认值)在函数定义的时候就定义默认值了,而且设置的默认值一定要在最后,不管有几个都是在最后
def userinfo(name,age,gender="男"):
    print(f"姓名是{name},年龄是{age},性别是{gender}")

userinfo("liihua",22)
# 不定长-位置不定长,*号(应该是元组)
def user_info(*args):
    print(args)

user_info("haha")
user_info("haha",23)
# 不定长-关键字不定长,**号(转换为字典)
def user_infos(**kwargs):
    print(kwargs)

user_infos(name="lch",age=22,gender="女")


匿名函数

函数作为参数被其他的函数调用

python 复制代码
def computer(x,y):
    return x+y
def output(computer):
    result=computer(1,2)
    print(result)
output(computer)

它行倒是行,但是没懂有啥意义

这个是逻辑的传递,不是数据的传递

python 复制代码
# 定义一个函数,接受另一个函数作为传入参数
def diaoyong(computer):
    result=computer(1,2)
    print(f"computer参数的类型是{type(computer)}")
    print(f"计算结果是{result}")
# 定义一个函数,准备作为参数传入另一个函数
def computer(x,y):
    return x+y
# 调用,并传入函数
diaoyong(computer)

好吧,多少懂一点了,好处估计是确定了函数名和input之后,函数里面具体怎么算就不管了
lambda匿名函数


lambda匿名函数一次性的

python 复制代码
# 定义一个函数,接受其他函数输入
def diaoyong(computer):
    result=computer(1,2)
    print(f"结果是{result}")

# 通过lambda匿名函数的形式,将匿名函数作为参数传入
# 冒号前面是lambda匿名函数的传入参数,后面是函数体,在里面进行具体的操作
diaoyong(lambda x,y:x+y)

文件编码

将我们的文件转换为0,1然后进行存储

每一个字符都有各自的翻译规则对应

文件的读取操作

打开,关闭,读,写







单独牌面,以后都这么写,免得忘了

python 复制代码
# 打开文件
import time

f=open("D:/测试.txt","r",encoding="utf-8")
print(type(f))
# 读取文件-read()多次调用read,记录上次读到的地方,继续读取
# print(f"读取10个字节的结果:{f.read(10)}")
# print(f"读取全部的结果:{f.read()}")

# 读取文件-readLines()
# lines=f.readlines()
# print(f"lines对象的类型是{type(lines)}")
# print(f"lines对象的内容是{lines}")
# line1=f.readline()
# line2=f.readline()
# line3=f.readline()
# print(f"第一行数据:{line1}")
# print(f"第二行数据:{line2}")
# print(f"第三行数据:{line3}")
# for循环读取文件行
for line in f:
    print(line)
# 文件的关闭
time.sleep(500)
# 上面的是睡眠
f.close()
# with open 语法操作文件
with open("D:/测试.txt","r",encoding="utf-8") as f:
    for line in f:
        print(line)
time.sleep(500)

文件读取课后题练习

python 复制代码
with open("D:/测试.txt","r",encoding="utf-8") as f:
    count=0
    for line in f:
        line = line.split()
        for word in line:
            if word=="itheima":
                count+=1
        # print(line)
        # print("\n")
    print(count)
        # 能看出来是字符串形式,那我们就可以以字符串的手段来处理了
        # print(f"{type(line)}")


恩,就是6个
老师的方法:

python 复制代码
with open("D:/测试.txt","r",encoding="utf-8") as f:
    content = f.read()
    count=content.count("itheima")
    print(count)

f.close()

我滴个乖乖,这显得我很若只

相关推荐
AI创界者1 分钟前
Python 进阶实战(十八):API 网关安全与异步鉴权中间件 —— 基于 AsyncIO 的 JWT 零拷贝验权与动态黑名单过滤
人工智能·python·aigc
corey937 分钟前
Linux 学习 - 第十四周作业
linux·运维·学习
前端精髓10 分钟前
学会调用Qwen3.7-通用文本向量
python
第九序言T9 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路9 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003969 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_9 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
徐征6399 小时前
邮件安全防护体系技术拆解:从入口过滤到大模型研判的检测流水线 北京方向标
web3·生活
quantdash_cc11 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl11 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计