Rumah >pembangunan bahagian belakang >Tutorial Python >17 petua Python berguna untuk dikongsi!
Teks
Helo semua, saya teknologi kecerdasan buatan Python.
Dalam artikel ini, kita akan membincangkan helah python yang paling biasa digunakan. Kebanyakan teknik ini adalah Trik mudah yang saya gunakan dalam kerja harian saya, saya fikir perkara yang baik harus dibawa keluar dan dikongsi dengan semua orang.
Tanpa berlengah lagi, mari mulakan! :)
Kadangkala kita perlu mendapatkan berbilang input daripada pengguna untuk menggunakan gelung atau sebarang lelaran, secara amnya Ia ditulis seperti berikut:
# bad practice码 n1 = input("enter a number : ") n2 = input("enter a number : ") n2 = input("enter a number : ") print(n1, n2, n3)
Tetapi kaedah pemprosesan yang lebih baik adalah seperti berikut:
# good practice n1, n2, n3 = input("enter a number : ").split() print(n1, n2, n3)
Jika kita perlu semak berbilang syarat dalam kod Penyataan bersyarat, pada masa ini kita boleh menggunakan fungsi all() atau any() untuk mencapai matlamat kita. Secara amnya, all() digunakan apabila kita mempunyai berbilang dan syarat dan any() digunakan apabila kita mempunyai berbilang atau syarat. Penggunaan ini akan menjadikan kod kami lebih jelas dan lebih mudah dibaca, dan akan membantu kami mengelakkan masalah semasa menyahpepijat.
Contoh umum untuk semua() adalah seperti berikut:
size = "lg" color = "blue" price = 50 # bad practice if size == "lg" and color == "blue" and price < 100: print("Yes, I want to but the product.")
Pendekatan yang lebih baik adalah seperti berikut:
# good practice conditions = [ size == "lg", color == "blue", price < 100, ] if all(conditions): print("Yes, I want to but the product.")
Contoh umum untuk mana-mana() ialah seperti berikut:
# bad practice size = "lg" color = "blue" price = 50 if size == "lg" or color == "blue" or price < 100: print("Yes, I want to but the product.")
Kaedah pemprosesan yang lebih baik adalah seperti berikut:
# good practice conditions = [ size == "lg", color == "blue", price < 100, ] if any(conditions): print("Yes, I want to but the product.")
Ini mudah dilaksanakan, kami dapat input daripada pengguna dan tukarkannya Tukar kepada integer, semak baki operasi pada nombor 2, jika bakinya adalah sifar, maka ia adalah nombor genap.
print('odd' if int(input('Enter a number: '))%2 else 'even')
Jika kita perlu menukar nilai pembolehubah dalam Python, kita tidak perlu mentakrifkan pembolehubah sementara untuk beroperasi. Kami biasanya menggunakan kod berikut untuk melaksanakan pertukaran berubah:
v1 = 100 v2 = 200 # bad practice temp = v1 v1 = v2 v2 = temp
Tetapi kaedah pemprosesan yang lebih baik adalah seperti berikut:
v1 = 100 v2 = 200 # good practice v1, v2 = v2, v1
Cara paling mudah untuk membalikkan rentetan ialah [::-1], kodnya adalah seperti berikut:
print("John Deo"[::-1])
Hakim rentetan dalam Python Untuk menyemak sama ada rentetan itu ialah rentetan palindrom, anda hanya perlu menggunakan pernyataan
string.find(string[::-1])== 0. Kod sampel adalah seperti berikut:
v1 = "madam" # is a palindrome string v2 = "master" # is not a palindrome string print(v1.find(v1[::-1]) == 0) # True print(v1.find(v2[::-1]) == 0) # False
Kebanyakan masa, kami hanya mempunyai satu pernyataan selepas syarat, jadi menggunakan pernyataan Inline if boleh membantu kami menulis kod yang lebih ringkas. Sebagai contoh, kaedah penulisan umum ialah:
name = "ali" age = 22 # bad practices if name: print(name) if name and age > 18: print("user is verified")
, tetapi cara yang lebih baik untuk menanganinya adalah seperti berikut:
# a better approach print(name if name else "") """ here you have to define the else condition too""" # good practice name and print(name) age > 18 and name and print("user is verified")
Kami tidak perlu merentasi keseluruhan senarai untuk menyemak elemen pendua Kami hanya boleh menggunakan set() untuk memadamkan elemen pendua adalah seperti berikut:
lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0] print(lst) unique_lst = list(set(lst)) print(unique_lst)
Dalam Python, anda boleh menggunakan fungsi max() dan pass list.count sebagai kunci untuk mencari elemen yang paling banyak ulangan dalam senarai Kod tersebut adalah seperti berikut :
lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0] most_repeated_item = max(lst, key=lst.count) print(most_repeated_item)
Ciri kegemaran saya dalam Python ialah pemahaman senarai memahami sebagai bahasa semula jadi. Contohnya adalah seperti berikut:
numbers = [1,2,3,4,5,6,7] evens = [x for x in numbers if x % 2 is 0] odds = [y for y in numbers if y not in evens] cities = ['London', 'Dublin', 'Oslo'] def visit(city): print("Welcome to "+city) for city in cities: visit(city)
Dalam Python kita boleh menggunakan *args untuk menghantar berbilang parameter kepada fungsi, contohnya:
<.>def sum_of_squares(n1, n2) return n1**2 + n2**2 print(sum_of_squares(2,3)) # output: 13 """ what ever if you want to pass, multiple args to the function as n number of args. so let's make it dynamic. """ def sum_of_squares(*args): return sum([item**2 for item in args]) # now you can pass as many parameters as you want print(sum_of_squares(2, 3, 4)) print(sum_of_squares(2, 3, 4, 5, 6))12. >13 Menyambung berbilang elemen dalam senaraiDalam Python, fungsi Join() biasanya digunakan untuk menggabungkan semua elemen dalam senarai bersama-sama simbol apabila splicing, seperti ini Contohnya:
lst = ["blue", "lightblue", "pink", "orange", "red"] for idx, item in enumerate(lst): print(idx, item)14. Cantumkan dua kamus Selain itu, cari latar belakang Python atas akaun rasmi dan balas "Lanjutan" untuk mendapatkan pakej hadiah kejutan.
names = ["john", "sara", "jim", "rock"] print(", ".join(names))
d1 = {"v1": 22, "v2": 33} d2 = {"v2": 44, "v3": 55} d3 = {**d1, **d2} print(d3)
Dalam Python, jika kita perlu menggabungkan elemen yang sepadan dalam dua senarai ke dalam kamus, maka kita boleh menggunakan fungsi zip untuk melakukannya dengan mudah ini sedikit. Kodnya adalah seperti berikut:
{'v1': 22, 'v2': 44, 'v3': 55}
Dalam Python kami menggunakan fungsi sorted() untuk mengisih kamus mengikut nilainya seperti berikut:
keys = ['a', 'b', 'c'] vals = [1, 2, 3] zipped = dict(zip(keys, vals))
d = { "v1": 80, "v2": 20, "v3": 40, "v4": 20, "v5": 10, } sorted_d = dict(sorted(d.items(), key=lambda item: item[1])) print(sorted_d) 当然我们也可以使用itemgetter( )来替代上述 lambda函数,代码如下: from operator import itemgetter sorted_d = dict(sorted(d.items(), key=itemgetter(1)))
Menggunakan Cetakan(. ) dalam Fungsi Python kadang-kadang mempunyai output yang buruk Pada masa ini, kita boleh menggunakan pprint untuk menjadikan output lebih cantik. >Anda boleh menggunakan pprint Functions boleh menjadikan output kamus lebih mudah dibaca.
Atas ialah kandungan terperinci 17 petua Python berguna untuk dikongsi!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!