首页 > 编程语言 >python(三)函数

python(三)函数

时间:2022-09-06 17:34:08浏览次数:71  
标签:函数 python print 返回值 login password def

(六)字符串的比较

  1. is 是通过比较两个对象的内存地址,查看内存地址的方法是id()

  2. in 是包含

  3. == 是类型和内容一致

a=1
b=1
print(id(a))
print(id(b))
if a is b:
  print('a和b的内存地质一样')

str1='aa,bb,c'
str2='aa'
if str2 in str1:
  print('str1包含了str2')
else:
  print('str1不包含str2')

a=1
b='1'
if a==b:
  print('ok')
else:
  print('no')
if a==int(b):
  print('ok')
else:
  print('no')

(七)多个元素的分离

两种方式,第一种是切片方法,第二种的分离

#分离
list1=['python','华为','淘宝','百度']
#第一种切片方式
print(list1[1:])
#第二种
language,*company=list1
print(language)
print(company)

六.函数

所谓函数,就是把重复的代码单独的分离出来,放在⼀个公共的地⽅,以后可以⼀直的进⾏调⽤,这样就可以解决 多次重复来编写。

1.定义函数

def sum(a,b): print(a+b)

2.调用函数以后函数才有用

sum(a=1,b=2) sum(1,2))

#定义函数
def sum(a,b):
  print(a+b)
#调用函数才有用
sum(a=1,b=2)
sum(3,4)

3.定义函数的时候备注变量

比如定义登录函数

#定义登录函数,并且备注定义参数
def login(username,password):
  '''

  :param username: 登录用户名
  :param password: 登录密码
  :return:
  '''
  if username=='zx' and password==123456:
      print('login sucess')
  else:
      print('login fail')
#调用函数
login('zx',123456)

1.形式参数,函数的参数

2.实际参数,赋的值

3.默认参数

比如只默认了username,必须放在没有默认的参数后边

 # 默认参数
# def login(username='zx',password):   默认参数只能在后边,否则出错
def login(password,username='zx'):
  '''

  :param username: 登录用户名
  :param password: 登录密码
  :return:
  '''
  if username=='zx' and password==123456:
      print('login sucess')
  else:
      print('login fail')
login(123456)

4.动态参数:当一个函数形式和个数都不确定的时候使用

加一个星号是给到元组,加两个星号是给到字典

1.定义动态参数

def func(*args,**kwargs): print(args,kwargs) print(type(args),type(kwargs))

  • 不是字典的格式默认都会变成元组内部的一个元素

  • 列表都会给元组的

2.将数据里边的字典给字典,其他给元组的方法

1.在定义输出动态参数的时候加好星号

def func(*args,**kwargs): print(args,kwargs)【在这里加好星号】 print(type(args),type(kwargs))

2.在调用函数的时候各自加好星号

func([1,2,3],('a','b'),**{'name':'zx'})

加一个*是给到元组,加**是给到字典
def func(*args,**kwargs):
  print(args,kwargs)
  print(type(args),type(kwargs))
#不是字典的格式默认都会变成元组内部的一个元素
func(1,2,3)
func([1,2,3])
func([1,2,3],('a','b'),{'name':'zx'})
#以字典形式出现会给到字典
func(a='1',b='2')
#想把某个数据给到元组加**
func([1,2,3],('a','b'),**{'name':'zx'})

案例:

接口测试中需要测包含姓名年龄的数据、测只有姓名、年龄等的数据。动态参数需要什么上传什么即可

def func(**kwargs):
  print(kwargs)

func(name='zz',age=18,)
func(name='zz',age=18,sex='girl')

5.函数的返回值

在单个函数而言,有没有返回值其实没有多大意义,函数的返回值核心思想是通过函数的返回值可以把函数与函数关联起来,比如登录成功返回token,带上token可以访问个人主页。

关于返回值的几点: 1、函数的返回值是在函数的表达式中,return关键字后面, return关键字后面就是函数的返回值 2、一个函数可以有多个返回值 3、单一个函数没有写return的时候,不代表函数没有返回值,其实它的返回值是None

要拿到函数的返回值,单独的调用不行,需要输出或者把函数的返回值赋予一个变量,变量的返回就是所需返回值

多个返回值
#一个函数有多个返回值
def login2(username,password):
  return username,password

a,b=login2(username='zx',password=123)
print(a)
print(b)
返回值的上下关联
#返回值的关联
def login(username='zx',password=123):
  if username=='zx' and password==123:
      return 'asertdf'
  else:
      return '登录账户错误'
print(login())

def profile(token):
  if token=='asertdf':
      print('欢迎访问个人主页')
  else:
      print('重定向到登录页面')
profile(token=login())
profile(token=login(password=234))
函数没有返回值
#当一个函数没有return的时候返回是None,不代表没有返回值
def sum(a,b):
  print(a+b)
print(sum(1,2))

6.全局变量、局部变量

全局变量:在一个python文件里边定义的变量叫全局变量

局部变量:在一个函数的内部定义的变量叫局部变量

优先级:

1.在Python文件内,当全局变量和局部变量一致时,全局变量优先级高

2.在函数内部,局部变量优先级高

name='aa'
def func():
  name='bb'
  print(name)

print(name)   ——输出的优先aa

7.匿名函数

1、lambda():匿名函数

匿名函数,左边是形式参数右边是实质参数

img

8.内部函数

  1. 创造数据0-4,强制转换为列表类型

  2. 如何实现列表大于2的结果3种方式

  3. filter过滤函数,list强制转换为列表的形式

  4. map函数对所有元素做相同的操作,list强制转换数据类型

#内部函数
#匿名函数,左边是形式参数右边是实质参数
求和=lambda a,b:a+b
print(求和(3,4))
#range 范围
for item in range(2,10):
  print(item)
   
#创造数据0-4,强制转换为列表类型
print(list(range(5)))

#如何实现列表大于2的结果3种方式
#1.列表推导式
lists=[x for x in range(10) if x>2]
# print(lists)
#2.传统推倒
lists=[x for x in range(10) ]
list1=[]
for item in lists:
  if item>2:
      list1.append(item)
print(list1)

#3.filter过滤函数,list强制转换为列表的形式
# list7=[x for x in range(10)]
# print(filter(lambda x:x>2,list7))
# print(list(filter(lambda x:x>2,list7)))

# #map函数对所有元素做相同的操作,list强制转换数据类型
list0=[x for x in range(10)]
# # print(map(lambda x:x+10,list0))
# # print(list(map(lambda x:x+10,list0)))
#传统操作为每个元素赋值
list0=[x for x in range(10)]
listz=[]
for item in list0:
  listz.append(item+10)
print(listz)
1、filter():过滤某些元素。

如下图所示: img

2、map():对所有的元素做同样的操作。

如下图所示: img

标签:函数,python,print,返回值,login,password,def
From: https://www.cnblogs.com/zxx4/p/16662602.html

相关文章

  • pythonⅢ
    '''字符串的比较is:看通过id()对象的内存地址,查看内存地址的方式in:包含==:类型及内容一致'''a=1b=1print(id(a))print(id(b))ifaisb:    print('a和b内存地址都一样......
  • CentOS7 安装 python 3.7.4
     CentOS7安装python3.7.4 #安装环境(最小化安装)CentOSLinuxrelease7.0.1406(Core)#下载安装包https://www.python.org/ftp/python/3.7.4/Python-3.7.4.......
  • python struct unpack
    pythonstructunpackmsg=self.serverSocket.recv(1024)#接受服务端消息AngleSensorST,y_Angle_deg,x_Angle_deg,Z_Angle_deg,AngleDeviceTEMP,WatchdogCount=st......
  • 为了防止这个公众号被封,我连夜用Python爬取了它所有图片~
    哈喽兄弟们,今天来试试批量获取公众号文章,emmm…  虽然名义上是文章,单其实它是一篇纯图片文,至于为什么不是文字,小姐姐不比文字香?  事前准备 ......
  • python requests.post() 请求中 json 和 data 的区别
    requests.post()请求中json和data的区别post请求中,可以使用data传递参数,也可以使用json传递参数。那么,两种方式有什么区别?1.如果参数为JSON数据,可以直接传入json参......
  • 10.6 函数参数定义_个数可变的位置形参_个数可变的关键字形参
     deffun(*args):#函数定义时,个数可变的位置参数print(args)fun(10,20,30)#输出结果为元组deffun1(**args):#函数定义时,个数可变的关键字形参......
  • C++ 初识函数模板
    1.前言什么是函数模板?理解什么是函数模板,须先搞清楚为什么需要函数模板。如果现在有一个需求,要求编写一个求2个数字中最小数字的函数,这2个数字可以是int类型,可以......
  • python基础语法
    Python标识符在Python里,标识符由字母、数字、下划线组成。在Python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python中的标识符是区分大小写......
  • python项目结束后权限管理配置
    一、创建rbac的apppythonmanage.pystartapprbac注入;settings.py的INSTALLED_APPS中二、创建rbac表,在rbac的models.py中添加fromdjango.dbimportmodels#权限......
  • Python 中的 sorted 和 sort的区别
    Python中的sorted和sort的区别#sort与sorted区别:#sorted()是内置函数.sorted可以对所有可迭代的对象进行排序操作,有返回值,返回列表;#sort是list上的方法,是对......