使用Python技巧将您的逻辑转换为更优雅的代码Python因其代码的简单性和可读性而成为一种非常流行的语言。它是您可以选择的最简单的语言之一。如果您是Python基本概念的初学者,这是学习编写更好代码的最佳时机。python中有很多技巧可以比以前更好地改进程序。本文将帮助您了解python中可用的各种技巧。不断练习它们,直到它们成为您编程习惯的一部分。Trick01——变量的多重赋值Python允许我们在一行中为多个变量赋值。变量可以用逗号分隔。单线多任务处理有很多好处。可以用来给多个变量赋多个值,也可以给单个变量名赋多个值。让我们做一个问题陈述,其中我们必须将值50和60分配给变量a和b。一般代码如下。a=50b=60print(a,b)print(type(a))print(type(b))输出5060条件I-value等于variablewhenvariableandmultiple赋equals时,每个值都会存储在所有变量中。a,b=50,60print(a,b)print(type(a))print(type(b))输出5060这两个程序给出相同的结果。这是使用行值分配的好处。条件二——值大于变量让我们尝试增加前面程序中值的个数。多个值可以赋给一个变量。当给一个变量赋多个值时,我们必须在变量名前使用星号。a,*b=50,60,70print(a)print(b)print(type(a))print(type(b))输出50[60,70]第一个值将分配给第一个变量。第二个变量将从给定值中收集值。这将创建一个列表类型对象。条件III-多个变量一个值我们可以将一个值分配给多个变量。每个变量将由等号分隔。a=b=c=50print(a,b,c)print(type(a))print(type(b))print(type(c))输出505050Tip02-SwapTwoVariablesSwap是两个变量相互交换值的过程。这在计算机科学的许多操作中很有用。这里我写了两个主要的方法供程序员使用来交换值和最佳解决方案。方法I-使用临时变量这种方法使用临时变量来存储一些数据。以下代码是使用临时变量名编写的。a,b=50,60print(a,b)temp=a+b#a=50b=60temp=110b=a#a=50b=50temp=110a=temp-b#a=60b=50temp=110print("交换后:",a,b)Output5060Afterswapping:6050MethodII-WithoutTemporaryVariables以下代码在不使用临时变量的情况下交换变量。a,b=50,60print(a,b)a=a+b#a=110b=60b=a-b#a=110b=50a=a-b#a=60b=50print("交换后:",a,b)输出Volume5060Afterswapping:6050MethodIII-ExcellentSolutioninPython这是另一种使用python交换变量的方法。在上一节中,我们了解了多重分配。我们可以使用交换的概念。a,b=50,60print(a,b)a,b=b,aprint("Afterswapping",a,b)output5060Afterswapping6050Tip03-ReversingStrings在python中还有一个很酷的技巧Reversea细绳。反转字符串的概念称为字符串切片。任何字符串都可以在变量名后使用符号[::-1]来反转。my_string="MYSTRING"rev_string=my_string[::-1]print(rev_string)输出GNIRTSYM技巧04-将单词拆分成一行将单词拆分成一行不需要特殊的算法。为此,我们可以使用关键字split()。在这里,我写了两个分词的方法。方法1-使用迭代my_string="ThisisastringinPython"start=0end=0my_list=[]forxinmy_string:end=end+1if(x==''):my_list.append(my_string[start:end])start=end+1my_list。append(my_string[start:end+1])print(my_list)output['This','is','a','string','in','Python']方法二——使用拆分函数my_string="ThisisastringinPython"my_list=my_string.split('')print(my_list)output['This','is','a','string','in','Python']技巧05-排列单词列表In一行这与前面的过程相反。在这一部分中,我们将使用join函数将单词列表转换为一行。下面给出了使用join函数的语法。语法:"".join(string)my_list=['This','is','a','string','in','Python']my_string="".join(my_list)输出ThisisastringinPython技巧06-多次打印一个字符串我们可以使用乘法运算符多次打印一个字符串。这是一种非常有效的重复字符串的方法。n=int(input("Howmanytimesyouneedtorepeat:"))my_string="Python\n"print(my_string*n)outputHowmanytimesyouneedtorepeat:3PythonPythonPython技巧07-使用加法运算符连接两个字符串,不用join函数连接下面的各种字符串。我们可以通过使用加法运算符(+)来做到这一点。a="ILove"b="Python"print(a+b)输出ILovePython技巧08-多个条件运算符Two可以在程序中组合两个或多个条件运算符,我们可以使用逻辑运算符。但是,通过链接运算符可以获得相同的结果。例如,如果我们需要在变量的值大于10且小于20时打印一些内容,代码将如下所示。a=15if(a>10anda<20):print("Hi")相反,我们可以将条件运算符组合成一个表达式。a=15if(1020thenage=25,print("czz")elseprint("unqualified")输出合格的技巧15——使用Python列表推导表达式列表推导表达式从另一个列表创建列表一个非常紧凑的方法。请参阅下面的代码。第一个是使用简单迭代编写的,第二个是使用列表理解编写的。square_list=[]forxinrange(1,10):temp=x**2square_list.append(temp)print(square_list)output[1,4,9,16,25,36,49,64,81]使用listcomprehensionexpressionsquare_list=[x**2forxinrange(1,10)]print(square_list)outputs[1,4,9,16,25,36,49,64,81]Tip16-将变量项转换为不存在的变量functionfrozenset()用于将可变的可迭代对象转换为不可变的对象。使用此方法,我们可以冻结对象的值更改。my_list=[1,2,3,4,5]my_list=frozenset(my_list)my_list[3]=7print(my_list)outputTraceback(mostrecentcallast):File"",line3,inTypeError:'frozenset'对象不支持项目分配当我们将frozenset()函数应用于列表时,项目分配受到限制。技巧17-使用Floor和Ceil舍入Floor和Ceil是可以与浮点数一起使用的数学函数。floor函数返回一个小于浮点数的整数,ceil函数返回一个大于浮点数的整数。要使用此功能,我们必须导入数学模块。importmathmy_number=18.7print(math.floor(my_number))print(math.ceil(my_number))output1819技巧18-返回布尔值有时我们必须通过检查某些参数的条件来返回布尔值。我们可以直接返回条件,而不是编写if语句。以下程序将产生相同的输出。方法I-使用其他条件deffunction(n):if(n>10):returnTrueelse:returnFalsen=int(input())if(function(n)):print("Eligible")else:print("NotEligible")方法二-无其他条件deffunction(n):returnn>10n=int(input())print("Eligible")iffunction(n)elseprint("NotEligible")outputEligibleTip19-一行创建函数Lambda在python一个匿名函数,用于在一行中创建函数。此处给出了使用lambda函数的语法。语法:lambda参数:表达式x=lambdaa,b,c:a+b+cprint(x(10,20,30))输出60技巧20-将函数应用于列表映射中的所有元素是高阶函数将特定函数应用于列表中的所有元素。语法:map(function,iterable)my_list=["felix","antony"]new_list=map(str.capitalize,my_list)print(list(new_list))output['Felix','Antony']技巧21-使用Lambdawithmapfunction函数可以用python中的lambda函数代替。创建以下程序来创建数字列表的平方。my_list=[1,2,3,4,5]new_list=map(lambdax:x*x,my_list)print(list(new_list))output[1,4,9,16,25]技巧22-从函数返回多值Python函数可以返回多个值而无需任何额外的需要。我们可以通过逗号分隔来返回值。deffunction(n):return1,2,3,4a,b,c,d=function(5)print(a,b,c,d)输出1234技巧23——使用过滤函数来过滤值过滤函数的使用过滤可用的迭代对象中的一些值。过滤器函数的语法如下。语法:filter(function,iteration)decision(age):returnage>=24list_of_age=[10,24,27,33,30,18,17,21,26,25]age=filter(eligibility,list_of_age)print(list(age))output[24,27,33,30,26,25]技巧24-在Python中合并两个字典在python中,我们可以合并两个字典,不需要任何特定的方法。下面的代码是合并两个字典的示例。dict_1={'One':1,'Two':2}dict_2={'Two':2,'Three':3}dictionary={**dict_1,**dict_2}print(dictionary)output{'One':1,'Two':2,'Three':3}技巧25-获取对象的大小内存大小因对象类型而异。我们可以使用sys模块中的getsizeof()函数获取对象的内存。importsysa=5print(sys.getsizeof(a))输出28技巧26-将两个列表组合成一个字典Zip函数在python中有很多优点。使用zip函数,我们可以从两个列表创建一个字典。list_1=["一","二","三"]list_2=[1,2,3]dictionary=dict(zip(list_1,list_2))print(dictionary)输出{'二':2,'一':1,'Three':3}Trick27-CalculateExecutionTimeofProgramTime是python中另一个有用的模块,可用于计算执行时间。importtimestart=time.clock()forxinrange(1000):passend=time.clock()total=end-startprint(total)output0.00011900000000000105技巧28-删除列表中重复的元素出现多次的元素称为重复元素。我们可以使用类型转换简单地删除重复元素。my_list=[1,4,1,8,2,8,4,5]my_list=list(set(my_list))print(my_list)output[8,1,2,4,5]技巧29-使用Python打印MonthCalendarcalendar模块有很多与日期操作相关的函数。我们可以使用以下代码打印月历。importcalendarprint(calendar.month("2020","06"))输出June2020MoTuWeThFrSaSu123456789101112131415161718192021222324252627282930技巧30-使用zip函数进行迭代zip函数允许使用循环来迭代多个可迭代对象。在下面的代码中,同时迭代了两个列表。list_1=['a','b','c']list_2=[1,2,3]forx,yinzip(list_1,list_2):print(x,y)输出a1b2c3总结思路希望你喜欢这篇文章。最后,您必须了解学习技能不是必需的。但如果你这样做了,你就会在其他程序员中脱颖而出。一致的练习对于流利地编码是必要的。感谢您阅读本文。你可以在Medium上关注我。编码愉快!