###############    函数的定义调用,返回值和返回值接收    ##############

def mylen():
s = "myname"
i = 0
for item in s:
i += 1
return i def func():
return {"name":"andy"},[1,2,3] l = mylen()
print(func()) # 从这个例子可以学到几个:函数的定义,函数的调用,函数的返回值, # 关于返回值有几种情况:
# 1是没有返回值,如果不写return,或者只写return,都是没有返回值的,只要执行了return就不会往后执行了,比如列表的append,没有返回值,
# 2是有一个返回值,可以返回一个列表,可以返回一个字典,return [1,2,3,4] return {name : andy}
# 3是有多个返回值,return 1,2 多个参数使用逗号分隔,
# 接收的时候可以使用一个变量接收,这个时候是一个元组的类型,
# 也可以使用使用两个参数接收,但是不能使用三个变量接收,会报错

###############    函数参数,形参实参,无参数,默认参数,不定长参数,调用使用位置参数,关键字参数,    ##############

########################
# 这种没有参数
def hollo1():
print('hello world')
hollo1() ###################
# 这是必需参数
def hollo2(name):
print('hello world')
print(name,'在唱歌...')
hollo2('andy') #######################
def hollo3(age,name):
print('hello world')
print('我今年%d岁了'%age)
print(name,'在唱歌...')
hollo3(name='andy',age=18)
# 这种函数调用的时候就使用了关键字参数,这样就可以不用管参数的顺序了,默认是位置参数,
# 位置参数和关键字参数,可以混用,但是要注意位置,
##########################
# 有了默认参数之后,调用函数的时候,这个参数可以不写,则使用默认值,
def hollo3(age,name='andy'): # 定义参数的时候,必须先定义位置参数,最后定义默认参数,默认参数也叫做关键字参数,
print('hello world')
print('我今年%d岁了'%age)
print(name,'在唱歌...')
hollo3(age=18) #############################
# 不定长参数,或者叫做动态参数
# 1,加了星号 * 的参数会以元组(tuple)的形式导入,加了两个星号 ** 的参数会以字典的形式导入。然后就可以像处理元组和字典一样处理参数了,
# 2,为什么会有这两种,就是一种位置参数,一种关键字参数,**kwargs就是用来接收关键字参数的,*args就是接收位置参数的,
# 3,先后顺序:必须先定义args,然后定义kwargs,如果有关键字参数一定放在kwargs之前,
# 4,参数名加星就可以了,后面的args,不是必须是这个,但是星一定要有,一般使用args,这是一种编码习惯,
def hollo3(name,*args,**kwargs):
print('hello world')
print(name,'在唱歌...')
print(args) # (60,70) # 这是返回一个元组
print(kwargs) # {'a': 1, 'b': 2} 这是一个字典, hollo3('andy',60,70,a=1,b=2)
# 如果是把一个列表一个一个的传进入
list1=[1,2,3,4]
hollo3(*list1)
# 如果是把一个字典一个一个的传进入
dict1={"name":"andy","age":1}
hollo3(**dict1)

###############    结束线    ##############

###############    结束线    ##############

python语法基础-函数-基础-长期维护的更多相关文章

  1. python语法基础-函数-进阶-长期维护

    ###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...

  2. python语法基础-函数-递归函数-长期维护

    ###############    递归   ############## # 递归的定义——在一个函数里再调用这个函数本身 # 递归的最大深度——998 # 二分查找算法 # 你观察这个列表,这是 ...

  3. Python学习笔记-函数基础

    函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...

  4. 深入理解python(一)python语法总结:基础知识和对python中对象的理解

    用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会 ...

  5. python学习总结 --函数基础

    函数基础 ### 函数简介 - 定义:具有特定功能的一段代码 - 优点: - 可以减少代码的重复书写 - 可以将功能的实现着和使用者分开,可以提高开发效率 - 分类: - 库函数:print.inpu ...

  6. Python学习day9 函数Ⅰ(基础)

    函数Ⅰ(基础) 三目运算 基本结构 v =  前面  if 条件 else 后面    #条件为真v=前面,条件为假v=后面.​#等同于if 条件: v = '前面'else:    v = '后面' ...

  7. Python之路-函数基础&局部变量与全局变量&匿名函数&递归函数&高阶函数

    一.函数的定义与调用 函数:组织好的.可重复使用的.用户实现单一或者关联功能的代码段.函数能够提高应用的模块性和代码的重复利用率.Python提供了很多内置的函数,比如len等等,另外也可以根据自己的 ...

  8. python语法之函数

    函数: 将特定功能代码编写在一个函数里 便于阅读和复用 对一组表达特定功能表达式的封装 使程序模块化 python内置函数: input(),print(),eval()... 函数定义 函数语法格式 ...

  9. python语法join函数

    Python语法中join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. vid = )

随机推荐

  1. POJ 1141 经典DP 轨迹打印

    又几天没写博客了,大二的生活实在好忙碌啊,开了五门专业课,每周都是实验啊实验啊实验啊....我说要本月刷够60题,但好像完不成了,也就每天1题的样子.如今写动规还是挺有条理的,包括这道需要打印轨迹,其 ...

  2. (转)ERROR : The processing instruction target matching "[xX][mM][lL]" is not allowed.

    现象:ERROR   : The processing instruction target matching "[xX][mM][lL]" is not allowed. 异常解 ...

  3. maven项目编译报错处理

    1.问题一: [ERROR] Failed to execute goal on project data-common: Could not resolve dependencies for pro ...

  4. Maven - No plugin found for prefix 'tomcat7' in the current project

    问题发现: 在构建Maven项目的时候,出现了No plugin found for prefix 'tomcat7' in the current project的错误. 是需要在Maven的Pom ...

  5. Centos配置NAT模式下的静态ip

    一.查看所在的ip段 点击 编辑-->虚拟网卡编辑器 选中vmware8网卡,点击 DHCP设置 二.编辑网卡配置文件 查看网卡 ip addr 命令打开配置文件 vi /etc/sysconf ...

  6. 微信小程序官方示例 官方weui-wxss下载于安装 详解

    1.小程序示例源码:https://github.com/wechat-miniprogram/miniprogram-demo 2.微信 weui下载地址:https://github.com/we ...

  7. 相信301跳转大家都知道 rewrite

    相信301跳转大家都知道,这样有利于权重集中,但是我在.htaccess文件写上: RewriteEngine on rewriteCond %{http_host} ^phpddt.com [NC] ...

  8. 理解自动梯度计算autograd

    理解自动求导 例子 def f(x): a = x * x b = x * a c = a + b return c 基于图理解 代码实现 def df(x): # forward pass a = ...

  9. 3.redis认证

    redis认证方法 1.redis.conf requirepass PASSWORD 2.redis-cli auth PASSWORD redis清空数据库 flushdb //清空当前数据库 f ...

  10. android 设置无标题栏主题

    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar">