Difference between revisions of "Python"
Jump to navigation
Jump to search
(m) |
|||
| Line 39: | Line 39: | ||
f.write("hello!\n") | f.write("hello!\n") | ||
# close automatic, even if exception | # close automatic, even if exception | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | ===Main function === | ||
| + | It is a good practice to indicate whether your python file will be executed as a script by including | ||
| + | "if __name__ == '__main__':" statement: | ||
| + | <syntaxhighlight lang="python"> | ||
| + | def main(): | ||
| + | pass | ||
| + | # Do Something: | ||
| + | |||
| + | if __name__ == '__main__': | ||
| + | main() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 03:21, 27 January 2023
Python Tips and Tricks
Contents
Array enumeration
For numpy
a = np.array([[1, 2], [3, 4]])
for index, x in np.ndenumerate(a):
print(index, x)
For usual python
a = np.array([[1, 2], [3, 4]])
for index, x in enumerate(a):
print(index, x)
Multiprocessing
from multiprocessing import Pool
def run_with_mp_map(items, do_work, processes=None, chunksize=None):
print(f"running using multiprocessing with {processes=}, {chunksize=}")
start_t = time.perf_counter()
with Pool(processes=processes) as pool:
results = pool.imap(do_work, items, chunksize=chunksize)
end_t = time.perf_counter()
wall_duration = end_t - start_t
print(f"it took: {wall_duration:.2f}s")
return results
Context manager
with open(filename, "w") as f:
f.write("hello!\n")
# close automatic, even if exception
Main function
It is a good practice to indicate whether your python file will be executed as a script by including "if __name__ == '__main__':" statement:
def main():
pass
# Do Something:
if __name__ == '__main__':
main()
Measure execution timing
import time
start = time.perf_counter()
time.sleep(1)
end = time.perf_counter()
print(end - start)