鱼C论坛

 找回密码
 立即注册
查看: 3143|回复: 5

python函数

[复制链接]
发表于 2016-3-17 19:33:33 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 shadowrocker 于 2016-3-17 19:35 编辑

现在我想定义一个函数,其功能是将输入的东西变成字符串。如:
  1. def f(x):
  2.     ***这里是函数的内容***

  3. >>>f(abc)
  4. >>>'abc'
复制代码

我定义完函数,输入一个f(abc),希望他直接转化成字符串,要怎么做?如果abc是一个已知的函数名,又要怎么做?

我知道有个内置函数叫做str(),但现在需要将特定的字符转变成字符串!

最佳答案

查看完整内容

非函数的你已经知道了,函数的看下面两种方案: 两种方案都输出字符串'a'
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-17 19:33:34 | 显示全部楼层
非函数的你已经知道了,函数的看下面两种方案:
  1. # 方案1: 强制要求a函数返回值
  2. def a():  
  3.     pass
  4.     # 考虑到你这的需要,中间的过程随便写,
  5.     # 但是返回值必须是函数名,否则得到的将是一个函数对象
  6.     return a.__name__  # 返回函数名

  7. def f(x):

  8.     c = repr(x())   
  9.     # 函数 str() 用于将值转化为适于人阅读的形式,而 repr() 转化为供解释器读取的形式
  10.     # 此处可以用str()两者在此处效果相同
  11.    
  12.     return c

  13. b = f(a)
  14. print(b)
复制代码

  1. # 方案2: 对返回值无要求
  2. def a():
  3.     # 函数内容随便写,a返回值随便写
  4.     pass

  5. def f(x):

  6.     c = repr(getattr(x, '__name__'))   
  7.     # 函数 str() 用于将值转化为适于人阅读的形式,而 repr() 转化为供解释器读取的形式
  8.     # 此处可以用str()两者在此处效果相同
  9.     return c

  10. b = f(a)
  11. print(b)
复制代码

两种方案都输出字符串'a'
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-3-17 22:39:16 | 显示全部楼层
小小大鱼 发表于 2016-3-17 20:38
非函数的你已经知道了,函数的看下面两种方案:

我举一个具体的例子,希望能解答:
我事先定义了一个line(x,y,z)函数,又定义了一个translate(p,a,b)函数,其中p是已知的函数及其变量。
出于某些需求,我在运行translate(line(1,2,3),7,8)时,需要将line(1,2,3)输出成字符串,如何解决?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-22 10:29:25 | 显示全部楼层
小小大鱼 发表于 2016-3-17 20:38
非函数的你已经知道了,函数的看下面两种方案:

666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-22 11:15:32 | 显示全部楼层
shadowrocker 发表于 2016-3-17 22:39
我举一个具体的例子,希望能解答:
我事先定义了一个line(x,y,z)函数,又定义了一个translate(p,a,b ...

上次的回复怎么没了。补上
  1. def line(x, y, z):
  2.     pass
  3.     return line.__name__ +'(%d, %d, %d)' % (x, y, z)

  4. def translate(x, y):
  5.     print(x)

  6. b = translate(line(1, 2, 3), 1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-22 15:09:21 | 显示全部楼层
str() 不可以嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-20 05:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表