#函数应用
# 1.语法
"""
def 函数名(参数):
函数体
"""
# 2. 没有参数的函数
# def readbook():
# print("拿起一本书")
# print("看书")
# print("关闭")
# readbook()

# 3. 有参数的函数
# def readbook(name,start,end):
# print(name + "拿起了一本书")
# print("从第" + str(start) + "页看到第" + str(end) + "页")
# print("{}-->看完了".format(name))
# print("ending")
# readbook("Tom",1,10)

# 4.默认参数 不能放在正常参数的前面
# start=1 报错:SyntaxError: non-default argument follows default argument
# def readbook(name,start,end=10): #end 形参
# print(name + "拿起了一本书")
# print("从第" + str(start) + "页看到第" + str(end) + "页")
# print("{}-->看完了".format(name))
# print("ending")
# readbook("Tom",1,50) #实参 end同时存在优先使用实参
# print("\n")
# readbook("Tom",1) #end有形参 end=10

# 5.关键字参数 形参=实参
# def readbook(name,start,end): #end 形参
# print(name + "拿起了一本书")
# print("从第" + str(start) + "页看到第" + str(end) + "页")
# print("{}-->看完了".format(name))
# print("ending")
#形参=实参
# readbook(name="Tom",start=1,end=50) #实参 end同时存在优先使用实参

# 6. return 关键字
# 接口测试实例
# def Login_order():
# # 服务器返回的session值
# return "wqeiqwmdqwmddfqrfgtq"
#
# def Myorder(session):
# #查询我的订单
# if session == "wqeiqwmdqwmddfqrfgtq":
# print("Login success!")
# print("你可以查询我的订单了")
# return True #return后面不跟代码,跟了也不执行
# # print("wqeiqwmdqwmddfqrfgtq")
# else:
# print("Login failed")
# return False
#
# if __name__ == '__main__':
# Myorder(Login_order())

# 7. 可变参数
# * 接收的是一个元组/列表,参数是不固定的
# def speak(name,*list):
# print("输出" + str(name) + "个人信息\n")
# print(list)
# list = ("name:tang","age:18","address:jx")
# speak("tang",*list)

# ** 接收的是一个字典,参数是不固定的
# def speak(name,**list1):
# print("输出" + str(name) + "个人信息\n")
# print(list1)
# list1 = {"name1":"糖","age":"18","address":"深圳"}
# speak("tang",**list1)
# key 不能重名 报错:TypeError: speak() got multiple values for argument 'name'

# 8.lambda 匿名函数(表达式)
# F1 = lambda x,y:print(x+y)
# F1(1,5)
#6

# F2 = lambda name:print("你好:",name)
# F2("Jack")
#你好: Jack

#函数实例
#需求,实现不同版本打招呼的方式

# def Chinese(name):
# print("您好:" + str(name))
# print("欢迎您使用中文版的手册")
#
# def English(name):
# print("Hello:" + str(name))
# print("Welcome to use english book")
#
# while True:
# name = input("请输入您的姓名")
# print("请开始你的选择")
# language = int(input("请输入您要选择打招呼的方式:\n"
# "1.选择中文版\n"
# "2.选择英文版\n"
# "3.选择日文版\n"
# "4.选择4 自动退出"))
# if language == 1:
# Chinese(name)
# elif language == 2:
# English(name)
# elif language == 3:
# (lambda name:print("こんにちは:",name))(name)
# elif language == 4:
# break
# else:
# print("输入有误")

#或者
# def Chinese(name):
# print("您好:" + str(name))
# print("欢迎您使用中文版的手册")
#
# def English(name):
# print("Hello:" + str(name))
# print("Welcome to use english book")
#
# while True:
# name = input("请输入您的姓名")
# print("请开始你的选择")
# if name == "stop":
# break
# language = int(input("请输入您要选择打招呼的方式:\n"
# "1.选择中文版\n"
# "2.选择英文版\n"
# "3.选择日文版\n"
# "4.选择4 自动退出"))
# if language == 1:
# action = Chinese
# elif language == 2:
# action = English
# elif language == 3:
# action = lambda name:print("こんにちは:",name)
# elif language == 4:
# break
# else:
# print("输入有误")
# action(name)

"""
需求: 一个用户登录成功后显示用户的账号
1.注册,就是把注册的账号和密码写入到记事本中
2.登录,从记事本中读取出账号和密码
3.登录成功后,打印登录后的账号信息:xxx,欢迎你,登录系统
4.优化.....
5.增加.....
"""

# def resiger(username,password):
# #注册功能
# # username = input("请输入注册的用户名:")
# # password = input("请输入注册的密码:")
# temp = username + "|" + password
# with open("login.txt","w") as file:
# file.write(temp)
#
# def login(username,password):
# #登录功能
# # username = input("请输入登录的用户名:")
# # password = input("请输入登录的密码:")
# List1 = open("login.txt","r").read().split("|")
# # print(List1,type(List1))
# if username == List1[0] and password == List1[1]:
# # print("Login is ok!")
# return True
# else:
# # print("Login is error")
# return False
#
# def getinfo(bool):
# #获取登录后的用户信息
# fp = open("login.txt", "r")
# list2 = fp.read().split("|")
# if bool:
# print("恭喜您!{}登录成功,请开始你的操作".format(list2[0]))
# else:
# print("登录失败")
#
# def exit():
# #退出系统
# import sys
# sys.exit(1)
#
# def getUsername():
# #用户名账号封装
# username = input("请输入账号:")
# return username
#
# def getPassword():
# #密码封装
# password = input("请输入密码:")
# return password
#
# def Main():
# #主函数的入口
# while True:
# choice = int(input("1.注册 2.登录 3.退出"))
# if choice == 1:
# resiger(getUsername(),getPassword())
# elif choice == 2:
# #login()
# s = login(getUsername(),getPassword())
# if s:
# getinfo(True)
# else:
# print("登录失败")
# elif choice == 3:
# exit()
# else:
# break
#
# if __name__ == '__main__':
# Main()

# 函数实现 写一个创建xx下面的文件的方法 用os+函数的默认参数是实战

import os
def dirname(filename=None,datafile=None):
"""
创建某个目录下的文件
:param filename:目录名字
:param datafile:文件名字
:return:
"""
return os.path.join(os.path.dirname(__file__),filename,datafile)
#D:/Test/Python基础入门/练习\data\token
# print(dirname("data","token"))

with open(dirname(filename="data",datafile="token"),"w") as file:
#文件的写入
file.write("hdiadknkxasdhabkjndkudadasfdada")

#作业
"""
1. 写一个计算器工具 +-*/ (选择-->输入参数-->代码自动执行)
2. 写一个文本过滤器,结合IO编写
1)创建文件
2)写入内容,对写入的内容进行敏感词判断
3)调用函数入参
"""

python基础之函数的应用的更多相关文章

  1. python基础——匿名函数

    python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便.  在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...

  2. python基础——返回函数

    python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.  我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...

  3. python基础——sorted()函数

    python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...

  4. python基础——filter函数

    python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  5. python基础——匿名函数及递归函数

    python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...

  6. 八. Python基础(8)--函数

    八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x):     ' ...

  7. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

  8. Python学习笔记(一)python基础与函数

    1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world > ...

  9. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  10. Python基础__函数

    本节将进入函数的介绍,函数是Python基础中最精彩的部分之一,接下来将对函数做详细介绍.函数 函数就是对代码进行一个封装.把实现某一功能的代码进行封装到一起.下次需要使用时不需要进行编写代码直接调用 ...

随机推荐

  1. 使用NVIDIA GRID vPC支持视频会议和算力工具

    随着2020年的发展,远程工作解决方案已成为许多人的新常态.企业正在寻找行之有效的解决方案,如虚拟桌面基础设施(VDI),以使他们的团队能够在任何地方安全地工作.然而,最新的算力和视频会议应用程序需要 ...

  2. Nucleus 实时操作系统中断(下)

    Nucleus 实时操作系统中断(下) Nucleus RTOS兼容性 由于中断在Nucleus SE中的实现方式与Nucleus rto截然不同,因此不应期望有特定的兼容性.Nucleus RTOS ...

  3. 编译原理-DFA的化简(最小化)

    对于给定的DFA    M,寻找一个状态数比M小的DFA    M'使得L(M)=L(M') 1.状态的等价性: 假设s和t为M的两个状态 ①若分别从状态s和状态t出发都能读出某个字α而停止于终态,则 ...

  4. Redis 入门权威指北

    前言 看看业务遇到了什么问题? 我们要从互联网架构的演变之路开始说起Redis的前世今生. 在我们小的时候,网络世界好像就是只有通过大屁股台式机才能进入一样,彼时的手机只是用来打打电话,发发短信,网上 ...

  5. 再看 Java 中的单例

    此前面试遇到了单例问题,本以为已经背的滚瓜烂熟,没想到被问单例如何避免被反射和序列化破坏,虽然后来还是等到了通知,但还是复习一下单例的实现方式,并学习防止反射和序列化破坏的手段. 基本实现方式 其他相 ...

  6. Mysql慢SQL分析及优化

    为何对慢SQL进行治理 从数据库角度看:每个SQL执行都需要消耗一定I/O资源,SQL执行的快慢,决定资源被占用时间的长短.假设总资源是100,有一条慢SQL占用了30的资源共计1分钟.那么在这1分钟 ...

  7. 安装ogg软件报错:[INS-75012]Sofware Location specified is already an existing Oracle

    1.安装ogg软件时报错: [INS-75012]Sofware Location specified is already an existing Oracle 2.根据报错,是说我们选择ogg软件 ...

  8. C#关于数据库中存储的用户权限类似 "普通员工,管理员" 如何在代码中读取分析权限

    之前在看某些数据库的用户权限的表时,发现字段是这样类似这样存储的"  普通员工,管理员 ",当时觉得他们是通过分割字符串来分析权限的.后来读到 Liam Wang  的 https ...

  9. Ubuntu安装部署Kafka

    Ubuntu安装部署Kafka 环境: Ubuntu 18.04.4 LTS ,JDK1.8,kafka_2.12-2.3.1 确保已经安装了JDK,JDK安装过程不再赘述.可参考文章xxxx 一.下 ...

  10. Go语言Slice作为函数参数详解

    Go语言Slice作为函数参数详解 前言 首先要明确Go语言中实质只有值传递,引用传递和指针传递是相对于参数类型来说. 个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装为结构体,结构体是值 ...