① 讓你的python代碼更加Pythonic
下面選取了一些常見的Python規范和代碼風格,大家可以進行參考和學習。
命名 首先看一下變數的命名規范(pep8)規范:
文件夾:包名,建議僅使用小寫字母命名,不建議使用下劃線。
模塊: 小寫或者小寫加下劃線連接,比如 mole.py、db_convert.py等。
類: 駝峰式,首字母大寫,單詞直接連接。
class ThisIsAClass(object):pass函數:小寫,用下劃線隔開
def this_is_a_func():pass變數: 小寫,用下劃線隔開
this_is_a_variable = 1**常量:**常量名所有字母大寫,由下劃線連接各個單詞,如THIS_IS_A_CONSTANT = 1語法風格 1.交換a 和 b的數值 其他語言的方法:
a = 5b = 6temp = aa = bb = temppython中,更加簡潔的方法:
a = 5b = 6a, b = b, aprint(a, b)輸出:6 52.多個變數賦值 python中可以一行代碼,同時給多個變數賦值
a,b,c = 2,5,12
3.合並字元串 傳統的字元串合並方法,由於字元串對象不可改變,每次修改會產生一個新的對象,這種方法會消耗很多內存。
list_str = ["hello ", "python", "!"]result = ""for i in list_str:result+=iprint(result)python中,使用join()方法更加高效,注意join()方法只適用於元素是字元串的列表、元組、集合等類型。
list_str = ["hello ", "python", "!"]result = "".join(list_str)print(result)輸出:hello python!4.列表去重 使用集合的唯一性,對列表進行去重
a = [1, 2, 3, 1, 2,3 , 1, 3, 2, 4, 1, 3, 4, 5, 6, 5, 4, 4, 3, 6]lst = list(set(a))print(lst)輸出:5.if/else 三目運算 python支持的三目運算格式:
為真時的結果 if 判斷條件 else 為假時的結果(注意,沒有冒號)a=4st = "a大於4" if a>4 else "a小於等於4"print(st)輸出:a小於等於46.enumerate enumerate()是 Python 的內置函數。可以將一個可迭代的(Iterable)對象(列表、字元串等)組成一個索引序列,可以同時獲得索引和值。
獲取列表元素及索引
# 一般寫法names = ['Bob', 'Alice', 'Guido']n = len(names)for i in range(n):print(f'{i} {names[i]}')# 使用enumerate()函數names = ['Bob', 'Alice', 'Guido']for index, value in enumerate(names):print(f'{index}: {value}')輸出:0: Bob1: Alice2: Guido7.解包 解包在英文里叫做 Unpacking,就是將容器裡面的元素逐個取出來。
解壓列表/元組的元素,賦值給不同的變數
def this_is_a_func():pass0函數中的解包操作
在函數調用中,* 能夠將元組或列表解包成不同的參數。
def this_is_a_func():pass1在函數調用中,** 會以鍵/值的形式解包一個字典,使其成為一個獨立的關鍵字參數。
def this_is_a_func():pass28.列表推導式 列表推導式可以利用 range 區間、元組、列表、字典和集合等數據類型,快速生成一個滿足指定需求的列表。
[表達式 for 迭代變數 in 可迭代對象 [if 條件表達式] ]
[if 條件表達式] 可以省略。
生成一個列表,列表元素分別為 [1x1,2x2,3x3……nxn],假設n = 10
def this_is_a_func():pass3要求返回的序列中不存在偶數項
def this_is_a_func():pass49.使用關鍵字in
in:如果在指定的序列中找到值返回 True,否則返回 False。
not in:如果在指定的序列中沒有找到值返回 True,否則返回 False。 判斷元素是否在列表中
number=[1,2,3,4,5] if 1 in number: print("1 in number") if 0 not in number: print("0 not in number")
在 for 循環中,獲取列表、元組、字典的每一項:
def this_is_a_func():pass510.使用zip同步處理多個列表 zip() 函數是 Python 內置函數,它可以將多個序列(列表、元組、字典、集合、字元串等)中對應位置的元素重新組合,生成一個個新的元組。
def this_is_a_func():pass611.真值判斷 當判斷一個變數是否為 True 的時候,Python 具有自身獨特的方式,不需要寫出判斷條件,只需要在 if 或 while 關鍵字後面直接寫上該對象即可。
常見的真值為False的情況:
常量:None and False.
數值0值: 0, 0.0, 0j
序列或者集合為空:'', (), [], {}, set(), range(0)
對於布爾對象,建議這樣寫x = True if x: pass
不建議這樣寫if x == True: pass
lst = []
對於列表對象,建議這樣寫if lst: pass
不建議這樣寫if len(lst) != 0: pass
以上就是本次分享的所有內容,想要了解更多歡迎前往公眾號:Python 編程學習圈,每日干貨分享
原文:https://juejin.cn/post/7100031217352835080② 如何用python實現3的倍數
以下是使用NumPy庫創建一個位於20到100之間、是3的倍數的一組的Python代碼:
import numpy as np# 使用arange()函數創建一個從20到100(不包括100)的整數序列# 然後使用篩選條件選擇其中能被3整除的數arr = np.arange(20, 100)[np.arange(20, 100) % 3 == 0]print(arr)
解釋一下代碼:
第一行導入了NumPy庫並給它取了一個別名np,這是一個習慣用法。
第三行使用arange()函數創建一個從20到100(不包括100)的整數序列,並將其保存在變數arr中。這個函數的第一個參數指定序列的起始值,第二個參數指定序列的終止值,但不包括該值本身。例如,np.arange(1, 5)將返回從1到4(不包括4)的整數序列數組。
在方括弧中的篩選條件[np.arange(20, 100) % 3 == 0]會對這個整數序列進行篩選,只選擇其中能被3整除的數。具體來說,np.arange(20, 100)將返回從20到99的整數序列,然後% 3 == 0將檢查該序列中每個元素是否可以被3整除,並返回一個布爾數組,True表示該元素能被3整除,False表示不能。最後,該布爾數組將作為索引數組傳遞給arr,以選擇符合條件的元素。
最後一行使用print()函數輸出結果。
運行上述代碼,將會得到輸出類似於以下內容的一組數據:
這是一個位於20到100之間、是3的倍數的一組。
③ python求一元二次方程的根的代碼
以下是Python代碼,用於計算一元二次方程的根:
import math
a = float(input("請輸入二次項系數a:"))
b = float(input("請輸入一次項系數b:"))
c = float(input("請輸入常數項c:"))
delta = b**2 - 4*a*c
if delta < 0:
print("該方程無實數根")
elif delta == 0:
x = -b / (2*a)
print("該方程有一個實數根:x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("該方程有兩個實數根:x1 =", x1, ", x2 =", x2)
在這個程序中,用戶需要輸入方程的二次項系數、一次項系數和常數項。程序使用math模塊中的sqrt函數來計算方程的判別式delta,然後根據delta的值判斷方程的根的情況。如果delta小於0,則方程沒有實數根;如果delta等於0,則方程有一個實數根;如果delta大於0,則方程有兩個實數根。
程序輸出方程的根,如果方程沒有實數根,則輸出相應的提示。
請注意,在輸入系數時,要確保輸入的是浮點數,否則可能會導致程序出錯。
④ python必背入門代碼
python必背入門代碼如下:
1、大寫第一個字母。以下代碼塊會使用 title() 方法,從而大寫字元串中每一個單詞的首字母。
s = "programming is awesome"
s ="Programming"
print(s * n)
# ProgrammingProgramming
想了解更多有關python的詳情,推薦咨詢達內教育。達內教育致力於面向IT互聯網行業,培養軟體開發工程師、測試工程師、UI設計師、網路營銷工程師、會計等職場人才,目前已在北上海廣深等70個大中城市成立了342家學習中心;更是與多家企業簽訂人才培養協議,全面助力學員更好就業。
⑤ python必背入門代碼是什麼
具體如下:
1、反轉字元串:
#Reversing a string using slicing
my_string ="ABCDE」
reversed string = my_string[:: -1]
print( reversed _string)
#output
#EDCBA
2、使用標題類:
my_string = "my name is chaitanya baweja"
newstring =my string.title(
print(new_string)
# My Name Is chaitanya Baweja
3、查找字元串的唯一要素:
my_string = "aavvccccddddeee"
temp_set = set(my_string)
new string = -join(temp_set)
print(new_string)
4、輸出 n次字元串或列表:
n = 3
my_string = "abcd"my _list = [1,2,3]
print(my_string*n)
print(my_list*n)
import streamlit as st
5、列表解析:
n = 4
my_list = [o]*n#[o, o,o,o]
6、兩個變數之間的交換值:
original_list =[1,2,3,4]
new list =[2*x for x in original_list]
print(new_list)
#[2,4,6,8]
Python經常被用於Web開發。比如,通過mod_wsgi模塊,Apache可以運行用Python編寫的Web程序。Python定義了WSGI標准應用介面來協調Http伺服器與基於Python的Web程序之間的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以讓程序員輕松地開發和管理復雜的Web程序。
在很多操作系統里,Python是標準的系統組件。大多數Linux發行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在終端下直接運行Python。
應用范圍:
有一些Linux發行版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器。
Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標准庫包含了多個調用操作系統功能的庫。
通過pywin32這個第三方軟體包,Python能夠訪問Windows的COM服務及其它Windows API。
使用IronPython,Python程序能夠直接調用.Net Framework。一般說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。