作为1名软件开发者,所长接触过很多语言,像:c/c++,Python,js,OC等。python学习之初,总是看不太懂一些奇奇怪怪的python语法。这些语法是python特有的,甚至是其他语言背道而驰的,看到了总是闹不明白他的含义。
#python学习#因此,所长为同学们总结了15个Python编程必须要知道的重要且诡异的语法。这些特点,基本都是Python语言所独有的,当年所长在学习python编程的时候看着也头大的知识点,现在我把他们总结出来分享给大家,和大家一起学习进步!由于篇幅限制,所长回尽可能简单简要介绍每个技巧的概念、用法和好处。这里只是聚合总结,抛砖引玉饿,修行还是要靠个人不断努力!
1.列表推导式(ListComphensions)
概念:列表推导式是一种简洁的创建列表的方法。以其诡异的方括号内循环而出名。用法:squas=[x**2forxinrange(10)]#结果[0,1,4,9,16,25,36,49,64,81]
好处:使用列表推导式可以减少代码量,提高代码可读性。
2.生成器表达式(GeneratorExpssions)
概念:生成器表达式是一种创建生成器的简洁方法,生成器可以在迭代是按需生成值。squas_gen=(x**2forxinrange(10))forsquainsquas_gen:print(squa)#结果
好处:生成器表达式可以节省内存,因为它们不会一次性生成所有值。3.装饰器(Decorators)
概念:装饰器是一种修改函数或类的行为的方法(他并不是python特有的概念,但很重要)defmy_decorator(func):defwrapper():print("Somethingishappeningbefothefunctioniscalled.")func()print("Somethingishappeningafterthefunctioniscalled.")turnwrapper
my_decoratordefsay_hello():print("Hello!")say_hello()#结果Somethingishappeningbefothefunctioniscalled.Hello!Somethingishappeningafterthefunctioniscalled.好处:装饰器可以让你在不修改原始函数代码的情况下,增加或修改功能。4.上下文管理器with(ContextManagers)
概念:上下文管理器是一种用于管理资源(如文件、网络连接等)的方法。它允许您在一个代码块中自动分配和释放资源。with语句与上下文管理器对象一起使用,它定义了自动调用的__enter__()和__exit__()方法进入和退出上下文时。当进入with块时,调用上下文管理器的__enter__()方法来设置资源,当块退出时(正常或带有异常),__exit__()方法被调用以释放资源并执行任何必要的清理。
withopen("file.txt","r")asfile:content=file.ad()#结果:打开一个文件
好处:上下文管理器可以简化代码,确保资源正确释放。5.枚举(Enumerate)
概念:枚举是一种在迭代时获取元素索引的方法。fruits=["apple","banana","cherry"]forindex,fruitinenumerate(fruits):print(index,fruit)#结果
好处:使用枚举可以简化代码,提高可读性。6.任意参数列表(ArbitraryArgumentLists)
概念:任意参数列表允许函数接受任意数量的参数。defmy_function(*args):forarginargs:print(arg)my_function("apple","banana","cherry")#结果applebananacherry
好处:任意参数列表可以让函数更灵活地处理参数。7.任意关键字参数(ArbitraryKeywordArguments)
概念:任意关键字参数允许函数接受任意数量的关键字参数,即参数个数可以不定defmy_function(**kwargs):forkey,valueinkwargs.items():print(key,value)my_function(fruit1="apple",fruit2="banana",fruit3="cherry")#结果fruit1applefruit2bananafruit3cherry
好处:任意关键字参数可以让函数更灵活地处理关键字参数,。8.切片(Slicing)
概念:切片是一种从序列中提取子序列的方法。numbers=[0,1,2,3,4,5,6,7,8,9]sub_numbers=numbers[1:8:2]#结果[1,3,5,7]
好处:使用切片可以简化代码,提高可读性。9.Lambda函数(LambdaFunctions)
概念:在Python中,lambda函数是一种定义没有名称的小型匿名函数的方法。Lambda函数通常用于函数式编程,以将一小段代码作为参数传递给另一个函数,或者即时创建一个函数。squa=lambdax:x**2print(squa(5))#结果25
好处:Lambda函数可以简化代码,提高可读性。10.链式比较(ChainedComparisons)
概念:链式比较是一种同时进行多个比较的方法。x=5sult=1x10print(sult)#结果True
好处:链式比较可以简化代码,提高可读性(其他语言可没有这么爽的写法)11.字典推导式(DictionaryComphensions)
概念:字典推导式是一种简洁的创建字典的方法。squas_dict={x:x**2forxinrange(10)}print(squas_dict)#结果{0:0,1:1,2:4,3:9,4:16,5:25,6:36,7:49,8:64,9:81}
好处:使用字典推导式可以减少代码量,提高代码可读性。12.条件表达式(ConditionalExpssions)
概念:条件表达式是一种简洁的基于条件选择值的方法。x=5sult="Even"ifx%2==0else"Odd"print(sult)#结果Odd
好处:条件表达式可以简化代码,提高可读性。13.赋值表达式(AssignmentExpssions)
概念:赋值表达式是一种在表达式中进行赋值的方法。n=5sult=(squad:=n**2)+1print(sult)#结果26
好处:赋值表达式可以简化代码,提高可读性。14.类型提示(TypeHints)
概念:类型提示是一种在代码中指定变量、函数参数和返回值类型的方法。fromtypingimportListdefget_all(names:List[str])-None:fornameinnames:print(f"Hello,{name}!")get_all(["Alice","Bob","Charlie"])
好处:类型提示可以提高代码可读性,帮助开发者更好地理解代码。15.f-字符串(f-strings)
概念:f-字符串是一种简洁的格式化字符串的方法。name="Alice"age=30sult=f"Mynameis{name}andIam{age}yearsold."
好处:简化插入字符串各种值的写法,不在看到成片的“+”号。
限于篇幅,所长今天的分享就到这里啦,相信你熟悉了这些语法以后,再结合基本的编程知识,对于一般的python代码都能看懂了。
以上只是python比较初级的知识,python语言博大精深,需要我们不断的探索。
如果有同学想学习哪些知识点请给所长留言,我会针对某一个点由浅入深,由概念到实例,形象的给大家讲解出来。
最后大家点赞、留言、转发,也请大家