首页 > 编程语言 >如何有技巧地运用Python 语言?

如何有技巧地运用Python 语言?

时间:2023-05-15 10:23:10浏览次数:29  
标签:技巧 迭代 Python 运算符 result print 运用 numbers 函数

1.三元运算符

 

三元运算符是 if-else 语句的简写。语法是value_if_true if condition else value_if_false。三元运算符是一行代码,可以替代多行 if-else 语句,使你的代码更加简洁。

 

a = 5 

b = 10 

max = a if a > b else b # value_if_true if condition else value_if_false

 

print(max)

# 10

 

上面的代码通过检查“a”是否大于“b”,如果为真则返回“a”,如果为假则返回“b”。

 

 

 

2.枚举函数

 

enumerate()函数向可迭代对象添加一个计数器,并以枚举对象的形式返回。当你想要遍历列表并跟踪索引时,此函数很有用。

 

fruits = ['apple', 'banana', 'mango'] 

for index, fruit in enumerate(fruits): 

  print(index, fruit)

 

# 0 apple

# 1 banana

#2 mango

 

 

 

3.压缩函数

 

zip()函数聚合来自每个可迭代对象的元素并返回一个元组迭代器。当你想同时遍历两个或多个列表时,此函数很有用。

 

list1 = [1, 2, 3] 

list2 = ['a', 'b', 'c'] 

for x, y in zip(list1, list2):

  print(x, y)

 

# 1 a

# 2 b

# 3 c

 

 

 

4.列表生成式

 

列表生成式是一种从现有列表或任何可迭代对象创建列表的简洁方法。这是一种可以替代 for 循环的单行代码,使你的代码更加高效,并使代码的可读性更强。

 

squared_numbers = [x**2 for x in range(1, 6)]

 

print(squared_numbers)

# [1, 4, 9, 16, 25]

 

 

 

5. 匿名函数

 

Lambda 函数是使用lambda关键字定义的匿名函数。当你需要编写一次性的小函数并且不想使用关键字def来定义命名函数时,它们很有用。

 

add = lambda x, y: x + y 

 

result = add(3, 4)

 

print(result)

# 7

 

 

6.any()和all()函数

 

any()函数和all()函数返回True或False基于 iterable 中元素的真实性。如果 iterable 中的任何元素为真,则函数any()返回True,如果 iterable 中的所有元素都为真,则函数all()返回True。

 

numbers = [1, 2, 3, 0, 4] 

result = any(numbers) # True 

result = all(numbers) # False。0使结果为False

 

 

 

7. 迭代模块

 

itertools模块提供了一组函数来处理迭代器。该模块中的函数包括chain、product和permutations。

 

import itertools 

numbers = [1, 2, 3] 

result = list(itertools.permutations(numbers)) 

 

# 输出所有排列组合 

# [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

 

 

 

8. 生成器

 

生成器是一种可迭代的类型,它可以即时生成值,而不是将它们存储在内存中。它是使用yield关键字定义的,用于创建自定义迭代器。

 

# 使用yield关键字创建生成器 

def fibonacci_series(n):

  a, b = 0, 1

  for i in range(n):

    yield a

    a, b = b, a + b

 

# 输出迭代器中的值 

for number in fibonacci_series(10):

  print(number)

 

# 0

# 1

# 1

# 2

# 3

# 5

# 8

# 13

# 21

# 34

 

 

 

9.装饰器

 

装饰器是一种修改函数或类行为的方法。使用@符号进行定义,可用于向函数添加功能,例如日志记录、计时或身份验证。

 

def log_function(func):

  def wrapper(*args, **kwargs):

    print(f'Running {func.__name__}')

    result = func(*args, **kwargs)

    print(f'{func.__name__} returned {result}')

    return result

  return wrapper

 

@log_function

def add(x, y):

  return x + y

 

print(add(5,7))

 

# 运行add函数,返回值为12

 

 

 

10. 使用多个函数参数

 

在 Python 中,可以使用*和 **运算符来处理多个函数参数。*运算符用于将参数列表作为单独的位置参数进行传递,运算符**用于传递关键字参数的字典。

 

def print_arguments(*args, **kwargs):

  print(args)

  print(kwargs)

 

print_arguments(1, 2, 3, name='John', age=30)

 

# (1, 2, 3)

# {'name': 'John', 'age': 30

 

标签:技巧,迭代,Python,运算符,result,print,运用,numbers,函数
From: https://www.cnblogs.com/farsight/p/17401049.html

相关文章

  • Python爬虫代理使用完整代码
    使用代理可以带来以下好处:1.隐藏真实IP地址:使用代理可以隐藏你的真实IP地址,从而保护你的隐私和安全。2.防止封禁:有些网站会限制同一IP地址的访问频率,使用代理可以避免被封禁。3.提高访问速度:使用代理可以让你的请求从代理服务器发出,从而减轻本地网络负担,提高访问速度。4.......
  • Python中字典的用法
    字典用于存放具有映射关系的数据。相当于保存了两组数据,其中一组数据是关键数据,被称为key;另一组数据可通过key来访问,被称为value。字典相当于2字段表格,但value值可通过列表的形式扩展data={"李太白”:[23742364782642342323234,28,"男","青莲居士","唐朝"],"姜子牙......
  • Python垃圾回收机制
    什么是垃圾回收机制:垃圾回收机制(简称GC)是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间为什么要用垃圾回收机制:程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一......
  • Python3网络爬虫浓缩系列
    本文参考与Jack-Cui 的python3网络爬虫入门系列 领悟:python的灵活性远远超过了我的想象我们没有必要写一样的代码,但是我们可以学习不同的思路!!!!Python3网络爬虫(一):利用urllib进行简单的网页抓取#-*-coding:UTF-8-*-fromurllibimportrequestimportchardetif__name__......
  • <Python全景系列-1> Hello World,1分钟配置好你的python环境
    《从此开始:1分钟配置好你的python环境》欢迎来到我们的系列博客《Python360全景》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是......
  • Python学习之十一_Windows获取硬件信息
    Python学习之十一_Windows获取硬件信息简介网上找了一些方法简单整理了下,可以快速获取部分信息包含机器名称等.以及序列号相关部分学习来源:https://blog.51cto.com/u_15354476/5339864源码importpsutilimportwmiimportplatform#系统的内存利用率free=st......
  • Mybatis-Plus使用技巧
    selectOne和selectListselectOne如果没有数据会得到nullselectList如果没有数据会得到长度为0的list自动填充任何使用wrapper的时候,自动填充都是失效的,必须带实体类,可以new一个更新字段为null默认情况:全局配置默认值为not_null,传递的参数中某个字段为null,则默认不会对为nu......
  • Python - Enum
    官方文档:https://docs.python.org/zh-cn/3.11/library/enum.html#functional-api枚举的字面含义是指列出有穷集合中的所有元素,即一一列举的意思。可视为一种数据类型作用:具有数据保护功能,使常量不可更改。能避免数据重复创建枚举有两种方式:#classsyntaxclassColor(Enu......
  • Python 语言程序设计结课总结报告
            一整学期的python课程已经结束了,时间过的非常快,令人意犹未尽,也有许多课堂收获。        Python是一种代表简单主义思想的语言。阅读一个Python程序就像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。Python语言简单易学,语法规......
  • 算法刷题系列之移除元素:快慢指针技巧
    题目+日期移除元素2023年5月14日17点50分基础知识暴力解法这个题目暴力的解法就是两层for循环,一个for循环遍历数组元素,第二个for循环更新数组。双指针法(快慢指针法)通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。定义快慢指针快指针:寻找新数组的元......