Home > Article > Backend Development > Summarize and share the unpopular skills of Python
This article brings you relevant knowledge about Python, which mainly organizes issues related to unpopular techniques, including the first library, tqdm library, delattr, !cmd operation, and this library Let’s take a look at the content below. I hope it will be helpful to everyone.
【Related recommendations: Python3 video tutorial】
Yes, that’s it first
, this is the name of the library, currently 124 stars
first is an MIT-licensed Python package with a simple function that returns the first true value from an iterable, or None if there is none. If you need more power, you can also supply a key function that is used to judge the truth value of the element or a default value if None doesn't fit your use case.
To put it simply, the first correct traversable object will be returned.
As in the first example, the first correct traversable object is `77`
from first import firstprint(first([0, None, False, 77,[], (), 42]))
The second example uses the re regular, and I made changes based on it so that everyone can Easier to understand.
import refrom first import first re1 = re.compile('(.)b(.*)')re2 = re.compile('a(.*)')# re1,re2换位置结果变化m = first(regexp.match('abcwerfwer') for regexp in [ re2,re1])print(m)if not m: print('no match!')elif m.re is re1: print('re1', m.group(1))elif m.re is re2: print('re2', m.group(1))#<re.match>#re2 bcwerfwer</re.match>
re1,re2
Change the position and the result changes
import refrom first import first re1 = re.compile('(.)b(.*)')re2 = re.compile('a(.*)')m = first(regexp.match('abcwerfwer') for regexp in [re1, re2])print(m)if not m: print('no match!')elif m.re is re1: print('re1', m.group(1))elif m.re is re2: print('re2', m.group(1))#<re.match>#re1 a</re.match>
This is a very interesting library,stars
It’s not too much, but it can bring a ripple to your ordinary coding life.
Share a piece of code that reads data and inserts it. I want to insert the data into df2
. I just need to add a step before range
to achieve visualization. Give it to you Bringing a touch of joy in the boring coding time
from tqdm import tqdm# 还可以用以下办法是一个道理# from tqdm import trange# for i in trange(0,len(year),96):print(len(year))for i in tqdm(range(0,len(year),96)): # print(temp[i:i+96],len(temp[i:i+96])) try: df2.loc[index,3:99] = list(np.insert(df2.values[:,3:99], index, values=temp[i:i+96], axis=0)[index]) # print(temp[i:i+96]) # df.insert(1, '0:00', value=temp[i:i+96], allow_duplicates=True) # print(index,'+',len(year)) except Exception as e: pass index+=1
python built-in attribute, used to delete the class
class Attributes in the class, let’s take a random question from Niuke.com as an example
There is only one __init__
attribute in the ListNode
class,# The ##delattr function is to artificially delete this attribute. At the first
a, the value of
self.val will be printed on the console, but the next
a## will be printed on the console. TypeError: ListNode() takes no arguments
will appear at #. This is because the attribute __init__
has been deleted, so there is no need to pass in the x value, so an error occurs <pre class="brush:php;toolbar:false">class ListNode:
def __init__(self, x):
self.val = x
self.next = None
print(self.val)class Solution:
def reverseBetween(self , head: ListNode, m: int, n: int) -> ListNode:
a = ListNode(1)
delattr(ListNode, '__init__')
a = ListNode(1)# 报错b= Solution()b.reverseBetween(1,2,3)</pre>
!cmd operation
can directly enter the command prompt mode, both spider and pycharm can be used
this library
Poetry<pre class="brush:php;toolbar:false">#分享一首诗给大家,每个版本都有import this</pre>
[Related recommendations:
Python3 video tutorialThe above is the detailed content of Summarize and share the unpopular skills of Python. For more information, please follow other related articles on the PHP Chinese website!