Python定义一个函数的方法

Python函数的定义

定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现,具体的语法格式如下:

def 函数名(形参列表):
  //由零条到多条可执行语句组成的代码块
  [return [返回值]]

其中,用 [] 括起来的为可选择部分,即可以使用,也可以省略。

此格式中,各部分参数的含义如下:

函数名:从语法角度来看,函数名只要是一个合法的标识符即可;从程序的可读性角度来看,函数名应该由一个或多个有意义的单词连缀而成,每个单词的字母全部小写,单词与单词之间使用下画线分隔。

形参列表:用于定义该函数可以接收的参数。形参列表由多个形参名组成,多个形参名之间以英文逗号(,)隔开。一旦在定义函数时指定了形参列表,调用该函数时就必须传入相应的参数值,也就是说,谁调用函数谁负责为形参赋值。

注意,在创建函数时,即使函数不需要参数,也必须保留一对空的“()”,否则 Python 解释器将提示“invaild syntax”错误。另外,如果想定义一个没有任何功能的空函数,可以使用 pass 语句作为占位符。

下面程序定义了两个函数:

def my_max(x, y) :
  # 定义一个变量z,该变量等于x、y中较大的值
  z = x if x > y else y
  # 返回变量z的值
  return z
# 定义一个函数,声明一个形参
def say_hi(name) :
  print("===正在执行say_hi()函数===")
  return name + ",您好!"

实例扩展:

操作数据库的函数。传参没有按顺序,采用了port = '3306'这种方式,很适合多参数的函数。

def op_mysql(host,port,username,password,db,sql):
  print('连接数据库:%s,host:%s,端口为:%s'%(db,host,port))
  print("%s where username='%s and pwd = '%s'"%(sql,username,password))

op_mysql(sql='select * from user',
     host='192.158.11.1',
     username='sdfdsfs',
     password='sdf123',
     db='test_data',
     port='3306'
     )

例:写一个函数,实现文件读写的功能。

# 操作文件的函数,如果传内容参数,则将对应内容写入文件。没有传内容,就读取文件原来的内容。
def op_file(file_name,content=None):
  f = open(file_name, 'a+', encoding='utf-8')
  f.seek(0)
  if content:#不为空代表写
    f.write(content)
    f.flush()
  else:
    res = f.read()
    return res
  f.close()

# 不传content,读文件
stu_info = op_file('username')
print(stu_info)
# 传content,将content写入文件
infos = 'xiaohei,123456,beijing,188888888888'
op_file('new_info',infos)

到此这篇关于Python定义一个函数的方法的文章就介绍到这了,更多相关Python如何定义一个函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法: def 函数名(参数1,参数2,参数-): 函数体(语句块) return [返回值] 注意事项 函数名的命名规则:和标识符的基本规则是一样的,基本上由小写字母和数字下划线构成 def 是关键字,不能够修改(define的简称) 函数后面一定要加括号(英文状态的)括号里面是否加参数看具体情况 括号后面的冒号不能够忘记 函数体必须加上缩进(

  • Python pandas自定义函数的使用方法示例

    本文实例讲述了Python pandas自定义函数的使用方法.分享给大家供大家参考,具体如下: 自定义函数的使用 import numpy as np import pandas as pd # todo 将自定义的函数作用到dataframe的行和列 或者Serise的行上 ser1 = pd.Series(np.random.randint(-10,10,5),index=list('abcde')) df1 = pd.DataFrame(np.random.randint(-10,10,(

  • python def 定义函数,调用函数方式

    python def 定义函数,调用函数方式 def sum_2_nums(a,b): #def 定义函数 result = a+b print('%d+%d=%d'%(a,b,result)) num1 = int(input('请输入第一个数字:')) num2 = int(input('请输入第二个数字:')) sum_2_nums(num1,num2) #调用函数 定义和调用的函数,1:个数相同 :2:顺序 一 一对应 这样才能正确实现 补充知识:python中list作为全局变量无需g

  • Python 跨.py文件调用自定义函数说明

    0 前言 os.chdir() :用于改变当前python工作的目录到指定的路径 sys.path:是python搜索模块的一个路径集,为list,自定义的包可以把存放路径加进去,之后直接调用包名就行了. 1 同一文件夹 一般当前的工作路径是在搜索路径里面,所以不用sys.path.append,如果调用包的时候报错,先使用sys.path查看当前路径在不在list里,不在list里加进去才能直接调用自定义包. 一个文件夹内有两个 .py 文件: exe101.py FileWriteAbout

  • Python定义函数实现累计求和操作

    一.使用三种方法实现0-n累加求和 定义函数分别使用while循环.for循环.递归函数实现对0-n的累加求和 1.使用while循环 定义一个累加求和函数sum1(n),函数代码如下: 2.使用 for循环 定义一个累加求和函数sum2(n),函数代码如下: 3.使用递归函数 定义一个累加求和函数sum3(n),函数代码如下: 二.使用了三种实现累加求和的方法,分别定义了三个函数. 1.对0-100实现累加求和,令n=100,分别调用三个函数, 代码如下: 2. 控制台的输出结果都为:5050

  • Python定义函数时参数有默认值问题解决

    这篇文章主要介绍了Python定义函数时参数有默认值问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类型以及小陷阱: def append_item(item, list1=[]): list1.append(item) return lis

  • Python定义一个函数的方法

    Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(形参列表): //由零条到多条可执行语句组成的代码块 [return [返回值]] 其中,用 [] 括起来的为可选择部分,即可以使用,也可以省略. 此格式中,各部分参数的含义如下: 函数名:从语法角度来看,函数名只要是一个合法的标识符即可:从程序的可读性角度来看,函数名应该由一个或多个有意义的单词连缀而成,每个单词的字母全部小写,单

  • python实现在每个独立进程中运行一个函数的方法

    本文实例讲述了python实现在每个独立进程中运行一个函数的方法.分享给大家供大家参考.具体分析如下: 这个简单的函数可以同于在单独的进程中运行另外一个函数,这对于释放内存资源非常有用 #!/usr/bin/env python from __future__ import with_statement import os, cPickle def run_in_separate_process(func, *args, **kwds): pread, pwrite = os.pipe() pi

  • Python定义一个跨越多行的字符串的多种方法小结

    方法一: >>> str1 = '''Le vent se lève, il faut tenter de vivre. 起风了,唯有努力生存. (纵有疾风起,人生不言弃.)''' >>> str1 'Le vent se lève, il faut tenter de vivre. \n起风了,唯有努力生存.\n(纵有疾风起,人生不言弃.)' 编辑的时候,引号挺对的,但是不知道为什么发布的时候,第一行的引号总是多了一些,其实应该是下面这样的: 不过感觉这种方法不够纯粹

  • 在Python中定义一个常量的方法

    大家都知道,网络上流行这么一句话 如果一个程序,JAVA需要写1000行,那PHP要写500行,而Python只要写200行就可以拉~~ 那么在Python中,如何用代码去实现一个常量呢? class MyNum(object): def __init__(self): self.__PI = 3.1415926 @property def PI(self): return self.__PI mynum = MyNum() print(mynum.PI) 这是通过私有属性去定义,通过装饰器@p

  • Python定义一个Actor任务

    问题 你想定义跟actor模式中类似"actors"角色的任务 解决方案 actor模式是一种最古老的也是最简单的并行和分布式计算解决方案. 事实上,它天生的简单性是它如此受欢迎的重要原因之一. 简单来讲,一个actor就是一个并发执行的任务,只是简单的执行发送给它的消息任务. 响应这些消息时,它可能还会给其他actor发送更进一步的消息. actor之间的通信是单向和异步的.因此,消息发送者不知道消息是什么时候被发送, 也不会接收到一个消息已被处理的回应或通知. 结合使用一个线程和一

  • 对new functionName()定义一个函数的理解

    比如定义一个函数的两种调用方法: 复制代码 代码如下: function getInfo() { var info = { message: "message" }; return info; } 1.var info1 = getInfo(); 2.var info2 = new getInfo(); 1和2有什么区别吗?info1和info2得到的值是一样的吗? 第1种很简单,用的也很多,就是执行一个函数,并接受函数的返回值并赋给info1对象: 第2种情况一般就很少见了.首先,函

  • 对Python实现累加函数的方法详解

    这个需求比较奇怪,要求实现Sum和MagaSum函数,实现以下功能 Sum(1) =>1 Sum(1,2,3) =>6 MegaSum(1)() =>1 MegaSum(1)(2)(3)() =>6 实际上Sum就是Python自建的sum函数,它支持变参,变参怎么实现,自然是*args,所以很容易写出雏形: Sum def Sum(*args): count = 0 for i in args: count+=i return count 第二个函数就有点皮了,它要求有参数的时候

  • python 定义n个变量方法 (变量声明自动化)

    code: for i in range(100): cmd = "t%s = 1" % i exec cmd eval("t%s" % i) print t10 输出 1 , 表示我们创建了 t0 - t99 这样的变量 以上这篇python 定义n个变量方法 (变量声明自动化)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 定义类时,实现内部方法的互相调用

    每次调用内部的方法时,方法前面加 self. 举例: 例子参考百度知道里面的回答 class MyClass: def __init__(self): pass def func1(self): # do something print('a') #for example self.common_func() def func2(self): # do something self.common_func() def common_func(self): pass 以上这篇python 定义类时

  • Python列表append()函数使用方法详解

    目录 1. 基本使用 2. 任意类型元素 3. 列表同步 3.1 原理剖析 3.2 解决方案 4. append()与extend()的区别 总结 1. 基本使用 append() 函数可以向列表末尾添加元素 语法 list.append( element ) 参数 element:任何类型的元素 实例:向列表末尾添加一个元素 name_list = ['zhangsan', 'lisi', 'wangwu'] name_list.append('zhaoliu') print(name_lis

随机推荐