හිස් නූලක් එතරම් හොඳ නොවන බව පරීක්ෂා කිරීම සඳහා සෑම අවස්ථාවකදීම මම දෘ c කේතකරණය (sic) සොයා ගතිමි.
කේත ප්රවේශය පිරිසිදු කරන්න
මෙය කිරීම: foo == ""
ඉතා නරක පුරුද්දකි. ""
ඉන්ද්රජාලික අගයක්. ඔබ කිසි විටෙකත් ඉන්ද්රජාලික අගයන්ට එරෙහිව පරීක්ෂා නොකළ යුතුය (වඩාත් සාමාන්යයෙන් ඉන්ද්රජාලික සංඛ්යා ලෙස හැඳින්වේ )
ඔබ කළ යුත්තේ විස්තරාත්මක විචල්ය නාමයකට සංසන්දනය කිරීමයි.
විස්තරාත්මක විචල්ය නම්
"හිස්_ ස්ට්රිං" යනු විස්තරාත්මක විචල්ය නාමයක් යැයි කෙනෙකුට සිතිය හැකිය. එය එසේ නොවේ .
ඔබ ගොස් කිරීමට පෙර empty_string = ""
සංසන්දනය කිරීමට විශාල විචල්ය නාමයක් ඇතැයි සිතීමට . “විස්තරාත්මක විචල්ය නාමය” යන්නෙහි තේරුම මෙය නොවේ.
හොඳ විස්තරාත්මක විචල්ය නාමයක් එහි සන්දර්භය මත පදනම් වේ. ඔබ හිස් අගයක් දේ ගැන හිතන්න ඇති වේ .
- එය පැමිණෙන්නේ කොහෙන්ද?
- ඇයි එතන.
- ඔබ ඒ සඳහා පරීක්ෂා කළ යුත්තේ ඇයි?
සරල පෝරම ක්ෂේත්ර උදාහරණය
ඔබ ගොඩනඟන්නේ පරිශීලකයෙකුට වටිනාකම් ඇතුළත් කළ හැකි පෝරමයක්. පරිශීලකයා යමක් ලියා ඇත්දැයි පරීක්ෂා කිරීමට ඔබට අවශ්යය.
හොඳ විචල්ය නමක් විය හැකිය not_filled_in
මෙමඟින් කේතය ඉතා පහසුවෙන් කියවිය හැකිය
if formfields.name == not_filled_in:
raise ValueError("We need your name")
සම්පූර්ණ CSV විග්රහ කිරීමේ උදාහරණය
ඔබ CSV ලිපිගොනු විග්රහ කරමින් සිටින අතර හිස් නූල විග්රහ කිරීමට අවශ්යය None
(CSV මුළුමනින්ම පෙළ මත පදනම් වූ බැවින්, None
පෙර නියම කළ වචන භාවිතා නොකර එය නියෝජනය කළ නොහැක )
හොඳ විචල්ය නමක් විය හැකිය CSV_NONE
මෙමඟින් ඔබට නව CSV ගොනුවක් තිබේ නම් එය වෙනස් කිරීමට හා අනුවර්තනය වීමට පහසු None
වේ""
if csvfield == CSV_NONE:
csvfield = None
මෙම කේත කොටස නිවැරදි දැයි ප්රශ්න නොමැත. එය කළ යුතු දේ එය කරන බව පැහැදිලිය.
මෙය සසඳා බලන්න
if csvfield == EMPTY_STRING:
csvfield = None
මෙහි ඇති පළමු ප්රශ්නය නම්, හිස් නූලට විශේෂ ප්රතිකාර අවශ්ය වන්නේ ඇයි?
මෙය අනාගත කේතකරුවන්ට හිස් නූලක් සැමවිටම සැලකිය යුතු බව කියනු ඇත None
.
එයට හේතුව එය ව්යාපාර තර්කනය (CSV අගය කුමක් විය යුතුද යන්නයි) None
) කේත ක්රියාත්මක කිරීම සමඟ මිශ්ර කිරීමයි (අප සැබවින්ම සැසඳෙන්නේ කුමක් ද)
දෙදෙනා අතර සැලකිල්ලෙන් වෙන්වීමක් තිබිය යුතුය .
""
හොඳ ලෙස නොවේ?