首页 > 编程语言 >【Python基础学习】16个必知必会的Python教程

【Python基础学习】16个必知必会的Python教程

时间:2024-09-15 15:53:56浏览次数:11  
标签:函数 迭代 16 Python 必知 result print numbers

在这里插入图片描述

介绍

Python 是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。
本文中将探讨一些鲜为人知的 Python 技巧,这些技巧非常有用,但并不广为人知。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。那么,让我们深入探索 Python 语言的这些隐藏宝藏吧!

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}

11.动态导入

  • 当你想根据用户输入或配置导入模块时,可以使用模块动态导入模块importlib。
import importlib      
module_name = 'math'   
module = importlib.import_module(module_name)   
result = module.sqrt(9)

12.字典生成式

  • 字典生成式是一种从现有字典或任何可迭代对象创建字典的简洁方法。它是一种可以替代 for 循环的单行代码,使你的代码更加高效,代码可读性更强。
squared_numbers = {x: x**2 for x in range(1, 6)}   
print(squared_numbers)  # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25} 

13.可调用对象

  • 在 Python 中,任何可以称为函数的对象都称为可调用对象,包括函数、方法、类,甚至是定义__call__方法的对象。
class Adder:       
def __call__(self, x, y):           
return x + y      
adder = Adder()   
result = adder(3, 4)      
print(result)   #7

14.用下划线分隔大数字/字符

  • 大数字很难一眼看出来是多大,在 Python 中可以用下划线来使数字更易读。
num_test = 100_345_405 # 一个大数字      
print(num_test)   # 100345405

15.快速合并两个字典

  • 可以使用以下代码在 Python 中快速合并 2两个字典。
dictionary_one = {"a": 1, "b": 2}   
dictionary_two = {"c": 3, "d": 4}      
merged = {**dictionary_one, **dictionary_two}      
print(merged) # {'a': 1, 'b': 2, 'c': 3, 'd': 4} 

16.列表、集合和字典是可变的

  • 可变意味着可以更改或更新对象(列表、集合或字典),而无需更改内存中对象的指针。实际效果可见如下示例。
  • 在下面的示例中,通过添加一个新城市来更新城市列表,可以看到 ID(对象指针)保持不变,集合和字典也是如此。
cities = ["Munich", "Zurich", "London"]   
print(id(cities)) # 2797174365184   
cities.append("Berlin")   
print(id(cities)) # 2797174365184 
# 集合       
my_set = {1, 2, 3}   
print(id(my_set))  # 2797172976992   
my_set.add(4)   
print(id(my_set))  # 2797172976992
# 字典       
thisdict = {"brand":"Ford","model":"Mustang","year":1964}   
print(id(thisdict))  #2797174128256   
thisdict["engine"] = "2500cc"   
print(id(thisdict))  #2797174128256

图片

总结

  • 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利

  • 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】领取!

  • ① Python所有方向的学习路线图,清楚各个方向要学什么东西
  • ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
  • ③ 100多个Python实战案例,学习不再是只会理论
  • ④ 华为出品独家Python漫画教程,手机也能学习

可以扫描下方二维码领取【保证100%免费

在这里插入图片描述

标签:函数,迭代,16,Python,必知,result,print,numbers
From: https://blog.csdn.net/2401_87379846/article/details/142283659

相关文章

  • 【Python基础】Python迭代器与生成器(两种强大工具)
    本文收录于《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!文章目录一、前言二、迭代器2.1创建迭代器2.2自定义迭代器2.3处理大型文件三、生成器四、生成器表达式五、实际应用案例5.1数据库查询5.2网络数据流处理六、总结一......
  • 南沙C++信奥老师解一本通题: 1161:转进制
    ​ 题目描述】用递归算法将一个十进制数X转换成任意进制数M(M≤16)。【输入】一行两个数,第一个十进制数X,第二个为进制M。【输出】输出结果。【输入样例】3116{将十进制31转化为十六进制数}【输出样例】1F#include<iostream>usingnamespacestd;intx,m;void......
  • CMake构建学习笔记16-使用VS进行CMake项目的开发D4
    目录*1.概论2.详论2.1创建工程2.2加载工程2.3配置文件:飞数机场2.4工程配置2.5调试执行3.项目案例4.总结1.概论在之前的系列博文中,我们学习了如何构建第三方的依赖库,也学习了如何去组建自己的CMake项目,尤其是学习了CMake的核心配置文件CMakeLists.txt如......
  • Python计数:defaultdict和Counter
    使用Python内置的defaultdict和Counter能方便的实现计数等操作题目:3289.数字小镇中的捣蛋鬼fromtypingimportListfromcollectionsimportdefaultdict,CounterclassSolution:defgetSneakyNumbers(self,nums:List[int])->List[int]:counter=Count......
  • 【webshell 检测工具】ShellSweep:一种 PowerShell/Python/Lua 工具,用于检测指定目录下
    原创Ots安全“ShellSweep”是一个PowerShell/Python/Lua工具,旨在检测指定目录中的潜在WebShell文件。ShellSheep及其工具套件会计算文件内容的熵,以估计文件成为WebShell的可能性。熵值越高,随机性就越强,这是WebShell中常见的加密或混淆代码的特征。它仅处理具有某些......
  • 简单有趣的python小程序(涵源代码)
    目录tkinter计算器2.计算题练习猜数字烦人的程序无法拒绝的请假条。。。爬虫你想看豆瓣评分前十的电影?WXpython记事本(可保存)​编辑数字逻辑解方程tkinter计算器importtkinterastkimporttkinter.messageboxasmroot=tk.Tk()root.title("计算器")......
  • 【楚怡杯】职业院校技能大赛 “Python程序开发”数据分析练习
    基础操作(1)用字典数据类型创建DataFrame。(2)将创建的Dataframe的索引设置为,ABCD。并且命名为“索引”。(3)在下面新增一行。然后删除。(4)增加新的属性列,列名设置为‘port’,值均为1。(5)取出1991和1994年的数据。(6)获取前‘state’和‘year’的数据。(7)查看每一列数据的数据格式,并......
  • 计算机毕业设计必看必学!! 91511 篮球馆服务系统,原创定制程序, java、PHP、python、小
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,篮球馆服务系统当然也不能排除在外。篮球馆服务系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Springboot技术构建的一个管理系统。整个开发过......
  • 计算机毕业设计必看必学!! 91382 电子元器件管理与销售系统,原创定制程序, java、PHP、
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,电子元器件管理与销售系统当然也不能排除在外。电子元器件管理与销售系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用 SSM技术构建的一个管理平......
  • 计算机毕业设计必看必学!! 90030 SSM旅行社网站,原创定制程序, java、PHP、python、小
    摘 要旅游业是一个信息密集型产业,传统的旅游景点门票售卖受到技术和人力的限制,旅行社网站则可以建立景区与游客之间的有效通道,能更好的满足游客便捷旅游的需求。旅行社网站的设计是基于SSM框架、Mysql数据库、JSP技术、Ajax技术的方式设计,该系统实现了个人资料、公共管理(......