常犯的错误:

IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行...

函数是指一组语句的集合通过一个名字(函数名)封装起来,执行这个函数,调用这个函数名即可。

特性:

减少代码重复

使程序变得可扩展性

使程序易维护

#定义函数
def sayhi(): #函数名
   
print ('hello world')
sayhi()#调用函数

  1. f=open('yesterdate.txt','a')
  2. f.truncate(44) #截取长度

  1. #
    文件的修改
  2. f=open('../dang.txt','r') #源文件
  3. p=open('yesterdat.txt','w') #没有文件创建文件,修改的内容写入新文件里
  4. #replace修改文件内容
  5. for line in f:
  6.    if "i like code but really you"  in line:
  7.          line=line.replace("i like code but really you","i like code but fulimei you")
  8.    p.write(line)
  9. f.close()
  10. p.close()

#这个用sed就可以了:
#sed -i 's/version=.*/version=0/' config.ini
#如果有多个ini文件
#sed -i 's/version=.*/version=0/' *.ini

  1. #位置参数
  2. def calc(x,y):
  3.       print(x)
  4.       print(y)
  5. calc(1,2)
  6. #关键字参数
  7. def test(x, y):
  8.     print(x)
  9.     print(y)
  10. test(y=3,x=4)
  1. def ff(x,y):
  2.     print(x)
  3.     print(y)
  4. a=9
  5. b=8
  6. ff(y=a, x=b)
  1.  

位置参数与形参一一对应

关键字参数与形参顺序无关

关键字参数不能写在位置参数前面

*args 元组 接受位置参数 ,不能接收关键字参数

**kwargs  字典

  1. def test1() :
  2.     print('in the test1')
  3. def test2() :
  4.     print ('in the test2')
  5.     return 0
  6. def test3() :
  7.     print ('in the test3')
  8.     return 0 ,'hello',['zhang','xin'],{'tt':'aaa'}
  9.  
  10. x=test1()
  11. y=test2()
  12. z=test3()
  13. print (x)
  14. print (y)
  15. print (z)

----------------------------

注释很多行#,CTRL+A  然后再ctrl +/

TRL+A  然后 ctrl+d 复制下所有内容

  1. name=['zba','dex','ggg']
  2. def calc(name):
  3.     name[0]="女王"
  4.     print(name)
  5. calc(name)
  6. print(name)

预期结果

['女王', 'dex', 'ggg']

['女王', 'dex', 'ggg']

#递归

  1. def cu(n):
  2.     print(n)
  3.     if int(n/2) >0:
  4.         return cu(n/2)
  5.     print(n)
  6. cu(10)
  1. # python 或 批处理 替换文件中的内容
  1. # 有一个配置文件 config.ini 其中有一段内容 "version=x" 此处x为0、1、2、3、4等数字,但不确定是什么数字
  2.  # 如何将这段内容替换为“version=0” 要是用批处理实现是最好的,应该会用到通配符,
  3.  # 用批处理实现起来有难度。
  1. import re
  2. f1 = r'd:\config.ini'
  3. f2 = r'd:\config.ini.1'
  4. with open(f2, 'w') as ff2:
  5.      with open(f1, 'r') as ff1:
  6.          for x in ff1:
  7.              if 'version=' in x:
  8.                  x = re.sub(re.search('version=(\d+)', x).group(1), '0', x)
  9.              ff2.write(x)
  1.  
  1.  

day3 python 函数的更多相关文章

  1. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  2. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  3. day3之函数的初始及进阶

    函数初始 函数的定义与调用 ''' def 函数名 (参数): 函数体 函数名:设定与变量相同 执行函数: 函数名() ''' 函数的返回值 # 函数返回值 return ''' 1.遇到return ...

  4. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  5. Python函数讲解

    Python函数

  6. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

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

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

  8. Python开发【第四章】:Python函数剖析

    一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...

  9. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

随机推荐

  1. Java常用锁机制简介

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制.Java提供了多种多线程锁机制的实现方式,常见的有synchronized.ReentrantLock.Semaphore. ...

  2. 使用MJExtension中要注意的地方

    MJExtension git地址  https://github.com/CoderMJLee/MJExtension#JSON_Model Model contains model-array[模 ...

  3. 查看PostgreSQL版本,编译器版本号

    [postgres@localhost bin]$ ./psql -h localhostpsql (9.4.5)Type "help" for help. postgres=# ...

  4. Win2008 IIS7日期时间格式更改最简便方法

    windows2008 这么高级的系统不可能改个系统的日期时间显示格式还要进注册表啊.于是有baidu,google了下终于发现了,原来还有不需要注册表的更简便方法. windows2008默认时间格 ...

  5. JDBCTest

    package com.atguigu.spring.jdbc; import java.sql.SQLException; import java.util.ArrayList; import ja ...

  6. 夺命雷公狗---DEDECMS----29dedecms热门大片的完成

    我们要完成的是热门大片的显示,如下所示: 热门大片,这一般都是按照浏览量高的放前面的而已,我们先来查查手册,如下所示: 这里发现我们的arclist标签里面的orderby和orderway完全可以实 ...

  7. test generation和MBIST

    The problem of test generation Random test generation Deterministic algorithm for test generation fo ...

  8. Axis2、Axis1 以及其他接口的调用方式

    在请求的时候出现问题,使用下面的方式请求就不会出现问题. package webservice.client.utils; import java.util.Iterator; import java ...

  9. vim下正则表达式的非贪婪匹配

    贪婪模式是: .* 非贪婪模式是: .\{-}

  10. yii2 render和renderPartial区别

    1.render()方法使用到项目中的布局layout,renderPartial()不使用布局