云图网
  • 业界资讯
  • 技术专区
    • 云计算
    • 人工智能
    • 信息安全
    • 大数据
    • 架构设计
    • 研发管理
    • 物联网
    • 数据库
    • 区块链
    • 大前端
    • 开源
    • 移动开发
    • Java
    • linux专区
    • PHP
    • python
    • 智能运维
    • 编程笔记
    • 编程教程
    • WordPress
  • AIGC
  • 企业战略规划
  • 下载专区
  • 江湖史
  • 随笔记录
登录 注册
投稿
  1. 云图网首页
  2. 技术专区
  3. python

python(三)函数

2022年9月6日 18:26 • python


(六)字符串的比较

  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)

python(三)函数

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)

python(三)函数

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'})

python(三)函数

案例:

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

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)
python(三)函数
返回值的上下关联
#返回值的关联
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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/python/287963.html

defloginpassWordprintpython函数返回值
赞 (0)
0 0
生成海报
pythonⅢ
上一篇 2022年9月6日 18:25
【Python】Python历史、优缺点和应用领域
下一篇 2022年9月6日 18:26

相关推荐

  • “不给力啊,老湿!”:RSA加密与破解 2022年5月18日
  • python3实现栈的逻辑详解编程语言 2021年7月19日
  • 并发编程与异步IO-Python 2022年7月14日
  • python之zip函数 2022年7月25日
  • Python正则表达式常用写法 2022年8月26日
  • Python 3.3 为改进代码中的异常处理所做的工作 2021年8月6日
  • NumPy ndarray数组元素的获取 2021年7月20日
  • Python 是慢,但我无所谓 2022年5月18日
  • Exaile 3.4.1 概览:一个全功能的GNOME音乐播放器 2021年8月5日
  • 理解 Python 的 Dataclasses(一) 2022年5月14日

发表回复

请登录后评论...
登录后才能评论
  • 欢迎投稿
  • 隐私政策
  • 使用协议
  • 服务条款
  • 版权声明

Copyright © 2006-2025 YTSO.COM 版权所有 鲁ICP备15002310号-3 Powered by WordPress

免责声明:本站信息来自互联网收集分享,版权归原创者所有,如果侵犯了您的权益,请发邮件给39941211@qq.com通知我们删除.