可以看到用户定义函数的完整定义吗?

时间:2019-07-08 10:36:51

标签: python-3.x jupyter-notebook

我从jupyter笔记本中的另一个脚本中加载了几个函数(f和g)。如果传递参数,则可以得到正确的输出。我的问题是,我是否可以看到函数的完整定义(f或g)?

我试图查看该功能,但是它显示了分配给它的内存位置。

2 个答案:

答案 0 :(得分:1)

您需要在内部添加注释功能(检查docstring,https://www.python.org/dev/peps/pep-0257/),如

library(tidyverse)
# first get min datetime by ID
min_datetime_id <- df1 %>% group_by(ID) %>% summarise(min_datetime=min(Datetime))
# join with df1 and compute time difference
df1 <- df1 %>% left_join(min_datetime_id) %>% mutate(Hours_since_beginning= as.numeric(difftime(Datetime, min_datetime,units="hours")))

然后在jupyter笔记本中,可以使用功能上的Shift + Tab键。

我无法发表评论,但这来自另一个线程How can I see function arguments in IPython Notebook Server 3?

答案 1 :(得分:1)

您可以使用内置的inspect library来做到这一点。

下面的代码片段应使您熟悉如何查看函数的源代码。

import React from 'react'
import {
    TouchableHighlight,
    StyleSheet,
    Platform,
} from 'react-native'

import Icon from '@expo/vector-icons'

function PlayPause(props) {
    return (

        <TouchableHighlight //line 13
            onPress={props.onPress}
            style={styles.container}
            underlayColor='rgba(255,255,255,.3)'
            hitSlop={{
                left: 5,
                top: 5,
                bottom: 5,
                right: 5
            }}
        >
            {
                props.isPaused ? <Icon size={20} color="#98ca3f" name={
                    Platform.OS === 'ios' ? 'ios-play' : 'md-play'
                  } /> : <Icon size={20} color="#98ca3f" name={
                    Platform.OS === 'ios' ? 'ios-pause' : 'md-pause'} />
            }
        </TouchableHighlight>
    )
}

export default PlayPause