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. 参数提取

  模拟参数设置

  

"""
参数提取
通过 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的更多相关文章

  1. Python函数讲解

    Python函数

  2. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  3. Python笔记-IO编程

    IO在计算机中是指input和output(数据输入与输出),涉及到数据交换(磁盘.网络)的地方就需要IO接口. 输入流input stream是指数据从外面(磁盘.网络服务器)流入内存:输出流out ...

  4. {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) 五 ...

  5. python函数基础(3)

    第1章 编码补充 1.1 字符编码对照表 1.2 编码特性 1.4 encode/decode第2章 集合 2.1 特点 2.2 [重点]作用:去重 2.3 常用操作 2.3.1 删除 2.3.2 交 ...

  6. python异步IO编程(一)

    python异步IO编程(一) 基础概念 协程:python  generator与coroutine 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio ...

  7. Python函数的默认参数的设计【原创】

    在Python教程里,针对默认参数,给了一个“重要警告”的例子: def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print( ...

  8. python异步IO编程(二)

    python异步IO编程(二) 目录 开门见山 Async IO设计模式 事件循环 asyncio 中的其他顶层函数 开门见山 下面我们用两个简单的例子来让你对异步IO有所了解 import asyn ...

  9. Python函数参数和注解是什么

    四种参数 Python函数func定义如下: def func(first, *args, second="Hello World", **kwargs): print(first ...

随机推荐

  1. 即时通讯App怎样才能火?背后的技术原理,可以从这5个角度切入

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 社交场景 ...

  2. Redis Cluster高可用集群在线迁移操作记录

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  3. js设计模式总结4

    链模式 链模式:通过在对象方法中将当前对象返回,实现对同一个对象多个方法的链式调用,从而简化多次调用该对象多个方法时的对该对象的多次引用. 具体不多说:主要是方法最后return this; 委托模式 ...

  4. 读jQuery源码释疑笔记2

    本释疑笔记是针对自己在看源码的过程中遇到的一些问题的解答,对大众可能不具有参考性,不过可以看看有没有你也不懂得地方,相互学习,相互进步. 1.函数init <div id="one&q ...

  5. syslog - 日志文件详解

    日志文件,是linux最为重要的记录文件,记录着日常的操作. 我们在linux编程的时候,通常会使用日志文件记录操作和信息,日志系统提供了我们几个API接口供调用 1. API void openlo ...

  6. JSON & Ajax

    Ajax是异步JavaScript和XML是用来在客户端作为一组相互关联的Web开发技术,以创建异步Web应用程序. Ajax模型,Web应用程序可以发送数据和检索数据从一个服务器,而不干扰现有的页面 ...

  7. [javaSE] 看知乎学习反射

    简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息. 知乎:学习java应该如何理解反射?   余晖: 反射提供了一种运 ...

  8. A simple problem(hdu2522)

      A simple problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. 【代码笔记】iOS-导航条的标题(label)

    一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...

  10. Ckeditor失去焦点前保留光标位置

    var $selection = CKEDITOR.instances.myEditor.getSelection();//当前选中区域 var $bookmarks = $selection.cre ...