python学习3:自定义函数使用

# -*- coding: utf-8 -*-

#函数使用------------

#函数定义:使用关键字def;例如:def fun():  //还有冒号!!!!!!!!
def helloFunc():
    print('Hello python world!!!')
#调用函数helloFunc()

print('--------------------------')


#带参数的函数------------------------
def maxFunc(a,b):
    if a > b:
        print('最大值为:',a)
    else:
        print('最大值为:',b)

x = 5
y = 10

#调用函数
maxFunc(5,10)
print('--------------------------')

#局部变量----------------------------
def func(x):
    print('x is ',x)
    x += 20
    print('Now x is',x)

z = 10
#调用函数func
func(z)
print('z is ',z)
print('--------------------------')


#使用global关键字:为一个定义在函数外的变量赋值---
def g_func():
    global y
    print('y is ',y)
    y = 100
    print('Now y is ',y) 
y = 50
g_func()
print('y is ',y)
print('--------------------------')

#使用默认参数(与C++类似)------------------
def say(msg,times = 1): #默认参数也是由右往左初始化
    print(msg * times) #两个数相乘或是返回一个被重复若干次的字符串

#调用say函数
say('hello',2)
say('world')
print('--------------------------')
#使用关键参数(指定其中的一部分,通过命名来为这些参数赋值——这被称作 关键参数)
#函数定义
def func(a,b=1,c=100):    #函数重载
    print('a = ',a,', b = ',b,', c = ',c)

#调用函数
func(3,7)
func(100,c = 1000)
func(c= 101,a = 200)
print('--------------------------')

#return语句----------------------
def re_func(x,y):
    if x > y:
        return x
    else:
        return y

print('Maxvalue is ',re_func(100,300))
print('--------------------------')

#使用DocStrings(文档字符串):个人理解:将函数或者其它对象内部的多行注释输出(多个多行注释,只输出第一个)

def printMax(x,y):
    '''Hello Python world
Hello 文档字符串
使用方法:比较简单1'''
    '''Hello Python world
Hello 文档字符串
使用方法:比较简单2'''
    '''Hello Python world
Hello 文档字符串
使用方法:比较简单3'''
    if x > y:
        return x
    else:
        return y
print('Maxvalue is ',printMax(400,300))
print('--------------------------')
print('文档字符串:\n',printMax.__doc__)
print('--------------------------')




 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python跑批过程中出现Impala异常"AnalysisException: 自定义函数未知",通常是由于在Impala查询中使用了一个在Impala中未定义或无法识别的自定义函数。 Impala是一个为了高速查询而设计的分布式SQL查询引擎。它拥有许多内置的函数供用户使用。然而,有时用户需要使用自定义函数来满足特定的需求。当我们尝试在Impala查询中调用自定义函数时,如果Impala无法找到这个函数的定义或者无法识别这个函数,就会抛出"AnalysisException: 自定义函数未知"异常。 解决这个问题的方法有以下几个步骤: 1. 确保已正确定义自定义函数:首先检查自定义函数的定义是否正确,包括函数名称、参数数目和类型等。如果自定义函数的定义有误,需要进行修正。 2. 检查函数是否已正确注册:在Impala中,我们需要通过注册函数来告诉Impala该函数的存在。通过在命令行或Impala客户端中执行REGISTER FUNCTION语句,将自定义函数注册到Impala中。如果函数未正确注册,Impala就无法识别该函数。 3. 确保Impala版本兼容性:有时候自定义函数可能是在较新版本的Impala中开发或测试的,而正在运行的Impala环境可能是较旧版本。在这种情况下,可能会出现Impala无法识别自定义函数的情况。因此,需要确保Impala的版本兼容性,或者考虑升级Impala以支持所需的自定义函数。 4. 检查函数的依赖项:有时候自定义函数可能依赖于其他库或模块。在Impala中使用自定义函数之前,需要确保所依赖的库或模块已正确安装和配置,并能够在Impala环境中正常访问。 总结:当Python跑批过程中出现Impala异常"AnalysisException: 自定义函数未知"时,需要检查自定义函数的定义、注册情况、Impala版本兼容性以及函数的依赖项,并进行相应的修正和配置,以解决该异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值