函数
神马是函数:
函数是对功能或动作的封装
函数的定义:
def 函数名(形参列表): #参数
函数体(return) 调用:
ret = 函数名(实参列表)
    函数名就是变量名:
函数名的命名规则:变量的命名规则
函数的调用:    函数名()
yue() #动作可以在任何时候任何地方访问
---------------------------------------------------------------------------------
def study():
print('起床')
print('锻炼')
print('上课')
print('吃饭')
print('下课')
print('回家')
return '好累啊' study()
print('周末休息啦')
feeling = study() #用变量接收返回值
print('学了一天感觉', feeling)
---------------------------------------------------------------------------------
函数的返回值
当函数转型之后,可以给调用者一个返回值 return
return,只要执行到return,函数的本次调用就会被停止.
1.如果函数不写return, 没有返回值,接收到的是None
2.写了return, return后面什么都不写或者return后面的是None,返回None
3.return 一个值.返回一个结果
4.return 值,值,值 返回多个值,结果是 元组 def day():
print('周一')
print('周二')
print('周三')
print('周四')
print('周五') return '休息了', '去逛街', '吃大餐', '睡懒觉' plan = day()
print(plan)
-----------------------------------------------------------------------
def yue(tools): #在函数声明的位置,给出来的参数叫形参.形式上的一个参数,用一个变量来表示
print('拿出手机')
print('打开%s' % tools)
print('找一找附近的人') yue('微信') #在函数调用的地方给出的具体的值.参数叫实参,实际参数
yue('陌陌')
yue('探探') 函数的参数(一部分)
参数:函数在调用的时候给函数传递的信息
形参:在函数声明的位置的变量
实参:在函数调用的时候给形参传递的值
传参:把实参传递(赋值)给形参的过程 在函数调用的时候,把实参的值赋值给形参的过程叫传参 实参的分类:
1.位置参数.按照位置给形参赋值
2.关键字参数. 按照形参的名字给参数赋值
3.混合参数,位置参数必须放前面,关键字参数放后面 形参的分类:
1.位置参数 按照位置来声明形参
2.默认值参数 当给参数传递值的时候不起作用,不给值,默认值起作用
默认值参数:共享 (例如默认值是个list,在函数运行中被改变了,则下次运行默认值是变化后的list)
3.动态传参
顺序:位置参数必须放在前面.默认值参数必须放在后面 函数的传参。
两方面: 实参角度:
1,位置传参。按顺序,一一对应。
2,关键字传参,不按顺序,一一对应。
3,混合传参,关键字参数永远在位置参数后面。
形参角度:
1,位置传参。按顺序,一一对应。
1,默认参数。传参则覆盖,不传则默认,默认参数永远在位置参数的后面。 ------------------实参:位置参数,关键字参数,混合参数------------------------
def chi(good_food, no_good_food, drink):
print("我要吃",good_food, no_good_food, drink) # chi("大米饭", "炸鸡", "冰峰") #位置参数
# chi(drink="哇哈哈", no_good_food="薯条", good_food="盖浇饭") #关键字参数#我要吃 盖浇饭 薯条 哇哈哈
chi("小米饭", "辣条", drink="可乐") #混合参数
chi(drink="可乐", "小米饭", "辣条") #报错,关键字参数要在位置参数后面 --------------------------形参:位置参数,默认参数-------------------------------------
def regist(name, age, gender="男", grade= 100):
print(name, age, gender,grade) regist("刘伟", 22)
regist("李铁帅", 27)
regist("高晓燕", 18, "女")
regist("李铁帅", 27)
regist("王阿花", 20,'女',90)
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27) 登录验证
def login(username, password):
if username == 'alex' and password == "123":
return True
else:
return False # 使用场景
name = input("请输入你的账号:")
pws = input("请输入你的密码:")
if login(name, pws):
print("进入刘伟的空间")
else:
print("用户名或密码错误, 请重新登陆!")
-----------------------------------------------------------
f(x) = x + 1
f(3) = 3 + 1 = 4
def f(x):
return x + 1
print(f(2)) ------------------------------------------------------------
s = "你好啊我叫塞利亚"
print(len(s)) def my_len(s):
count = 0
for el in s:
count+=1
return count
print(my_len(s))

Day9--Python--函数入门的更多相关文章

  1. Python函数(入门6)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407970.html 本文出自:[Edwin博客园] Python函数 1. Python之调用函数 pri ...

  2. python函数入门

    知识内容: 1.函数的作用 2.函数的定义与调用 3.函数的返回值 4.函数的参数 5.局部变量与全局变量 6.作用域 一.函数的作用 1.复用代码 将可能重复执行的代码封装成函数,并在需要执行的地方 ...

  3. python函数入门到高级

    函数的定义: def test(x): "The function definitions" x+=1 return x def:定义函数的关键字 test:函数名 ():内可定义 ...

  4. Python——函数入门(三)

    一.变量作用域 当程序定义一个变量时,这个变量是有它的作用范围的,变量的作用范围称为变量的作用域.根据变量的位置,分为两种: 局部变量:局部变量就是在函数中定义的变量,包括参数,都是局部变量,局部离开 ...

  5. Python——函数入门(二)

    一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用 ...

  6. Python——函数入门(一)

    一.理解函数 举一个例子,当我们需要重复使用一个功能的时候,不可能每次都去复制一次代码,这个时候就需要用到函数了,所谓的函数,简单来说就是给函数取一个名字,当需要用到这个功能的时候,就可以通过这个名字 ...

  7. 实验与作业(Python)-02 Python函数入门与温度转换程序

    截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...

  8. 实验与作业(Python)-02 Python函数入门与温度转换程序(函数、input、eval、int、float、列表)

    截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...

  9. python之函数入门

    python之函数入门 一. 什么是函数 二. 函数定义, 函数名, 函数体以及函数的调用 三. 函数的返回值 四. 函数的参数 五.函数名->第一类对象 六.闭包 一,什么是函数 函数: 对代 ...

  10. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

随机推荐

  1. mysql参数优化记录

    服务器参数16G内存,4核CPUvim /etc/my.cnf 原: back_log=170 max_connections=600 max_user_connections=0 thread_co ...

  2. Servlet3.0上传

    1.上传对表单限制 *method=post *Enctype=multipart/form-data,它的默认值是:application/x-www-form-urlencoded 表单中需要添加 ...

  3. Nginx stream ssl

    L 115 端口监听 netstat -anp | (端口名)

  4. CentOS安装、配置Nginx反向代理

    添加Nginx存储库 sudo yum install epel-release 安装Nginx sudo yum install nginx 启动Nginx sudo systemctl start ...

  5. maven+Spring+SpringMVC+Hibernate快速搭建

    目录结构: pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...

  6. 使用Guava获取某一个类的指定超类上的泛型Type T

    package com.geostar.gfstack.operationcenter.log.common.hibernate; import com.geostar.gfstack.operati ...

  7. Codeforces Round #507 Div. 1

    D:类似于noip2018d1t3,子树内的链应该贪心的尽量合并而不是拆开.则设f[i]为i子树内满足选的链尽量多的情况下根所在的链的最长长度即可.于是可以线性对某个k求得答案. 注意到长度为k的链不 ...

  8. Joseph POJ - 1012 约瑟夫环递推

    题意:约瑟夫环  初始前k个人后k个人  问m等于多少的时候 后k个先出去 题解:因为前k个位置是不动的,所以只要考虑每次递推后的位置在不在前面k个就行 有递推式 ans[i]=(ans[i-1]+m ...

  9. 大学java教案之MySQL安装图解

    一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe". 2.选择安装类型,有"Typ ...

  10. bzoj 1015: [JSOI2008]星球大战starwar (逆向思维+并查集)

    链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1015 思路: 题目是要我们对当前图拆掉k个点,问,每拆一个点后图中有多少个联通块,我们可以逆 ...