常犯的错误:

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

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

特性:

减少代码重复

使程序变得可扩展性

使程序易维护

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

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

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

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

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

位置参数与形参一一对应

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

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

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

**kwargs  字典

def test1() :
    print('in the test1')
def test2() :
    print ('in the test2')
    return 0
def test3() :
    print ('in the test3')
    return 0 ,'hello',['zhang','xin'],{'tt':'aaa'} x=test1()
y=test2()
z=test3()
print (x)
print (y)
print (z)

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

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

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

name=['zba','dex','ggg']
def calc(name):
    name[0]="女王"
   
print(name)
calc(name)
print(name)

预期结果

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

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

#递归

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

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. openssl HeartBlood

    受影响[编辑] OpenSSL 1.0.2-beta OpenSSL 1.0.1 - OpenSSL 1.0.1f 除非针对CVE-2014-0160的操作系统补丁已经安装,而没有更改库版本,如Deb ...

  2. oc 正则图片<img /> 标签

    -(NSString *)getImageAttributeValue:(NSString *)content attributeKey:(NSString *)key { NSString *reg ...

  3. oracle组建:ODAC112021Xcopy_x64,在开发机上,不用安装oracle的客户端等开发

    以下解决方案是为了连接远程服务器上的oracle 11g 的解决方案. 下载地址:http://www.oracle.com/technetwork/database/windows/download ...

  4. Wcf Restful Service服务搭建

    目的 使用Wcf(C#)搭建一个Restful Service 背景 最近接到一个项目,客户要求使用Restful 方式接收到数据,并对数据提供对数据的统计显示功能,简单是简单,但必须要使用Restf ...

  5. Excel公式无法重算,暂无法解决

    一份复杂的excel报表,某些单元格是用求和公式算出来的值,但生成之后,用excel打开,无法显示公式结果,按F9也没有用,只能在单元格公式双击后回车才会显示.而在WPS2010按F9就可以重算,WP ...

  6. 《30天自制操作系统》10_day_学习笔记

    harib07a: 整理内存管理函数:memman_alloc和memman_free能够以最小1字节进行内存管理,但时间久了后,容易产生外部碎片:为此,笔者编写了一些以0x1000字节为单位进行内存 ...

  7. UltraEdit常用配置&搭建Java/C开发环境

    一:个人使用UE期间总结了以下经常使用的配置 1.手动配置语法高亮 [高级]->[配置]->[编辑器显示]->[语法高亮]->[词语列表的完整路径]->[浏览]找到安装目 ...

  8. MySQL单表最大限制

    想把一个项目的数据库导出来,然后倒入到自己熟悉的MySQL数据库中进行运行和调试.导出来后,发现sql文件整整有12G多大,忽然想起来,MySQL好像有个叫做容量限制的神奇特性,但是忘了上限是多少了, ...

  9. extjs 4.2 日期控件 选择时分秒功能

    因为不支持时分秒,然后在网上也找了一段时间的插件,但是感觉起来都不大方便,最后找一个插件,只需要引用js文件,然后修改类型,就可以实现extjs下面的datafield带时分秒功能了. 步骤: 只需要 ...

  10. 救火必备linux命令

    系统参数: cat /proc/cpuinfo cpu相关参数 cat /proc/meminfo 内存相关参数 cat /proc/loadavg 负载情况 性能参数: )top M:按内存使用排序 ...