python中sep,end,split,map的用法

本文详细解析了Python中print函数的sep和end参数的作用,以及split和map函数的使用方法。通过具体示例,展示了如何控制输出格式,进行字符串分割和序列映射,适合Python初学者和进阶者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做题的时候不懂输出时sep和end的区别,做一下总结
1.print输出时 无参数

print("hello","python",sep="")
print("hello","python",sep=" ")
print("hello","python",end="")
print("hello","python")

在这里插入图片描述
第一个输出时将字符串完全输出,且中间没有隔开,而第四个print常规输出时,会默认一个空格,sep="",在这里是省掉空格全部输出,输出后鼠标落在末尾。
sep="“输出时,无间隔
sep=” " 输出时,以空格隔开,鼠标落在末尾
end="" 输出时,以空格隔开,鼠标落在下一行的开始

2.end参数输出

print("yellow","pink","red",end=',')
print("yello","pink","red",end="^")

在这里插入图片描述
end=’,’
每次输出结束时都用end设置的参数“,”结尾,且没有默认换行
end="^"
每次输出结束时都用end设置的参数^结尾,且没有默认换行
‘’ “” 在python3中的可以使用
3.sep参数

print("yello","pink","red")
print("yellow","pink","red",sep=',')
print("yello","pink","red",sep="^")

在这里插入图片描述
sep=’,’ sep="^"
输出结束根据sep中的参数,分割,且转行
4.split
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法:str.split(str="",num=string.count(str))[n]
参数说明:
str:表示为分隔符,默认为空格,但是不能为空(’’)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:表示选取第n个分片
注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略

1…以’.'为分隔符

t="www.baidu.com"
print(t.split('.'))

在这里插入图片描述
2.split()

t="www.baidu.com"
print(t.split())
t='a'
print(t.split())
t1='1,2,3,4'
print(t1.split())

在这里插入图片描述
3.分割两次

t="www.gziscas.com.cn"
print(t.split('.',2))

在这里插入图片描述
4.分割两次,并取序列为1的项

t="www.baidu.com"
print(t.split('.',2)[1])

在这里插入图片描述
5.map()函数
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的迭代器。《python3的情况》
Python 2.x 返回列表。
Python 3.x 返回迭代器。

def f(x,y):
    return (x,y)
a=[0,1,2,3,4,5,6]
b=['sum','app','pear','sfr']
t=list(map(f,a,b))
print(t)

在这里插入图片描述

<think>好的,我现在需要回答用户关于Python函数使用方法的问题。用户之前询问过“python爱心代码高级”,现在转向基础内容,可能是一位刚开始学习Python的新手,或者是想巩固基础知识的开发者。首先,我需要确保回答内容清晰、易懂,覆盖函数的基本概念、定义、参数、返回值、作用域以及常用技巧。 用户可能已经了解一些Python语法,但对函数的具体使用还不熟悉。我需要从函数的定义开始,逐步展开,包括如何定义函数、参数类型(位置参数、默认参数、可变参数等)、返回值、变量的作用域,以及一些高级技巧如lambda函数和装饰器。同时,应该提供示例代码帮助理解,并注意代码的简洁性,避免让用户感到困惑。 用户可能的需求包括:如何创建自己的函数,如何传递参数,如何处理返回值,如何避免作用域问题,以及如何利用函数提高代码复用性。此外,可能对递归函数和匿名函数感兴趣。需要确保每个部分都有示例,并且解释清楚每个概念的应用场景和注意事项。 需要避免使用过于专业的术语,保持语言简单明了。例如,解释参数时,可以用类比的方式,如默认参数类似于备选方案,如果没有提供则使用默认值。同时,要注意结构清晰,使用标题和子标题帮助用户快速找到所需信息。 还要考虑用户可能遇到的问题,例如变量作用域导致的错误,或者参数传递中的常见误区。在讲解时,需要指出这些常见错误,并提供解决方法。例如,在作用域部分,强调全局变量和局部变量的区别,以及如何使用global关键字。 最后,总结部分要回顾重点,并鼓励用户多加练习,因为函数是编程中的核心概念,熟练掌握对后续学习至关重要。同时,可以提到后续可以学习装饰器等高级主题,激发用户的学习兴趣。</think>以下是 Python 函数的详细使用方法,涵盖基础到进阶内容: --- ### **一、函数的定义与调用** #### 基本结构 ```python def 函数名(参数): """文档字符串(可选)""" 代码块 return 返回值 # 可选 ``` #### 示例 ```python # 定义函数 def greet(name): """向指定名字问好""" print(f"Hello, {name}!") return len(name) # 返回名字长度 # 调用函数 result = greet("Alice") # 输出 Hello, Alice! print(result) # 输出 5 ``` --- ### **二、参数类型** #### 1. 位置参数 ```python def power(base, exponent): return base ** exponent print(power(2, 3)) # 8(必须按顺序传参) ``` #### 2. 默认参数 ```python def power(base, exponent=2): # 默认指数为2 return base ** exponent print(power(3)) # 9(使用默认参数) print(power(3, 4)) # 81 ``` #### 3. 可变参数(*args) ```python def sum_numbers(*args): # 接收任意数量参数 total = 0 for num in args: total += num return total print(sum_numbers(1, 2, 3)) # 6 ``` #### 4. 关键字参数(**kwargs) ```python def build_profile(**kwargs): # 接收字典形式参数 profile = {} for key, value in kwargs.items(): profile[key] = value return profile user = build_profile(name="Bob", age=30, city="New York") print(user) # {'name': 'Bob', 'age': 30, 'city': 'New York'} ``` --- ### **三、返回值处理** #### 多返回值 ```python def rectangle_info(width, height): area = width * height perimeter = 2 * (width + height) return area, perimeter # 实际返回元组 a, p = rectangle_info(3, 4) # 元组解包 print(f"面积:{a}, 周长:{p}") # 面积:12, 周长:14 ``` --- ### **四、作用域规则** #### 局部变量 vs 全局变量 ```python count = 10 # 全局变量 def modify(): global count # 声明使用全局变量 count = 20 # 修改全局变量 local_var = 5 # 局部变量 modify() print(count) # 20 # print(local_var) # 报错,局部变量无法访问 ``` -- ### **五、高阶函数用法** #### 1. 函数作为参数 ```python def apply_operation(func, x, y): return func(x, y) def add(a, b): return a + b print(apply_operation(add, 3, 5)) # 8 ``` #### 2. Lambda 表达式 ```python square = lambda x: x ** 2 print(square(5)) # 25 # 配合高阶函数使用 numbers = [1, 2, 3, 4] squared = list(map(lambda x: x**2, numbers)) print(squared) # [1, 4, 9, 16] ``` --- ### **六、递归函数** ```python def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) print(factorial(5)) # 120 ``` --- ### **七、常用技巧** #### 1. 类型提示(Python 3.5+) ```python def add(a: int, b: int) -> int: return a + b ``` #### 2. 函数注解 ```python def split_str(s: str, sep: str = ',') -> list: """按分隔符分割字符串""" return s.split(sep) ``` #### 3. 装饰器(高级用法) ```python def timer(func): import time def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f"{func.__name__} 执行时间:{end-start:.2f}秒") return result return wrapper @timer def long_operation(): import time time.sleep(2) long_operation() # 输出执行时间 ``` --- ### **最佳实践** 1. 函数名使用小写字母和下划线组合(snake_case) 2. 单个函数建议不超过50行代码 3. 函数应保持单一职责原则 4. 使用文档字符串说明功能(可通过 `help(函数名)` 查看) --- 通过灵活运用函数,可以显著提升代码的可读性和复用性。建议从简单功能开始实践,逐步掌握参数传递和作用域控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值