Python3 的函数(2)

1、形参和实参

def MyFun(x):
    return x ** 3

y = 3
print(MyFun(y))

  x为形参,y为实参.

2、函数文档

在函数内用单引号引起来的一段文字,在调用函数时不会输出,写函数文档可以帮组他人理解,可以用help(函数名)查看或者函数名.__doc__打印函数文档

>>> def MyFirstFunction(name):
        ‘函数文档在函数定义的最开头部分,用不记名字符串表示‘
        print(‘I love you!‘)

3、参数

1)关键字参数

  在调用参数时戴上参数名字去指定具体调用哪个参数,可以忽略参数的顺序调用函数

>>> def SaySome(name, words):
        print(name + ‘->‘ + words)

>>> SaySome(words=‘让编程改变世界!‘, name=‘you‘)

2)默认参数

  赋予形参默认值,在没给函数参数时,使用默认值

3)收集参数:搞不清要用多少参数时用收集参数,当其后还需要其他参数时需使用关键字参数

def bc(*prama,base=3):
‘函数实现将传入的每一个实参倍乘3,可以通过关键字参数改变base值‘
    for  each in prama:
       print(base*each) 

>>> bc(1,2,3,4,5)
3
6
9
12
15

>>> bc(1,2,3,4,5,base=5)
5
10
15
20
25

4、求水仙花数

def Narcissus():
    for each in range(100, 1000):
        temp = each
        sum = 0
        while temp:
            sum = sum + (temp%10) ** 3
            temp = temp // 10  # 注意这里用地板除

        if sum == each:
            print(each, end=‘\t‘)

print("所有的水仙花数分别是:", end=‘‘)
Narcissus()
def ncs(low=0,high=1000):
    for each in range(low,high):
        if (each//100)**3+(each%100//10)**3+(each%10)**3==each:
            print(each)
    

5、编写统计长度为2的子字符串长度在目标字符串内的个数

def findStr(desStr, subStr):
    count = 0
    length = len(desStr)
    if subStr not in desStr:
        print(‘在目标字符串中未找到字符串!‘)
    else:
        for each1 in range(length-1):
            if desStr[each1] == subStr[0]:
                if desStr[each1+1] == subStr[1]:
                    count += 1

        print(‘子字符串在目标字符串中共出现 %d 次‘ % count)

desStr = input(‘请输入目标字符串:‘)
subStr = input(‘请输入子字符串(两个字符):‘)
findStr(desStr, subStr)
def findstr(dis_str,sub_str):
    count=0
    if not  sub_str in dis_str:
            print("目标字符串中未找到子字符串")
    else:
        for i in range(len(dis_str)-1):
            if dis_str[i]+dis_str[i+1]==sub_str:
                count+=1
        print("子字符串在目标字符串中共出现",count,"次")

dis_str = input("请输入目标字符串:")
sub_str = input("请输入子字符串(两个字符):")

6、函数与过程

  函数是有返回值的,过程是无返回值的

严格来说Python里都是函数,没有过程,应为不管函数有没有返回值python都会返回一些东西,无返回时返回一个None对象

>>> def hello():
        print(‘Hello !‘)

>>> temp = hello()
Hello FishC!
>>> temp
>>> print(temp)
None

  python可以返回多个类型不同的值

def mFun():
    return ‘加油‘,‘追求自己想要的生活!

>>> mFun()
(‘加油‘, ‘追求自己想要的生活!‘)

7、变量

1)局部变量:函数里的变量

2)全局变量:在函数外的变量

注意:在函数里修改全局变量是无效的,python会新建与全局变量名字相同的局部变量

def fun(var):
    var = 1314
    print(var, end=‘‘)

var = 520
fun(var)
print(var)
var = ‘ Hi ‘

def fun1():
    global var
    var = ‘ Baby ‘
    return fun2(var)

def fun2(var):
    var += ‘I love you‘
    fun3(var)
    return var

def fun3(var):
    var = ‘ 小天使 ‘

print(fun1())

Baby I love you
>>> var
‘ Baby ‘

不到万不得已不要使用全局变量!用多了容易出BUG啊

8、判断是否是回文联

def palindrome(string):
    length = len(string)
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            flag = 0
        last -= 1

    if flag == 1:
        return 1
    else:
        return 0

string = input(‘请输入一句话:‘)
if palindrome(string) == 1:
    print(‘是回文联!‘)
else:
    print(‘不是回文联!‘)
def elf(x):
    x=list(x)
    rex=x[:]
    rex.reverse()
    if rex==x:
        print(‘是回文联!‘)
    else:
        print(‘不是回文联!‘)

x=input("请输入一句话:")
elf(x)
    

9、统计字符串

def Count(*strs):#estr every str
    cstr=0
    for estr in strs:
        cstr+=1
        cnum=0
        cchar=0
        cempty=0
        celse=0
        for echar in estr:

            if echar.isdigit():
                cnum+=1
            elif echar.isalpha():
                cchar+=1
            elif echar == ‘ ‘:
                cempty+=1
            else:
                celse+=1
        print(‘第%d‘% cstr, ‘个字符串共有:英文字母个%d‘%cchar,‘,数字个%d‘%cnum,              ‘,空格%d个‘%cempty,‘,其他字%d符个‘%celse )
def count(*param):
    length = len(param)
    for i in range(length):
        letters = 0
        space = 0
        digit = 0
        others = 0
        for each in param[i]:
            if each.isalpha():
                letters += 1
            elif each.isdigit():
                digit += 1
            elif each == ‘ ‘:
                space += 1
            else:
                others += 1
        print(‘第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。‘ % (i+1, letters, digit, space, others))
            

原文地址:https://www.cnblogs.com/PythonFCG/p/8361419.html

时间: 2024-10-05 05:50:08

Python3 的函数(2)的相关文章

关于Python3中函数:

# 关于Python3中函数: - 定义 定义函数使用关键字def,后接函数名和放在圆括号()中的可选参数列表,函数内容以冒号起始并且缩进.一般格式如下:``` def 函数名(参数列表): """文档字符串""" 函数体 return [expression] ``` - 函数变量作用域 在函数内部定义的变量拥有一个局部作用域,在函数外定义的拥有全局作用域.注意:在函数内部可以引用全局变量,但无法对其赋值(除非用global进行声明).```

Python3 bytes 函数

Python3 bytes 函数  Python3 内置函数 描述 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列.它是 bytearray 的不可变版本. 语法 以下是 bytes 的语法: class bytes([source[, encoding[, errors]]]) 参数 如果 source 为整数,则返回一个长度为 source 的初始化数组: 如果 source 为字符串,则按照指定的 encoding 将字符串

Python3 tuple 函数

Python3 tuple 函数  Python3 内置函数 描述 tuple 函数将列表转换为元组.. 语法 以下是 tuple 的语法: tuple( seq ) 参数 seq -- 要转换为元组的序列. 返回值 返回元组. 实例 以下展示了使用 tuple 的实例: 实例 >>>list1= ['Google', 'Taobao', 'Runoob', 'Baidu'] >>> tuple1=tuple(list1) >>> tuple1 ('G

(转)Python3 zip() 函数

转:http://www.runoob.com/python3/python3-func-zip.html 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存. 我们可以使用 list() 转换来输出列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表. zip 方法在 Python 2 和 Python 3 中的不同:在 Python 2.

python3里函数怎么样使用元组或字典作为参数调用(复制他人博客)

在python3中可以采用如下方法: 函数(*(元组)) 函数(**{字典}) 如下例子:       function(*("whither", "canada?"))               元组       function(*(1, 2 + 3))                                   元组       function(**{"a": "crunchy", "b"

Python3 reversed 函数

描述 reversed 函数返回一个反转的迭代器. 语法 以下是 reversed 的语法: reversed(seq) 参数 seq -- 要转换的序列,可以是 tuple, string, list 或 range. 返回值 返回一个反转的迭代器. 实例 以下展示了使用 tuple 的实例: 实例 #!/usr/bin/env python3 # 字符串 seqString = 'Runoob' print(list(reversed(seqString))) # 元组 seqTuple =

Python3基础-函数作用域

参考文档:https://www.runoob.com/python3/python3-namespace-scope.html 作用域 作用域就是一个 Python 程序可以直接访问命名空间的正文区域. 在一个 python 程序中,直接访问一个变量,会从内到外依次访问所有的作用域直到找到,否则会报未定义的错误. Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的. 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称 作用域类型 L(Loca

python3 print函数的用法

1. 输出字符串 >>> strHello = 'Hello World' >>> print (strHello) Hello World 2. 格式化输出整数 支持参数格式化,与C语言的printf类似 >>> strHello = "the length of (%s) is %d" %('Hello World',len('Hello World')) >>> print (strHello)the len

Python3基础 函数 关键字参数 的示例

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: def FunAdd(jiaOne,jiaTwo,jianOne) : '单行函数文档' return (jiaOne+jiaTwo-jianOne) #你看这么多参数,万一顺序弄混了,就尴尬了. #所以关键字参数 res=FunAdd(jiaOne=1,jiaTwo=-3,j

Python3基础 函数名.__doc__显示一个函数的单行与多行函数文档

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: def FunAddOne(num) : '单行函数文档' return (num+1) def FunAddTwo() : """ 多行的函数文档 很多行哦 """ print(FunAddOne.__doc__) print