#函数应用
# 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. CVPR2020:视觉导航的神经拓扑SLAM

    CVPR2020:视觉导航的神经拓扑SLAM Neural Topological SLAM for Visual Navigation 论文地址: http://openaccess.thecvf. ...

  2. C#后台定义一个DataTable并手动写入静态数据(测试数据)

    //创建一个DataTable,并为之添加数据(自定义DataTable) DataTable dtz = new DataTable(); //添加Table中的列 DataColumn dc1 = ...

  3. SpringBoot原理深入及源码剖析(一) 依赖管理及自动配置

    前言 传统的Spring框架实现一个Web服务需要导入各种依赖jar包,然后编写对应的XML配置文件等,相较而言,SpringBoot显得更加方便.快捷和高效.那么,SpringBoot究竟是如何做到 ...

  4. 狂神说redis笔记(四)

    十二.Redis主从复制 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), ...

  5. 强化学习之CartPole

    0x00 任务   通过强化学习算法完成倒立摆任务,控制倒立摆在一定范围内摆动. 0x01 设置jupyter登录密码 jupyter notebook --generate-config jupyt ...

  6. 我的物联网大学【第二章】:Luat的出世

    壹 启动火种 有一位软件行业的大神,名字叫做许小刚. 小刚是一位憨厚的年轻的码农,嵌入式.后端.前端,无所不能,是一个很牛的物联网全栈工程师,也是一家物联网软件公司的创始人兼CEO. 有次跟我.老陆. ...

  7. 使用Azure WebJob的一点心得

    Azure WebApp Service 是非常适合中小型项目的云服务. 从我实际使用的感受来看, 有如下几个优点: 1 部署方便, 可以从VS一键发布 2 缩放方便, scale in / scal ...

  8. Hive和Spark分区策略

    1.概述 离线数据处理生态系统包含许多关键任务,最大限度的提高数据管道基础设施的稳定性和效率是至关重要的.这边博客将分享Hive和Spark分区的各种策略,以最大限度的提高数据工程生态系统的稳定性和效 ...

  9. Go语言获取Ubuntu所有网卡名

    Go语言获取Ubuntu所有网卡名 需求 获取当前机器下所有网卡名,以字符串数组的形式返回 实现demo package main import ( "fmt" "os/ ...

  10. ES6的 class的基本语法

    1.类的由来 JavaScript 语言中,生成实例对象的传统方法是通过构造函数,但是这种写法跟传统的面向对象语言差异很大,容易让不熟悉这门语言的程序员感到困惑,下面有一个例子    ES6提供了更接 ...