当前位置:   article > 正文

Lumos学习python第三课:函数的理解与使用_python编写给你一个字符串 ,由若干单词组成,单词前后用一些空格字符隔开。返

python编写给你一个字符串 ,由若干单词组成,单词前后用一些空格字符隔开。返

一、翠花,先上道题

题目:最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:

  1. 输入:s = "Hello World"
  2. 输出:5
  3. 解释:最后一个单词是“World”,长度为5

示例 2:

  1. 输入:s = " fly me to the moon "
  2. 输出:4
  3. 解释:最后一个单词是“moon”,长度为4

示例 3:

  1. 输入:s = "luffy is still joyboy"
  2. 输出:6
  3. 解释:最后一个单词是长度为6的“joyboy”。

提示:

  • 1 <= s.length <= 104
  • s 仅有英文字母和空格 ' ' 组成
  • s 中至少存在一个单词
  1. class Solution:
  2. def lengthOfLastWord(self, s: str) -> int: #类成员函数
  3. s = s.split() #split() 通过指定分隔符对字符串进行切片,不指定次数即默认切割所有
  4. n = len(s) #切割后数组的长度
  5. return len(s[n-1]) #返回最后一个单词的长度

为了让入门者可读性强一些,所以拆解了好几行代码,其实一行就ok。最主要发挥作用的是函数split()。

重点介绍下split()函数:

split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。它是按指定的分隔符,把一个字符串分隔成指定数目的子字符串,然后把它们放入一个列表中,其中每个单词都是一个列表项。

string.split(str, max)

split()有两个参数,第一个参数是分隔符,如果不指定,则默认以空格、换行、制表符为分隔符,第二个参数为分隔次数,如果不指定,则根据字符串中有多少个分隔符,就分隔多少次。

p.s.关于题解的第一、二行为什么这样写后续也会给出解释,大家莫着急哈~

二、函数的定义及调用

1.定义

通俗讲是一种实现方法。函数是一种在程序中封装一段特定功能代码的方式,可以重复使用,提高了代码的可读性和重用性。在Python编程中,函数调用是一种重要的操作,它允许我们在程序中执行特定的功能,并在需要时多次调用,提高代码的重用性和可读性。

2.结构
  1. def function_name(parameters): #function_name是函数的名称,parameters是函数的参数
  2. function boy #函数功能主体
  3. return value #表示函数返回的值
3.参数的传递方式
  • 位置参数:按照参数的位置依次传递参数值
  • 关键字参数:根据参数的名称来传递参数值,可以自由组合顺序。
4.函数的调用

函数名()必备参数

三、成员函数和构造函数

1.成员函数

接下来解答题解中的那个函数,怎么长得和我们刚刚讲述的函数不太一样?首先呢,我用的刷题网站是力扣,他们将每道题的判题方式都标准化了,可以理解是他们自己做的一个函数模板,测试的时候会方便些;然后我们讲一下成员函数

Python中的成员函数是在类中定义的函数,它可以访问和操作类的成员变量和其他成员函数。成员函数通常用于实现类的行为和功能。在Python中,成员函数的定义使用关键字def,并且第一个参数通常是self,表示对象自身,自己人。通过这个参数,成员函数可以访问类的属性和方法。通俗点说,成员函数可以自己调用自己的,有种层层嵌套的感觉。

举个栗子:

  1. class MyClass:
  2. def __init__(self,value): #此为构造函数,后续介绍
  3. self.value = value
  4. def display(self):
  5. print(self.value)
  6. def printf(self):
  7. print(self.multiply(5))
  8. def multiply(self,num):
  9. result = self.value * num
  10. return result
  11. obj = MyClass(2)
  12. obj.display()
  13. obj.printf()

上述代码定义了一个名为MyClass 的类,其中包含了四个成员函数 。在printf()中,我们调用了multiply()函数 。在display()中,我们使用self.value引用类的属性value。前者属于调用函数,后者属于调用变量。

2.构造函数

在上面的例子,大家又会发现一个特殊函数__init__,what is 构造函数?

构造函数实际上就是程序的初始化方法。比如一开始我们创建一个类,这个类下面有一些函数,函数对对象做了一系列的操作,有些操作是必要并且重复的,这些东西就可以写进构造函数中。

构造函数命名为__init__,不同于普通方法的地方在于:在对象创建后自动调用它们。所以在上述例子中我们可以发现,主函数和普通函数都没有调用__init__,但都可以使用其中的变量value,这就是自动调用,减少代码冗余。

四、体会与感悟

以前在学校做报告的时候,一直觉得体会与感悟这part没什么太大意义,就是鬼扯几句,应付下差事而已......但随着年纪的增长,发现体会与感悟不仅仅是每次学习的复盘,也是潜移默化成长的体现(文笔的成熟,价值的飙升哈哈)。

这节课可以让大家浅浅体会下Python函数的强大,封装一个函数,你就可以在程序中多次调用这个函数,换句话说,可以不必重复编写好几次这个函数。这样做不仅可以减少代码量,还可以提高代码的可维护性和可读性。我们训练量慢慢增,希望我们对待学习不要囫囵吞枣,而且应勤加思考而不是一味地追求答案,培养自己解决问题的能力比解决问题本身更重要!共勉~

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号