• python学习笔记-day5-函数


    终于说到python的函数了,很重要的一个东西,而且涉及到各种参数,详细记录一下。

    一、函数的定义

    #函数或是方法,功能
    #1、提高代码的复用性
    #2、让代码更简洁,简化代码


    #一、函数定义
    #使用def
    def sayHello(): #函数名
    print('Hello') #函数体
    #函数不调用是不会被执行的

    #函数调用
    sayHello() #调用函数

    二、函数的参数

    1、位置参数
    def calc(a, b):  #形参,形式参数
    #位置参数,必填参数,调用时一定要写
    res = a * b
    print('%s * %s = %s'% (a, b, res))
    calc(7,8) #实参,实际参数

    函数使用示例:

    #操作文件的函数
    # 通过默认值参数进行判断是读还是写
    def op_file(file_name, content=None): #默认值参数
    #默认值参数,它是非必填的
    f = open(file_name, 'a+', encoding='utf-8')
    f.seek(0)
    all_users = ''
    if content: #不为空,代表写
    #写文件
    f.write(content)
    f.flush()
    else:
    #为空,代表读文件
    #print(f.read())
    all_users = f.read()
    f.close()
    return all_users #调用完函数之后,返回什么结果
    op_file('a.txt', 'xxxx,123456')
    res = op_file('a.txt')
    print(res)


    三、变量

    1、局部变量
    #函数里面定义的变量,都是局部变量,只能在函数里面用,
    # 出了函数之后就不能用了

    #return
    #1、把函数处理的结果返回回来
    #2、结束函数,函数里面遇到return,函数会立即返回

    def haha():
    #函数里遇到return就立即结束了
    for i in range(5):
    print(i)
    if i == 3:
    return #只写一个return的话,就返回None

    res = haha()
    print(res)

    2、函数的示例程序
    (1)校验密码
    import string
    def check(pwd):
    #长度6-11
    #字母和数字吧
    if len(pwd) >5 and len(pwd) <12:
    if set(pwd)&set(string.ascii_letters) and set(pwd) & set(string.digits):
    print('密码合法.')
    else:
    print('密码不合法.')
    else:
    print('密码不合法.')
    res = check('adbs1234') #函数里面如果没有return的话,默认返回的是None
    print(res)

    #示例
    lst = [1,2,3,4,5,6]
    print(lst.sort()) #sort没有返回值而已,是直接对lst操作的
    (2)#判断是否是小数
    # 需求分析:
       #1、 小数点个数  .count()
    # 2、按照小数点进行分割 1.98 [1,98] s.87 98.s1
    #3、正小数:小数点左边是整数 右边也是整数 .isdigits()
    # 负小数:小数点左边是以负号开头,但是只有一个负号,右边也是整数 -9.85
    def is_float(s):
    s = str(s)
    if s.count('.') == 1: #小数点个数为1
    s_lst = s.split('.')
    left = s_lst[0] #小数点左边
    right = s_lst[1] #小数点右边
    if left.isdigit() and right.isdigit(): #正小数时
    return True
    elif left.startswith('-') and left.count('-') == 1 and
    left.split('-')[1].isdigit() and
    right.isdigit(): #判断合法负小数
    return True
    return False
    print(is_float(1.98))
    print(is_float(-2.97))
    # print(is_float(-1))
    # print(is_float(129))
    # print(is_float('s.87'))
    # print(is_float('1.8s7'))
    # print(is_float('--98.123'))
    # print(is_float('--98.1-23'))
    print(is_float(1.0))
    print(is_float(0.0))

    2、常量
    #一个不变的值
    PORT = 3306 #常量,一般以大写来标识
    FILENAME = 'user.txt'

    money = 500

    def test(consume): # 500
    return money - consume

    def test1(money):
    return test(money) + money

    money = test1(money)
    print(money)
    #money=500
    3、全局变量
    #公共的变量,都可以用的变量
    #1、不安全,因为所有有都可以改
    #2、全局变量它会一直占着内存

    name = '小白' #name为全局变量

    #如果要改全局变量的话,那你要先声明一下,你要修改的值是全局变量
    def sayName():
    global name
    name = '小黑'
    print('name1:', name)

    def setName():
    global name
    name = '摸手哥'

    def lw():
    age = 23
    return age
    sayName()
    setName()
    print('name2: ', name)

    def test():
    global a
    a = 5
    def test1():
    c = a + 5
    return c
    test() #调用test(),把全局变量a定义了,下面就不会报错了
    res = test1()
    print(res)

    def op_mysql(host, port, username, password, db, charset,sql):
    print('连接数据库')

    #传参方式2
    op_mysql(sql='select * from user;',
    host='192.168.1.11',
    username='abc',
    password='123456',
    db='test',
    charset='utf-8',
    port='xxxx')

    #或者这样传参3,可以混合使用
    op_mysql('192.168.1.11',
    db='',
    username='',
    password='',
    charset='',
    port='')


     
    总是想多努力一点的人
  • 相关阅读:
    centos5&6的启动过程
    linux之目录知识
    js动画
    js操作高级
    js操作
    JS基础
    跨域问题
    MySQL存储引擎
    MySQL索引管理
    MySQL操作命令
  • 原文地址:https://www.cnblogs.com/shmily2018/p/8892297.html
Copyright © 2020-2023  润新知