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))
Python3 的函数(2)的更多相关文章
- Python3 isinstance() 函数
Python3 isinstance() 函数 描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: typ ...
- Python3 join函数和os.path.join用法
Python3 join函数和os.path.join用法 os.path.join()连接两个文件名地址的时候,就比os.path.join("D:\","test. ...
- Python3 round() 函数
Python3 round() 函数 Python3 数字 描述 round() 方法返回浮点数x的四舍五入值. 语法 以下是 round() 方法的语法: round( x [, n] ) 参数 ...
- Python3 reversed 函数
Python3 reversed 函数 Python3 内置函数 描述 reversed 函数返回一个反转的迭代器. 语法 以下是 reversed 的语法: reversed(seq) 参数 se ...
- Python3 range() 函数用法
Python3 range() 函数用法 Python3 内置函数 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表. Pyth ...
- Python3 chr() 函数
Python3 chr() 函数 Python3 内置函数 描述 chr() 用一个整数作参数,返回一个对应的字符. 语法 以下是 chr() 方法的语法: chr(i) 参数 i -- 可以是 10 ...
- Python3 tuple 函数
Python3 tuple 函数 Python3 内置函数 描述 tuple 函数将列表转换为元组.. 语法 以下是 tuple 的语法: tuple( seq ) 参数 seq -- 要转换为元组 ...
- Python3 bytes 函数
Python3 bytes 函数 Python3 内置函数 描述 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列.它是 b ...
- Python3 pow() 函数
Python3 pow() 函数 Python3 数字 描述 pow() 方法返回 xy(x的y次方) 的值. 语法 以下是 math 模块 pow() 方法的语法: import math mat ...
- Python3 filter() 函数
Python3 filter() 函数 Python3 内置函数 描述 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转 ...
随机推荐
- K:java中properties文件的读写
Properties类与.properties文件: Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集的类,不过Properties有特殊 ...
- MFC鼠标单击截获鼠标双击事件,且无法记录单击的数据的解决方案
遇到的问题: 鼠标点击会截断鼠标双击的事件,无法保存椭圆的数据.也就是说双击执行的过程是OnLButtonDown,OnLButtonUp,OnLButtonDblClk,OnLButtonUp.并不 ...
- Git详解之五:分布式Git
为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库.经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令.接下来,我们要学习下如何利用 Git 来组织 ...
- Vuejs之开发环境搭建
Vue.js Vue.js是目前很火的一个前端框架,采用MVVM模式设计,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快 ...
- VS2010 Extension实践(3)——实现自定义配置
在之前的两篇曾提到通过VSSDK(MSDN也叫VSX)来拓宽思路,实现一些MEF Extension所不能做到的功能,比如获取IVsUIShell服务来执行Command等等,这里我给各位看官展示如何 ...
- webpack 构建简单的vue项目
---恢复内容开始--- webpack主要执行流程: 入口→loader处理→出口 // webpack.config.js 文件:const path = require('path') // 引 ...
- H2Engine游戏服务器设计之属性管理器
游戏服务器设计之属性管理器 游戏中角色拥有的属性值很多,运营多年的游戏,往往会有很多个成长线,每个属性都有可能被N个成长线模块增减数值.举例当角色戴上武器时候hp+100点,卸下武器时HP-100点, ...
- php 使用beanstalk 消息队列
Beanstalkd 消息队列 一.基本信息Beanstalkd,一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有 ...
- Mvc项目部署IIS报错:没有为请求的URL配置默认文档,并且没有在服务器设置目录浏览
问题原因: 1.iis是在安装完.net framework 之后才安装的,需要进行iis注册,开始--运行--cmd,打开命令行提示符,输入命令如下 C:\Windows\Microsoft.NET ...
- 使用sysbench对mysql压力测试
sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.关于这个项目的详细介绍请看:https://github.com/akopytov/sy ...