[Python_3] Python 函数 & IO
0. 说明
Python 函数 & IO 笔记,基于 Python 3.6.2
参考
Python: read(), readline()和readlines()使用方法及性能比较
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. 参数提取
模拟参数设置

"""
参数提取
通过 sys 的 argv 属性提取参数列表
"""
# 提取脚本的参数
import sys r = sys.argv
print(r[0])
print(r[1])
结果如下,第一个参数为脚本

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"))
[Python_3] Python 函数 & IO的更多相关文章
- Python函数讲解
Python函数
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Python笔记-IO编程
IO在计算机中是指input和output(数据输入与输出),涉及到数据交换(磁盘.网络)的地方就需要IO接口. 输入流input stream是指数据从外面(磁盘.网络服务器)流入内存:输出流out ...
- {python之IO多路复用} IO模型介绍 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 异步IO(Asynchronous I/O) IO模型比较分析 selectors模块
python之IO多路复用 阅读目录 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 ...
- python函数基础(3)
第1章 编码补充 1.1 字符编码对照表 1.2 编码特性 1.4 encode/decode第2章 集合 2.1 特点 2.2 [重点]作用:去重 2.3 常用操作 2.3.1 删除 2.3.2 交 ...
- python异步IO编程(一)
python异步IO编程(一) 基础概念 协程:python generator与coroutine 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio ...
- Python函数的默认参数的设计【原创】
在Python教程里,针对默认参数,给了一个“重要警告”的例子: def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print( ...
- python异步IO编程(二)
python异步IO编程(二) 目录 开门见山 Async IO设计模式 事件循环 asyncio 中的其他顶层函数 开门见山 下面我们用两个简单的例子来让你对异步IO有所了解 import asyn ...
- Python函数参数和注解是什么
四种参数 Python函数func定义如下: def func(first, *args, second="Hello World", **kwargs): print(first ...
随机推荐
- Python制作回合制手游外挂简单教程(上)
引入: 每次玩回合制游戏的时候,反反复复的日常任务让人不胜其烦 玩问道的时候,我们希望能够自动刷道,玩梦幻希望能自动做师门.捉鬼等等 说明: 该外挂只能模拟鼠标键盘操作,并不能修改游戏数据 我这里使用 ...
- SqlServer 使用sys.dm_tran_locks处理死锁问题
1.模拟资源锁定 --开始事务BEGIN TRANSACTION--更新数据update Table_1 set FuncName=FuncName--等待1分钟WAITFOR DELAY '01:0 ...
- oracle 备份数据库,导出数据库
导出数据库 exp hljslfh2/hljslfh@dbsvr file=d:\hljslfh2Of0426.dmp 导入数据库 imp hljslfh2/hljslfh@localhost/dbs ...
- eclipse设置成保护眼的背景色
长时间的使用eclipse开发会很累吧 设置一个保护眼睛的豆沙绿色 不刺眼 是不是会更好一些呢 那么如何设置呢现在就教大家 工具/原料 eclipse jdk 方法/步骤 首先打开eclipse ...
- hdu1072(Nightmare)bfs
Nightmare Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- RocketMQ 概述
Rocket 火箭 MQ的作用:同步转异步(异步解耦). 难点:如何确保消息一定被消费,而且仅消费一次. 1.消息架构:生产者.服务器.消费者.路由发现. 2.消息顺序:严格按照消息到达服务器的顺序进 ...
- 解决访问 jar 包里面的字体报错:OTS parsing error: incorrect file size in WOFF header
前言:jar 包里面的字体加载,浏览器 console 中报警告信息,这里记录一下解决方案. 附:自己的一个 jar 包源码 https://github.com/yuleGH/querydb 错误问 ...
- Three.js开发指南---使用高级几何体和二元操作(第六章)
本章的主要内容: 一,高级几何体-凸面体ConvexGeometry,扫描体LatheGeometry,管状几何体TubeGeometry: 二,使用拉伸几何体ExtrudeGeometry将一个二维 ...
- 大数据java基础day01
day01笔记 1.==操作符和equals方法 equals方法存在于Object类中,所有类的equals方法都继承于Object 2.String类的常用方法 ①.replace()替换字符串 ...
- cmd--命令短集
查看ip地址:ipconfig 查看ip地址:ipconfig/all 进入c盘program files目录下:cd %Program Files%,”x:“, 进入x盘根目录.cd “ ”进入某文 ...