[Python_3] Python 函数 & IO

[Python_3] Python 函数 & IO


 

0. 说明

  Python 函数 & IO 笔记,基于 Python 3.6.2

 

  参考

   Python: read(), readline()和readlines()使用方法及性能比较

   Python3 File(文件) 方法

   Python基础

   

 


1. 函数

 

# -*-coding:utf-8-*-

"""
    函数
"""

# 定义函数,有return语句,否则返回None
def add(a, b):
    # 有返回语句
    print("a : " + str(a))
    print("b : " + str(b))
    return a + b


print(add(2, 3))

"""
    定义函数,有return语句,否则返回None
    *a : 变长参数
    *args : 固定写法,表示当前位置上任何多个无名参数,它是一个tuple
    **kwargs: 固定写法,关键字参数,它是一个dict
    此种方式类似于Java 的反射中的 Method 类,能够提取函数的运行时信息。
"""


def f1(*a):
    for e in a:
        print(e)


# 调用函数,传递变长参数
f1((1, 2, 3, 4, 5))


def f2(a, b, c, *args):
    print(str(args))


f2(1, 2, 3, 4, 5)


def foo(x, *args, **kwargs):
    print('args=', args)
    print('kwargs=', kwargs)
    print('**********************')


foo(1, 2, 3, 4)
foo(1000, a=1, b=2, c=3)
foo(1, 2, a=4, b=5, c=100)

 


 

2. IO 

 

# -*-coding:utf-8-*-

"""
    IO
"""

"""
    文件读操作
"""
# 一次性读取所有行文件
f1 = open("e:/data.txt")
lines = f1.readlines()
for l in lines:
    print(l, end="")
f1.close()

# 每次读取下一行文件
print()
print("=============")
f2 = open("e:/data.txt")
while (True):
    # 读取第一行
    line = f2.readline()
    while line is not None and line != "":
        print(line, end="")
        # 读取下一行
        line = f2.readline()
    else:
        break
f2.close()


"""
    None,类似于 Java 中 null 的表示不存在。
"""
x = None
print(x)


""""
    文件写操作
    写入文件 mode=r | wa |
    w : overwrite 覆盖模式
    a : append 追加模式
"""
f = open("e:/data2.txt", mode="a")
f.write("i am panda")
f.close()


"""
    文件重命名
    源文件必须存在
"""
import os
os.renames("e:/data2.txt", "e:/data3.txt")

"""
    删除文件
"""
import os
os.remove("e:/data3.txt")

"""
    创建 & 删除空目录
"""
import os
# os.mkdir("e:/testdir")
os.removedirs("e:/testdir")

"""
    列出目录的元素
"""
import os
files = os.listdir("d:/")
for i in files:
    print(i)

 


 

3. 主函数运行 

# -*-coding:utf-8-*-

"""
    导入 Python 模块,每个 Python 文件就是一个模块
    判断当前文件是否直接运行,还是被其他引用
    直接运行的时候值为"__main__"
"""
import test6_function
test6_function.add(1, 2)
print(__name__)

if __name__ == "__main__":
    print(100)

 


 

4. 参数提取 

  模拟参数设置

  [Python_3] Python 函数 & IO

 

"""
    参数提取
    通过 sys 的 argv 属性提取参数列表
"""
# 提取脚本的参数
import sys

r = sys.argv
print(r[0])
print(r[1])

 

  结果如下,第一个参数为脚本

[Python_3] Python 函数 & IO

 


 

5. 反射访问 

"""
    反射访问
"""
s = "xxx"
s.__len__()
# 返回对象的指定属性,没有的话,可以指定默认值
r1 = getattr(s, "len", "no this attr")
r2 = getattr(s, "__len__", "no this attr")
print(r1)
print(r2)

 


 

6. 日期函数 

"""
    时间函数
"""
# 导入时间库
import datetime
datetime.datetime.now()
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))

 

 


 

转载于:https://www.cnblogs.com/share23/p/9821041.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101360.html原文链接:https://javaforall.net

(0)
上一篇 2021年6月15日 上午9:00
下一篇 2021年6月15日 上午10:00


相关推荐

  • 直读光谱仪分析谱线_频谱分析仪主要有哪几种

    直读光谱仪分析谱线_频谱分析仪主要有哪几种为什么使用频谱仪?01认识频谱电磁频谱,是指按电磁波波长(或频率)连续排列的电磁波族,是一种看不见摸不着但时刻伴随我们的东西。当我们使用电磁波将一串信息发送出去时,在时域上他是一段强度不同,疏密变化的时间信号,在其中的任意时刻,你所能获取的只有他的强度;当我们换个角度,站在频域上来看时,在信号的每一个时刻,你都能看到他从时域的一个点延展成了频域的一个面,你所能获取到的信息量将成倍增加,这有助于我们从中解析出更丰富的内容。因此,电磁频谱的观测,或者说使用频谱仪,我们实际上是换一…

    2022年8月11日
    6
  • redisson读写锁使用场景_Redisson酒店

    redisson读写锁使用场景_Redisson酒店读写锁一次只有一个线程可以占有写模式的读写锁,但是可以有多个线程同时占有读模式的读写锁.正是因为这个特性,当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞.当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是如果线程希望以写模式对此锁进行加锁,它必须直到所有的线程释放锁.通常,当读写锁处于读模式锁住状态时,如果有另外线程试图以写模式加锁,读写锁通常会阻塞随后的读模式锁请求,这样可以避免读模式锁长期占用,而等待的写模式

    2022年8月12日
    8
  • DeepSeek-OCR本地部署教程:DeepSeek突破性开创上下文光学压缩,10倍效率重构文本处理范式 – 教程

    DeepSeek-OCR本地部署教程:DeepSeek突破性开创上下文光学压缩,10倍效率重构文本处理范式 – 教程

    2026年3月16日
    2
  • 非禁用validateRequest=false使用Page_Error()错误处理

    非禁用validateRequest=false使用Page_Error()错误处理ASP.Net1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面:以下是引用片段:ServerErrorin”/YourApplicationPath”Applicat

    2022年6月7日
    35
  • MySQL基础day06_mysql服务器的主从同步-MySQL 5.6

    MySQL基础day06_mysql服务器的主从同步-MySQL 5.6mysql 服务器的主从同步实例环境 server1192 168 1 200server219 168 1 110 环境部署 1 首先保证服务器在同一个网段 能够互相连通 2 确保防火墙 selinux 关闭 root server1 iptables F 清空防火墙列表 root s

    2026年3月26日
    2
  • mbus水表方案_水表安装合同模板

    mbus水表方案_水表安装合同模板MBUS水表协议2400!!8E1???偶校验???NOCTS/RTS1.查询水表地址FEFEFE68AAAAAAAAAAAAAAAA0303810A004916起始A0……………A6CTR_0DI0DI1CSFEFEFE68AAAAAAAAAAAAAAAA0303810A004916T

    2022年10月10日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号