东方耀AI技术分享

标题: 10、人工智能之Python机器学习_学习python的函数_笔记 [打印本页]

作者: 东方耀    时间: 2017-11-26 12:49
标题: 10、人工智能之Python机器学习_学习python的函数_笔记
10、人工智能之Python机器学习_学习python的函数
函数的定义: def  函数名   形式参数   文档字符串  函数体     调用函数 实际参数
实际参数的传递:  位置实参   关键字实参  任意数量的实参
给形式参数 指定 默认值  要放后面去
返回值: return   可以返回任何类型  列表 字典 也可以


传递列表  在函数中修改列表     禁止函数修改列表  列表的副本[:]


传递任意数量的实际参数     *params    空元祖     带星的必须放后面
传递任意数量的关键字实际参数   **params   空字典


存储在模块文件中  
1、 import 模块名      call :   模块名.函数名
2    import 模块名 as 模块别名    call :  模块别名.函数名


3    from  模块名 import 函数名   call:      函数名
4    from 模块名 import  函数名 as 函数别名    call :   函数别名


5    from 模块名  import *     call:   函数名


函数编写指南:
1  需要 文档字符串  ***XXX***
2  形参指定默认值  等号两边不能有空格    关键字实际参数也一样
3  形参很多 分多行    2个Tab
4  多个函数之间 用 2个空行分开
5 import 语句都应该放在文件开头


作者: 297490759    时间: 2017-12-22 00:51
谢谢东方曜老师
作者: starstar690    时间: 2017-12-25 16:19
人工智能之Python机器学习_学习python的函数
作者: 东方耀    时间: 2018-1-9 10:41
# return返回多个返回值
def sum(x,y):
    return x,y

num = sum(1,2)
#用一个变量接受多个返回值,会保存在一个元组中
print(num)

num1,num2 = sum(1,2)
print(num1)
print(num2)
作者: 东方耀    时间: 2018-1-9 11:23
#局部变量:声明在函数内部的变量是局部变量
#局部变量的作用于只在于函数中,外部无法使用
作者: 东方耀    时间: 2018-1-9 11:24
  1. #全局变量
  2. def test1():
  3.     print(a)
  4.     print(id(a))

  5. def test2():
  6.     print(a)  
  7.     print(id(a))

  8. a = 1
  9. test1()
  10. test2()

  11. print(a)
  12. print(id(a))  
  13. #大家使用的是同一个变量,全局变量
复制代码

作者: 东方耀    时间: 2018-1-9 11:43
  1. ''''
  2.     修改全局变量
  3.     使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字
  4.     引用全局变量,不需要golbal声明,修改全局变量,需要使用global声明,特别地,列表、字典等如果只是修改其中元素的值,可以直接使用全局变量,不需要global声明
  5. '''
  6. def test1():
  7.     global a  
  8.     a = 2
  9.     print(a)
  10.     print(id(a))

  11. def test2():
  12.     global a
  13.     a = 3
  14.     print(a)  
  15.     print(id(a))

  16. a = 1
  17. print(a)
  18. print(id(a))
  19. print('*'*18)
  20. test1()
  21. test2()
  22. print('*'*18)
  23. print(a)
  24. print(id(a))
复制代码

作者: 东方耀    时间: 2018-1-9 11:46
  1. '''
  2.     练习:ATM机
  3. '''
  4. #登录验证
  5. def login(passwd):
  6.     pwd = '888888'
  7.     if passwd == pwd:
  8.         return True
  9.     else:
  10.         return False

  11. #2.金额验证
  12. def checkMoney(money):
  13.     if money.isdigit():
  14.         if int(money) % 100 ==0 and 0<= int(money) <=1000:
  15.             return money
  16.         else:
  17.             return False
  18.     else:
  19.         return False

  20. #业务逻辑写到主程序当中
  21. def main():
  22.     #1.登录验证
  23.     for i in range(3):
  24.         passwd = input('请输入密码:')
  25.         if passwd == 'n':
  26.             break
  27.         if login(passwd):
  28.             # 2.金额验证
  29.             while True:
  30.                 money= input('请输入金额:')
  31.                 money = checkMoney(money)
  32.                 if money :
  33.                     print('成功取出%s元'%money)
  34.                     break
  35.                 else:
  36.                     print('输入的金额有误!请重新输入')
  37.             # 3.交易完成
  38.             print('交易完成')
  39.         else:
  40.             if i == 2:
  41.                 print('您连续三次密码有误,账号已冻结!')
  42.                 break
  43.             print('密码有误')

  44. main()
复制代码

作者: 青青子豫    时间: 2018-3-16 09:25
非常感谢,正是我需要的
作者: longjiacheng    时间: 2018-3-19 21:21
66666666666666666666
作者: aiai    时间: 2018-8-4 13:41
10、人工智能之Python机器学习_学习python的函数_笔记
作者: Tinux    时间: 2018-8-17 15:06
好复杂!慢慢学
作者: 命中爱注定    时间: 2018-11-28 22:14
111111111111
作者: lishaoqiang    时间: 2019-7-1 17:30
努力学习中
作者: zocmiu    时间: 2020-3-1 11:42
好老师,谢谢楼主分享!66666666666666666
作者: zocmiu    时间: 2020-3-1 11:43
好老师,谢谢楼主分享!66666666666666666




欢迎光临 东方耀AI技术分享 (http://www.ai111.vip/) Powered by Discuz! X3.4