• python 函数操作


    四、函数

    定义:
    
    	#!/usr/local/env python3
    	'''
    	Author:@南非波波
    	Blog:http://www.cnblogs.com/songqingbo/
    	E-mail:qingbo.song@gmail.com
    	'''
    	#定义函数,作用打印一个值
    	def num_print():
    	    n = 456
    	    n += 1
    	    print(n)
    使用:
    	
    	#函数调用
    	num_print()
    	#将f变量指向函数num_print,然后调用f()相当于调用num_print()
    	f = num_print
    	f()
    

    参数

    形参:函数中一个变量,在函数执行前无意义,在函数调用时必须指定实际参数。
    实参:实际参数用户传递给所调用的函数的一个变量,其值赋值到函数中的形式参数,然后在函数中   	作为变量参与函数执行
    默认参数:必须放在最后
    	def show(a1,a2,a3 = 5):
    	    print(a1,a2,a3)
    	show("wu","ha")
    	#返回结果:wu ha 5
    	
    指定参数:
    	def show(a1,a2):
    		print(a1,a2)
    	show(a2=52,a1=8)
    	#返回结果:8 52
    
    动态参数:
    	*arg --序列:自动转换成一个元组
    		def show(*arg):
    		    print(arg,type(arg))
    		show(23,45,67)
    		#返回结果:(23, 45, 67) <class 'tuple'>
    		#or
    		l = [23,45,67]
    		show(*l)
    		#返回结果:(23, 45, 67) <class 'tuple'>
    
    	**arg --字典:自动转换成一个字典
    		#默认字典处理
    		def show(**arg):
    		    print(arg,type(arg))
    		show(name1='swht',name2='shen')
    		#返回结果:{'name1': 'swht', 'name2': 'shen'} <class 'dict'>
    		#or
    		d = {"name1"="swht","name2"="shen"}
    		show(**d)
    		#返回结果:{'name1': 'swht', 'name2': 'shen'} <class 'dict'>
    
    	*arg,**kwarges --序列和字典
    		def show(*args,**kwargs):
    		    print(args,type(args),'
    ',kwargs,type(kwargs))
    		show(23,45,67,82,name1='swht',name2='shen')
    		#返回结果:(23, 45, 67, 82) <class 'tuple'> 
    				  {'name2': 'shen', 'name1': 'swht'} <class 'dict'>		
    		注意:使用*arg,**kwarges组合参数,必须是*arg在前,**kwarges在后,否则系统报错;另外实参在输入的时候也应该是按照上述顺序。
    

    拓展:

    	def show(*args,**kwargs):
    	    print(args,type(args),'
    ',kwargs,type(kwargs))
    	l = [23,45,67,82]
    	d = {'name1':'swht','name2':'shen'}
    	show(l,d)
    	#返回结果:
    	([23, 45, 67, 82], {'name1': 'swht', 'name2': 'shen'}) <class 'tuple'> 
    	{} <class 'dict'>
    
    	def show(*args,**kwargs):
    	    print(args,type(args),'
    ',kwargs,type(kwargs))
    	l = [23,45,67,82]
    	d = {'name1':'swht','name2':'shen'}
    	show(*l,**d)
    	#返回结果:
    	(23, 45, 67, 82) <class 'tuple'> 
    	{'name2': 'shen', 'name1': 'swht'} <class 'dict'>
    
    	总结:
    		函数可以传递元组、列表、字典等类型的值,由于带'*'、'**'的参数允许传入多个参数,所以在调用函数的时候默认将传入的参数识别到第一个*args。为了指定将参数传给某个args,这里需要对实参进行加'*'进行标识。
    
    	#list
    	show = "Welcome to {0},there have too many {1}!"
    	# reault = show.format("China","Foods")
    	l = ["China","Foods"]
    	reault = show.format(*l)
    	print(reault)
    	#返回结果:Welcome to China,there have too many Foods!
    
    	#dict
    	show = "{name} is a {acter}!"
    	# reault = show.format(name='swht',acter='teacher')
    	d = {'name':'swht','acter':'teacher'}
    	reault = show.format(**d)
    	print(reault)
    	#返回结果:swht is a teacher!
    

    lambda表达式

    	功能:简单函数的表示方式
    	func = lambda a:a+1
    	函数名  关键字 形参:函数体
    	创建形式参数a,函数内容为a+1,并将结果return
    测试代码:
    	f = lambda x:x + 1
    	ret = f(4)
    	print(ret)
    

    内置函数

    abs()

    	功能:取绝对值
    	>>> abs(5)
    	5
    	>>> abs(-85)
    	85
    

    all(iterable)

    	功能:iterable所有的元素都为真,返回True,否则返回False
    	备注:为False的元素:0、''、False或者空,其他的为True
    	参数:iterable为可迭代对象
    	all的功能可以使用下面的函数进行理解:
    		def all(iterable):
    	    for element in iterable:
    	        if not element:
    	            return False
    	    return True
    	测试代码:
    		all('test,hh')
    		返回值为:True
    		>>> all(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
    		True
    		>>> all(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
    		False
    		>>> all([0, 1,2, 3])  #列表list,存在一个为0的元素
    		False			  
    		>>> all(('a', 'b', 'c', 'd'))  #元组tuple,元素都不为空或0
    		True
    		>>> all(('a', 'b', '', 'd'))  #元组tuple,存在一个为空的元素
    		False
    		>>> all((0, 1,2, 3))  #元组tuple,存在一个为0的元素
    		False
    		>>> all([]) # 空列表
    		True
    		>>> all(()) # 空元组
    		True	
    

    any(iterable)

    	功能:iterable中元素只要有一个元素为真,则返回True,否则返回False(即iterable中所有的元素为假才会返回False)
    	参数:iterable为可迭代对象
    	any的功能可以使用下面的函数进行理解:
    	def any(iterable):
    	   for element in iterable:
    	       if  element:
    	           return False
    	   return True
    	测试代码:
    		>>> any([0,1,2,3]) #列表中仅有一个元素0为假,返回True
    		True
    		>>> any([' ', '  ', '', 0])
    		True
    		>>> any([0]) #列表中元素只有一个元素0,返回False
    		False
    		>>> any([0,''])
    		False
    		>>> any([0,'',4])
    		True	
    		>>> any(('a', 'b', 'c', 'd'))  #元组tuple,元素都不为空或0
    		True
    		>>> any(('a', 'b', '', 'd'))  #元组tuple,存在一个为空的元素
    		True
    		>>> any((0, '', False))  #元组tuple,元素全为0,'',false
    		False
    		>>> any([]) # 空列表
    		False
    		>>> any(()) # 空元组
    		False
    

    map(iterable)

    	功能:对可迭代函数'iterable'中的每一个元素应用‘function’方法,将结果作为list返回
    	参考链接:http://segmentfault.com/a/1190000000322433
    	测试代码:
    		def add_100(num):
    		    return num + 100
    		li1 = [25,26,27]
    		ret = list(map(add_100,li1))
    		print(ret)
    		返回结果:[125, 126, 127]
    


    	python2.7								python3.5
    	两个版本的对比,真是让人感到诧异,python3上执行map明明已经获取了值,但非得加个list进行展示,超乎寻常。
    
    	def abc(a,b,c):
    	    return a*1000 + b*100 + c*10
    	
    	list1 = [11,22,33]
    	list2 = [44,55,66]
    	list3 = [77,88,99]
    	ret = list(map(abc,list1,list2,list3))
    	print(ret) #返回结果 [16170, 28380, 40590]
    

    ascii(object)

    	功能:该函数与python2中的repr()函数一样,返回一个可打印的对象字符串。当遇到非ascii码时,就会输出x,u或U等字符来表示。例如:ascii(4) = int.__repr__(4) = repr(4)等号两边的方式是对等的。
    	测试代码:
    		>>> ascii(54)
    		'54'
    		>>> ascii('o')
    		"'o'"
    		>>> type(ascii(54))
    		<class 'str'>	
    		>>> print(ascii(10), ascii(9000000), ascii('b31'), ascii('0x1000'))
    			10 9000000 'bx19' '0x@0'
    

    bin()

    	功能:将整数转换为二进制字符串
    	>>> bin(56)
    	'0b111000'
    	>>> bin(100)
    	'0b1100100'
    	注意:如果bin()函数的实际参数不是一个整数,则该该实参(由类创建的对象)返回值必须是整数型
    	如:
    	>>> class myType:
    	...     def __index__(self):
    	...             return 56
    	...
    	>>> myvar = myType()
    	>>> bin(myvar)
    	'0b111000'
    

    bool()

    	功能:获取对象的bool值
    	bool(0) #False
    	bool(5) #True
    	bool('') #False
    	#为假的元素:0 none 空列表 空字典 空元组 空字符串
    

    bytearray()

    	功能:转成字符字典。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。
    	>>> a = bytearray([5,8])
    	>>> a[0]
    	5
    	>>> a[1]
    	8
    	>>> a
    	bytearray(b'x05x08')
    

    bytes()

    	功能:返回一个新的数组对象,这个数组不能对数组元素进行修改,每个元素的取值范围为[0 ,255]
    	测试代码:
    	bytes(iterable_of_ints) 
    		>>> b = bytes((5,8,6,8))
    		>>> print(b)
    		b'x05x08x06x08'
    	bytes(string, encoding[, errors]) 	
    		>>> bytes('sdjsd',encoding='utf-8')
    		b'sdjsd'
    	bytes(bytes_or_buffer)  ?
    	bytes(int) 
    		>>> bytes(5)
    		b'x00x00x00x00x00'
    	bytes()  
    		>>> bytes()
    		b''
    
    总结:(参考:http://blog.csdn.net/caimouse/article/details/40860827)
    	bytes函数与bytearray函数主要区别是bytes函数产生的对象的元素不能修改,而bytearray函数产生的对象的元素可以修改。因此,除了可修改的对象函数跟bytearray函数不一样之外,其它使用方法全部是相同的。最后它的参数定义方式也与bytearray函数是一样的。
    

    callable()

    	功能:判断函数或者对象是否可执行
    	>>> callable(5)
    	False
    	>>> callable(0)
    	False
    	>>> callable('')
    	False
    	>>> callable(int())
    	False
    	>>> callable(lambda x:x+1)
    	True
    

    chr()

    功能:参数为一个整型数字,返回值对应ASCII码的字符
    >>> chr(5)
    'x05'
    >>> chr(115)
    's'
    >>> chr(56)
    '8'
    

    ord()

    功能:返回一个字符的ASCII码值
    >>> ord('s')
    115
    >>> ord('5')
    53
    

    classmethod()

    功能:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法
    	>>> class C: #定义一个类
    	...     @classmethod  #声明为类方法,不经过实例化就可以直接调用
    	...     def f(self): #定义一个函数(类的方法)
    	...             print "This is a class method"
    	...
    	>>> C.f()  #通过类调用函数
    	This is a class method
    	>>> c = C()
    	>>> c.f()
    	This is a class method
    	>>> class D:
    	...     def f(self):
    	...             print " This is not a class method "
    	...
    	>>> D.f()  #没有经过@classmethod 声明的类方法,必须经过实例化才能被调用
    	Traceback (most recent call last):
    	  File "<stdin>", line 1, in <module>
    	TypeError: unbound method f() must be called with D instance as first argument (got nothing instead)
    	>>> d = D()
    	>>> d.f()
    	This is not a class method
    

    staticmethod()

    	功能:类的静态方法,只能在类内部使用。经过静态类方法声明的类,在调用的时候不需要进行实例化
    
    总结:对比classmethod()和staticmethod()
    
    	静态方法:@staticmethod()
    		class Foo(object):
    		    str = "I'm a static method."
    		    def bar():
    		        print(Foo.str)
    		    bar = staticmethod(bar)
    		    
    		Foo.bar()
    	返回结果:I'm a static method. 
    
    	类方法:@classmethod()
    		class Foo(object):
    		    str = "I'm a static method."
    		    def bar(cls):
    		        print(cls.str)
    		    bar = classmethod(bar)
    		Foo.bar()
    	返回结果:I'm a static method. 
    较简单的操作代码:
    
    	静态方法:@staticmethod()
    		class Foo:
    		    str = "I'm a static method."
    		    @staticmethod
    		    def bar():
    		        print(Foo.str)
    		Foo.bar() 
    	返回结果:I'm a static method. 
    
    	类方法:@classmethod()
    		class Foo:
    		    str = "I'm a static method."
    		    @classmethod
    		    def bar(cls):
    		        print(cls.str )
    		Foo.bar()
    	返回结果:I'm a static method.
    

    compile()、eval()、exec()

    	功能:compile语句是从type类型中将str里面的语句创建成代码对象。
    		compile语句的目的是提供一次性的字节码编译,就不用在以后的每次调用中重新进行编译了
    	语法:compile( str, file, type )
    		eveal_code = compile('1+2','','eval')
    		>>>eveal_code
    		返回结果:<code object <module> at 0x01555D40, file "", line 1>
    		>>>eval(eveal_code)
    		返回结果:3
    
    		single_code = compile( 'print("apicloud.com")', '', 'single' )
    		>>> single_code
    		返回结果:<code object <module> at 0x01555B10, file "", line 1>
    		>>> exec(single_code)
    		返回结果:apicloud.com
    

    complex()

    	功能:创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
    	参数real: int, long, float或字符串;
    	参数imag: int, long, float
    	>>>complex()
    	0j
    	#数字
    	>>> complex(1,2)
    	(1+2j)
    	#当做字符串处理
    	>>> complex('1')
    	(1+0j)
    	#注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
    	>>> complex('1+2j')
    	(1+2j)
    

    delattr()

    	参考链接:http://www.cnblogs.com/zhangjing0502/archive/2012/05/16/2503702.html
    	功能:删除object对象名为name的属性
    	语法:delattr(object,name) 
    	参数object:对象。
    	参数name:属性名称字符串。
    
    	>>> class Person:
    	...     def __init__(self, name, age):
    	...             self.name = name
    	...             self.age = age
    	...
    	>>> tom = Person("Tom", 35)
    	>>> dir(tom)
    	['__doc__', '__init__', '__module__', 'age', 'name']
    	>>> delattr(tom, "age")
    	>>> dir(tom)
    	['__doc__', '__init__', '__module__', 'name']
    

    getattr()

    	功能:用于返回一个对象属性,或者方法
    	class A:   
    	    def __init__(self):   
    	        self.name = 'zhangjing'  
    	    #self.age='24'
    	    def method(self):   
    	        print("method print")  
    	  
    	Instance = A()   
    	print(getattr(Instance , 'name', 'not find')) #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find'
    	print(getattr(Instance , 'age', 'not find'))  #如果Instance 对象中有属性age则打印self.age的值,否则打印'not find'
    	print(getattr(a, 'method', 'default'))  
    	#如果有方法method,否则打印其地址,否则打印default   
    	print(getattr(a, 'method', 'default')()) 
    	#如果有方法method,运行函数并打印None否则打印default
    
    	li=["swht","shen"]
    	getattr(li,"pop")
    	返回结果:<built-in method pop of list object at 0x01AFDA80>
    

    setattr()

    	功能:参数是一个对象,一个字符串和一个任意值。字符串可能会列出一个现有的属性或一个新的属性。这个函数将值赋给属性的。该对象允许它提供。
    	语法:setattr(object, name, value)	
    	setattr(x,“foobar”,123)相当于x.foobar = 123
    

    hasattr()

    	功能:用于确定一个对象是否具有某个属性
    	语法:hasattr(object, name) -> bool
    		判断object中是否有name属性,返回一个布尔值
    	li=["swht","shen"]
    	hasattr(li,'append')
    	返回结果:True
    

    dict()

    	功能:字典定义函数,可以创建一个字典,也可以将其他类型(列表、元组、字符串)转换成字典类型
    	定义:
    		dict1 = dict(one = 1, two = 2, a = 3)
    		prin(dict1)
    		{'one': 1, 'a': 3, 'two': 2}
    	类型转换:
    		list1 = ['name','age',]
    		list2 = ['swht',18]
    		dict(zip(list1,list2))
    		返回结果:{'name': 'swht', 'age': 18}
    
    		new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
    		dict(new_list)
    		返回结果:{'key3': 'value3', 'key1': 'value1', 'key2': 'value2'}
    

    dir()

    	功能:查看函数或模块内的操作方法都有什么,输出的是方法列表。
    	如dir(int)可以直接获取int的所有方法,返回的类型是一个列表
    

    divmod()

    	功能:divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数
    	>>> divmod(2,5)
    	(0, 2)
    	>>> divmod(12,5)
    	(2, 2)
    

    enumerate()

    	功能:获取字典的索引值并指定开始值
    	li = ['swht','shen','test']
    	for i,k in enumerate(li,3): #遍历列表,索引值从3开始
    		print(i,k)
    	#返回结果
    	3 swht
    	4 shen
    	5 test
    

    filter()

    	参考链接:http://www.cnblogs.com/fangshenghui/p/3445469.html
    	功能:filter(function, sequence)对于队列中的item依次被function处理
    	def fun(item):
    	    if item != 4:
    	        return item
    	list1 = [5,4,8]
    	print(list(filter(fun,list1)))
    	返回结果:[4, 8]
    	总结:相当于一个过滤函数
    

    frozenset()

    	参考:http://blog.csdn.net/caimouse/article/details/42042051
    	功能:本函数是返回一个冻结的集合
    	l = [1, 2, 3, 4, 5, 6, 6, 7, 8, 8, 9]  
    	print(len(l), l)  
    	set = frozenset(l)  
    	print(len(set), set) 
    	返回结果:11 [1, 2, 3, 4, 5, 6, 6, 7, 8, 8, 9]
    			 9 frozenset({1, 2, 3, 4, 5, 6, 7, 8, 9})
    	总结:所谓冻结就是这个集合不能再添加或删除任何集合里的元素。因此与集合set的区别,就是set是可以添加或删除元素,而frozenset不行。frozenset的主要作用就是速度快,它是使用hash算法实现。参数iterable是表示可迭代的对象,比如列表、字典、元组等等
    

    locals()、globals()

    	功能:基于字典的访问局部和全局变量的方式
    	locals 是只读的,globals 不是
    	关于名字空间的相关说明请移步参考:http://blog.csdn.net/scelong/article/details/6977867
    

    hash()

    	功能:输出对象的hash值
    	>>> hash(8)
    	8
    	>>> hash('sd')
    	-584109415
    	>>> hash('99')
    	-1356598271
    	>>> hash('asds')
    	-1179125483
    

    help()

    	功能:查看函数或模块用途的详细说明
    	使用方法:help(object)
    

    类型转换

    	int(x [,base ])         将x转换为一个整数    
    	long(x [,base ])        将x转换为一个长整数    
    	float(x )               将x转换到一个浮点数    
    	complex(real [,imag ])  创建一个复数    
    	str(x )                 将对象 x 转换为字符串    
    	repr(x )                将对象 x 转换为表达式字符串    
    	eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象    
    	tuple(s )               将序列 s 转换为一个元组    
    	list(s )                将序列 s 转换为一个列表    
    	chr(x )                 将一个整数转换为一个字符    
    	unichr(x )              将一个整数转换为Unicode字符    
    	ord(x )                 将一个字符转换为它的整数值    
    	hex(x )                 将一个整数转换为一个十六进制字符串    
    	oct(x )                 将一个整数转换为一个八进制字符串
    

    id()

    	功能:获取对象的内存地址
    	id(object)
    

    input()

    	功能:获取用户的输入信息
    	input("请输入你的名字:")
    	>>>请输入你的名字:swht
    	swht
    

    isinstance()

    	功能:判断对象类型
    	isinstance(5,int)
    	返回结果:True
    

    issubclass()

    	功能:本函数用来判断类参数class是否是类型参数classinfo的子类
    	class Line:  
    	    pass  
    	class RedLine(Line):  
    	    pass  
    	      
    	class Rect:  
    	    pass  
    	      
    	print(issubclass(RedLine, Line))  #返回True  Redline是Line的子类
    	print(issubclass(Rect, Line))  #返回False  
    

    iter()

    	功能:创建一个迭代器
    	for i in iter((1,2,4,5,6,7,)):
    		print(i)
    	返回结果:1 2 4 5 6 7 #循环遍历元组
    

    len()

    	功能:获取字符串的长度
    	len(str)
    

    max()

    	功能:返回所有整数中最大的一个数
    	max(5,6,8,7) 
    	返回结果:8
    

    memoryview()

    	功能:本函数是返回对象obj的内存查看对象
    	>>> v = memoryview(b'abc123')
    	>>> print(v[1])
    	98
    	>>> print(v[0])
    	97
    	>>> print(v[2])
    	import struct  
    	buf = struct.pack("i"*12, *list(range(12)))  
    	x = memoryview(buf)  
    	y = x.cast('i', shape=[2,2,3])  
    	print(y.tolist()) 
    	返回结果:[[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]
    	
    	总结:所谓内存查看对象,就是对象符合缓冲区协议的对象,为了给别的代码使用缓冲区里的数据,而不必拷贝,就可以直接使用。参考链接:http://blog.csdn.net/caimouse/article/details/43083627
    

    sorted()

    	功能:排序
    	sorted([5, 2, 3, 1, 4])
    	[1, 2, 3, 4, 5]
    

    sum()

    	功能:返回整数数字的和
    	sum([1,5,8]) #参数是一个list
    	返回结果:14
    

    super()

    	功能:用来解决多重继承问题
    

    type()

    	功能:获取对象的类型
    	type(object)
    

    vars()

    	功能:本函数是实现返回对象object的属性和属性值的字典对象
    	>>> class Foo:
    	...     a = 1
    	...
    	>>> print(vars(Foo))
    	{'a': 1, '__dict__': <attribute '__dict__' of 'Foo' objects>, '__doc__': None, '__weakref__': <attribute '__weakref__' of 'Foo' objects>, '__module__': '__main__'}
    
    	总结:如果默认不输入参数,就打印当前调用位置的属性和属性值,相当于locals()的功能。如果有参数输入,就只打印这个参数相应的属性和属性值。参考:http://blog.csdn.net/caimouse/article/details/46489079
    

    zip()

    	功能:zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表
    	>>> x = [1,2,3,]
    	>>> y = [4,5,6,]
    	>>> z = [7,8,9,]
    	>>> xyz = zip(x,y,z)
    	>>> print(xyz)
    	<zip object at 0x00FBD968>
    	>>> print(list(xyz))
    	[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
    

    random

    	功能:产生随机数
    	import random
    	random.randint(1,99) #从1-99中产生随机数
    

    import()

    	功能:查看模块所在的位置
    	 __import__('random') #参数为一个字符串
    	<module 'random' from 'D:\Program Files\Python\Python35\python35.zip\random.pyc'>
    

    open()函数

    博客参考:http://www.cnblogs.com/songqingbo/p/5102618.html

    read()

    功能:读取文件中的所有内容,返回的类型是字节
    

    readline()

    功能:读取文件中的一行数据。返回的类型是字节
    

    readlines()

    功能:读取文件中的所有内容,返回的类型是list
    

    tell()

    功能:查看当前指针位置,返回值类型为整数
    

    seek()

    功能:指定当前指针位置
    
    
    files = open('test.txt','r',encoding='utf-8')
    files.seek(5)
    print(files.read()) #读取指为直接切割针5后面的所有字符
    files.truncate() #获取指针5之前的所有字符然后写到原来的文件(或者可以理解)
    files.close()
    

    扩展

    读二进制文件:
    
    	input = open('data','rb')
    
    读取所有内容:
    
    	f = open('test.txt','r')
    	try:
    		all_txt_view = f.read()
    	finally:
    		f.close()
    
    读取固定字节:
    
    	f = open('test.txt','rb')
    	try:
    		while True:
    			chunk = f.read(100)
    			if not chunk:
    				break
    			pass
    	finally:
    		f.close()
    
    读每行:
    
    	list_of_all_the_lines = f.readlines()
    
    如果文件是文本文件,还可以直接遍历文件对象获取每行:
    
    	for line in f:
    		print(line)
    
    写文件写文本文件
    
    	output = open('data','w')
    
    写入多行:
    
    	f.writeline(list_of_text_string)
  • 相关阅读:
    [LeetCode] 1019. Next Greater Node In Linked List 链表中的下一个较大的结点
    [LeetCode] 1018. Binary Prefix Divisible By 5 可被5整除的二进制前缀
    [LeetCode] 1017. Convert to Base -2 负二进制转换
    [LeetCode] 1016. Binary String With Substrings Representing 1 To N 子串能表示从1到N数字的二进制串
    [LeetCode] 1015. Smallest Integer Divisible by K 可以整除K的最小整数
    [LeetCode] 1014. Best Sightseeing Pair 最佳观光组合
    [LeetCode] 1013. Partition Array Into Three Parts With Equal Sum 将数组分成和相等的三个部分
    [LeetCode] 1012. Numbers With Repeated Digits 至少有1位重复的数字
    [LeetCode] 1011. Capacity To Ship Packages Within D Days 在D天内送达包裹的能力
    [LeetCode] 1010. Pairs of Songs With Total Durations Divisible by 60 总持续时间可被60整除的歌曲
  • 原文地址:https://www.cnblogs.com/songqingbo/p/5142957.html
Copyright © 2020-2023  润新知