范例
__author__ = '6005001645' #三元运算符 :判定条件?为真时的结果:为假时的结果 x=20 y=30 z=x if x<20 else y print(z) # result=[i for i in range(1,2) if i%2==0] # print(result) # #读模式 # file=open("information.txt","r") # content=file.read() # print(content) # file.close() # # #追加模式 # file=open("information.txt","a",encoding="GBK") # file.write("\nxiaongzi lanzhou 13555555222") # content=file.read() # print(content) # file.close() # # #读写模式 # file=open("information.txt","r+",encoding="GBK") # content=file.read() # file.write("\nxiaonghei lanzhou 13555555222") # content=file.read() # print(content) # file.close() # # #写读模式 # file=open("information.txt","r+",encoding="GBK") # file.write("\nxiaonghei lanzhou 13555555222") # file.write("\nxiaonghei2 lanzhou 13555555222") # content=file.read() # print(content) # file.close() # # #强制刷进去 # file=open("information.txt","r+",encoding="gbk") # file.write("\nxiaonghei lanzhou 13555555222") # file.flush() #seek的用法 # file=open("information.txt","r+",encoding="utf-8") # file.seek(50) # print(file.tell()) # content=file.read() # file.tell() # print(content) # print(file.tell()) #逐行的去做 # file=open("information.txt","r+",encoding="utf-8") # for i in file: # print(i.strip()) # file.close() #示例 import sys file_new="information2.txt" file=open("D:\information.txt","r+",encoding="utf-8") relace_before="详子" relace_after="lisi" for i in file: print(i.strip()) if relace_before in i: content=i.replace(relace_before,relace_after) else: content=i file.write(content) file.close() #函数定义 # def functionname( parameters ): # function_suite # return [expression] # 说明:def为关键字,后面为函数名,函数名不能重复,括号中内容为参数,根据实际情况,定义你需要的参数个数 # function_suite 为 函数体 # return 为返回值 如果不写return这一行的话,默认返回为None # 函数调用 def hello(): print('hello!') hello() #函数调用,函数调用的方式为,函数名后跟括号 # 形参和实参 # 函数在调用的时候,可以传入参数,有形参和实参 # 形参:形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。 # 实参:实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值 # 以便把这些值传送给形参。函数调用结束返回主调用函数后则不能再使用该形参变量。 # 函数的参数类型 # 函数的四种参数类型:位置参数、默认参数、不定长参数、关键字参数 # 位置参数: # 位置参数,就是按照参数的位置来进行传参 # 例: def reg(name,age): print('hello %s,age is %s'%(name,age)) #name,age是必填参数,位置参数 reg('hhf',27) # 说明:有几个位置参数在调用的时候就要传几个,否则就会报错 # 如果有多个位置参数,但却记不住参数的位置,可以使用位置参数的名字来指定调用 # 具体调用为reg(name='huihui',age=25),这种调用方式叫做关键字传参 # # 默认参数: # 默认参数就是在定义形参的时候,给函数默认赋一个值 # 默认参数不是必填的,如果给默认参数传值的话,它就会使用你传入的值。如果使用默认值参数的话,必须放在位置参数后面定义 # # 例: def reg(name,age,sex='男'): print('hello %s,age is %s'%(name,age))#name,age是必填参数,位置参数 #sex是默认值参数,不是必填参数 reg('hhf',27)#不传sex,sex使用默认值参数,sex='男' reg('huihui',28,'女') #给sex传值,sex='女' reg("yy","33") # 非固定参数: # 上面的两种位置参数和默认参数都是参数个数是固定的 # 如果有一个函数,参数不是固定的,也不知道函数会扩展成啥样,可能参数越来越多,这个时候如果使用固定的参数,后面程序就不好扩展,这时候就可以用非固定参数了 # 非固定参数有两种,一种是可变参数,一种是关键字参数 # 可变参数: # 可变参数用*来接收,后面想传多少个参数就传多少个,如果位置参数、默认值参数、可变参数一起使用的的话,可变参数必须在位置参数和默认值参数后面。可变参数也是非必传的。 # 例: def post(*args): print(args) post('001','denglu','http://www.baidu.com',post,a=1) post() # 说明:可变参数,也叫参数组,也不是必填的,它接收到的是一个元组 # 它把调用函数时传进去的每一个参数到一个元组里 # # 关键字参数: # 关键字参数使用**来接收,后面的参数也是不固定的,想写多少个写多少个,当然也可以和上面的几种一起来使用,如果要一起使用的话,关键字参数必须在最后面。 # 使用关键字参数的话,调用的时候必须使用关键字传参,关键字参数也是非必传的 # 例: def kw(**kwargs): print(kwargs) kw() kw(age=18,name='aaa') d={'age':18,'name':'aaa'} kw(**d) # 说明:关键字参数,接收的是一个字典,调用得用xx=11,也不是必填的 # 传入字典调用的时候就得写**{'age':18,'name':'aaa'} # # 其它例子: def other2(name,country='china',*args,**kwargs): print(name) print(country) print(args) print(kwargs) other2('hhf') other2('niuhui','beijing','python','changping',user='niu') # 说明:如果必填参数,默认值参数,可变参数和关键字参数要一起使用的话, # 必须参照必填参数、默认值参数、可变参数和关键字参数的顺序接收,否则会报错 def write(filename,model,ending,user,os,money,other): print(filename) print(model) print(ending) print(user) print(os) print(money) print(other) write(os='Windows',user='wubing',model='w',filename='a.tx',ending='utf8',money=9999,other='xxx') #write(os='windows','a.txt') #位置参数调用参数必须在关键字调用前,否则报错 write('a.txt','w','gbk2312','hhf',os='windwos',money=9999,other='xxx') # 函数返回值 def plus(a,b): c=a+b return c # 说明: # a函数碰到return,立即结束这个函数 # b调用完函数之后,返回计算结果 # c函数可以没有返回值,如果没有返回值的话,默认返回None,如果这个函数的处理 # 结果我们需要在别的地方用到,就得给函数一个返回值 # 如果函数return多个值的话,那么它就会把多个值放到一个元组里面去 score1 = 50 score2 = 90 def echo(): return score1,score2 # 局部变量和全局变量 # 局部变量:在局部内生效,出了这个变量的作用域,这个变量就失效了 # 全局变量:在整个程序里面都生效的,在程序最前面定义的都是全局变量 # score3 = [1,2,3,4,5] # score3 = {"id":1} score3 = 100 def my_open(): fw = open('a.txt','a+') fw.seek(0) print('score3',score3) d={'id':2} d['price']=99 # 说明: # a.在函数里面定义变量叫局部变量,它只能在函数里面用,出了该函数外,就不能使用了 # b.在函数外面定义的变量,是全局变量,在函数内也可以使用 # c 如果想在函数里面修改全局变量的值,那么要先用global关键字声明 # 要修改全局变量是int、string的话,必须得写global # 如果是字典和list的话,要修改的话,不能加global