分享

Python语言学习:Python语言学习之函数(定义&调用函数/常用内置函数如filter&map/内嵌函数/闭包/匿名函数如lambda&map)daiding

 处女座的程序猿 2022-11-07 发布于上海

Python语言学习:Python语言学习之函数(定义&调用函数/常用内置函数如filter&map/内嵌函数/闭包/匿名函数如lambda&map)daiding

函数的简介

         函数可以理解为代码块,程序中可重复使用的程序段。给一段程程序起一个名字,用这个名字来执行一段程序,反复使用(调用函数),用关键字 'def' 来定义,identifier(参数)。
函数VS过程数function(做完事还付钱)是有返回值的,而过程procedure(做完事直接走人)是简单、特殊且没有返回值的。其实严格来讲python只有函数没有过程。
print("yunyaniu,"*3)    #输出yunyaniu,yunyaniu,yunyaniu,

1、定义&调用函数

函数文档属性:对函数的参数的返回值进行介绍,方便别人更好的理解这个函数。
函数名._doc_
1)、定义函数的时候,返回可以用print和return两种方式。
2)、函数定义时有两种参数:

形式参数parameter:
实际参数argument:

1.1、定义函数(无参无返回的)

def say_hi():       #定义函数(无参无返回的)
    print("hello!") #hello!
say_hi()            #调用该函数

1.2、定义函数(有参数(数字型)+无返回值)

def print_sum_two(a, b): #定义函数(有参数(数字型)+无返回值)
    c = a + b
    print(c)        #输出结果9
print_sum_two(3, 6) #调用函数来计算两个参数的和

1.3、定义函数(有参数(字符串型)+无返回值)

def hello_some(str): #定义函数(有参数(字符串型)+无返回值)
    print("hello " + str + "!")
hello_some("Python") #hello Python!

1.4、定义函数的默认参数

def repeat_str(str, times=1): #定义函数(有参数+有返回值(为重复次数))
定义函数的默认参数:当出现times=1时,后边的参数都要写出默认值。例如f(a = 1, b)非法,需要改为f(a = 1, b= 2)
    repeated_strs = str * times
    return repeated_strs
repeated_strings = repeat_str("Happy Birthday!", 4)
rint(repeated_strings)
#Happy Birthday!Happy Birthday!Happy Birthday!Happy Birthday!

def add(num1,num2):  #自定义函数def
    print('这是我创建的第一个函数!')
    print('我表示很激动!')
    result=num1+num2;  print(result)
    return(num1+num2)   #此句话可代替上边两小句
print( add(8,9) )       #调用自定义函数add

1.5、定义函数,未知个数的VarArgs参数

#VarArgs参数:当不知道原函数所包含参数个数时,
def print_paras(fpara, *nums, **words):  #带*表示一些列参数,
    print("fpara: " + str(fpara))
    print("nums: " + str(nums))
    print("words: " + str(words))  
print_paras("hello", 1, 3, 5, 7, word = "python", anohter_word = "java")

1.6、定义关键字参数:当参数过多时,只想给某个参数赋值。

#关键字参数: 调用函数时,选择性的传入部分参数
def func(a, b = 4, c = 8):
    print('a is', a, 'and b is', b, 'and c is', c)
func(13, 17)         #选择性的传入部分参数
func(125, c = 24)    #输出a is 125 and b is 4 and c is 24
func(c = 40, a = 80) #输出a is 80 and b is 4 and c is 40

assert可以用来置入检查点,当需确保程序中的某个条件一定为真才能让程序正常工作。
assert   #关键字"断言",当这个关键字后边的条件为假的时候,程序自动崩溃并抛出异常

1.7、收集参数:当不知道该函数到底有多少参数时,参数前边加上*号就变为收集参数。

def test(*params): #加上*号代表形参*params
    print("参数的长度是:" ,len(params))
    print("第二个参数是:" ,params[1])
test(1,"云崖牛",3,4,5)

def test1(*params,ewai): #加上*号代表形参*params
    print("参数的长度是:" ,len(params),ewai)
    print("第二个参数是:" ,params[1])
test1(1,"云崖牛",3,4,5,ewai=6)

2、BIF内置函数:直接调用,例如print等函数。

函数命名的几个特点:
1)、属性函数前边有L的说明从左边开始查找,前边有R说明从右边开始查找。
2)、start是从开头开始检查,end是从结尾开始检查
3)、zfill即用zero填充

2.0、基本函数分类

(1)、字符串大小写相关

isupper()

如果字符串中至少包含—个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False。

upper()

转换字符串中的所有小写字符为大写。

lower()

转换字符串中所有大写字符为小写。

capitalize()

把字符串的第一个字符改为大写

casefold()

把整个字符串的所有字符改为小写

swapcase()

翻转字符串中的大小写。

title()

返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。

(2)、字符串对齐、居中、填充相关

center(width)

将字符串居中,并使用空格填充至长度width 的新字符串

ljust(width)

返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串。

rjust(width)

返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串。

zfill(width)

返回长度为width 的字符串,原字符串右对齐,前边用0填充。

(3)、字符串插入、分割、替换相关

join(sub)

以字符串作为分隔符,插入到sub中所有的字符之间。

split(sep=None, maxsplit=-1)

不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。

partition(sub)

找到子字符串 sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串’,“,”)

rpartition(sub)

类似于partition()方法,不过是从右边开始查找。

replace(old,new[,count])

把字符串中的old子字符串替换成new子字符串,如果count 指定,则替换不超过count 次。

expandtabs([tabsize=8])

把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8。

splitlines(([keepends]))

按照'\n’分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行。

(4)、字符串去空格相关

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多