సింటాక్స్:
పైథాన్లోని పైడాంటిక్ డేటాక్లాస్లను ఉపయోగించి డేటా ఎలా నిర్వహించబడుతుందో మెరుగుపరచడానికి సరళమైన ఇంకా ప్రభావవంతమైన మార్గం క్లాస్ డెకరేటర్ని ఉపయోగించడం, దీని సహాయంతో మేము మా డేటా ఎలా ఉండాలనే దాని కోసం ఒక నమూనాను రూపొందించడం. ఇది మన డేటాకు స్పష్టమైన నిర్మాణాన్ని అందించడం లాంటిది. కాబట్టి, డేటా తరగతిని నిర్వచించడానికి వాక్యనిర్మాణం క్రింది విధంగా ఉంటుంది:
తరగతి మోడల్_పేరు ( బేస్ మోడల్ )
'model_name' అనేది మనం సృష్టించాలనుకుంటున్న మోడల్ పేరును ప్రదర్శిస్తుంది మరియు Pydantic నుండి 'BaseModel' అనేది ఒక సంరక్షకుని వలె పనిచేస్తుంది, ఇది డేటా మేము సెట్ చేసిన నియమాలను అనుసరిస్తుందని మరియు దాని ఇన్పుట్ పారామీటర్గా మోడల్కి పంపబడుతుందని నిర్ధారిస్తుంది. తరగతి లోపల, ప్రతి డేటా భాగం ఎలాంటి సమాచారాన్ని కలిగి ఉండాలో మేము నిర్వచించాము. ఈ ప్రక్రియ మేము డేటాక్లాస్ యొక్క ఉదాహరణను సృష్టించినప్పుడు, మేము అందించే సమాచారం మేము నిర్వచించిన దానికి సరిపోలుతుందని నిర్ధారిస్తుంది.
విధానం 1: పైడాంటిక్ డేటాక్లాస్తో మెరుగైన డేటా హ్యాండ్లింగ్
మా సేకరణలోని పుస్తకాల గురించి సమాచారాన్ని నిర్వహించడానికి మేము ఒక సాధారణ అప్లికేషన్ను అభివృద్ధి చేస్తున్నామని ఊహించుకోండి. మేము ఈ ప్రయోజనం కోసం సేకరించే డేటా ఖచ్చితమైనదిగా, స్థిరంగా మరియు చక్కగా నిర్మాణాత్మకంగా ఉండేలా చూడాలనుకుంటున్నాము. ప్రక్రియను సులభతరం చేయడానికి మరియు మెరుగుపరచడానికి పైడాంటిక్ డేటాక్లాస్లు ఇక్కడే అడుగు పెడతాయి.
ఉదాహరణతో ప్రారంభించడం అనేది పైడాంటిక్ డేటాక్లాస్ను నిర్వచించడం అవసరం. కాబట్టి, మేము పుస్తకాల వివరాలను సూచించే 'బుక్స్' అనే పేరుగల పైడాంటిక్ డేటాక్లాస్ను నిర్వచించడం ద్వారా ప్రారంభిస్తాము. Pydantic కోసం డేటాక్లాస్ను నిర్వచించడానికి, ప్రాజెక్ట్లో అన్ని Pydantic ప్యాకేజీలు ముందుగా ఇన్స్టాల్ చేయబడి ఉన్నాయని మేము నిర్ధారించుకోవాలి.
నుండి పిడాంటిక్ దిగుమతి బేస్ మోడల్
క్లాస్ డెకరేటర్ని ఉపయోగించి, మేము పిడాంటిక్ బేస్ మోడల్ నుండి వారసత్వంగా 'బుక్' క్లాస్ని సృష్టిస్తాము. తరగతి లోపల, మేము శీర్షిక, రచయిత మరియు విడుదల_సంవత్సరం వంటి లక్షణాలను పేర్కొంటాము, ప్రతి ఒక్కటి దాని సంబంధిత డేటా రకంతో అనుబంధించబడ్డాయి.
తరగతి పుస్తకం ( బేస్ మోడల్ ) :శీర్షిక: str
రచయిత: str
విడుదల_సంవత్సరం: int
క్లాస్ మోడల్ని సృష్టించిన తర్వాత, మేము పైడాంటిక్ డేటాక్లాస్ని ఉపయోగిస్తాము, “మూవీ” డేటాను హ్యాండిల్ చేయడానికి “బుక్” డేటాక్లాస్ పవర్ తీసుకుంటాము:
ఈ విభాగంలో, మేము పుస్తకానికి సంబంధించిన వివరాలను ఇన్పుట్ చేసే వినియోగదారుని అనుకరిస్తాము. 'బుక్' డేటాక్లాస్ మోడల్ టైటిల్, రచయిత మరియు విడుదలైన సంవత్సరం వంటి లక్షణాలను కలిగి ఉంటుంది, వాటి విలక్షణమైన డేటాటైప్లు ఉన్నాయి. కాబట్టి, ఈ భాగంలో, అంటే 'ఇన్పుట్', మేము వాటి విలువలను నిర్దేశిస్తాము.
ఇన్పుట్ = {'శీర్షిక' : 'బాధపడండి' ,
'రచయిత' : 'ఆడమ్' ,
'విడుదల_సంవత్సరం' : 2023
}
ఇన్పుట్లోని బుక్ మోడల్ లక్షణాల గురించిన వివరాల స్పెసిఫికేషన్ల తర్వాత, మేము ఈ వివరాలను ఉపయోగించి అందించిన డేటాతో “బుక్” ఉదాహరణను సృష్టిస్తాము; నిర్వచించిన డేటా నిర్మాణానికి వ్యతిరేకంగా ఇన్పుట్ను పైడాంటిక్ స్వయంచాలకంగా ధృవీకరిస్తున్నట్లు నిర్ధారించడానికి ఇది జరుగుతుంది. పూర్ణాంకం కాని విడుదల సంవత్సరం లేదా తప్పిపోయిన శీర్షిక వంటి ఏదైనా అస్థిరత లేదా పొరపాటు ఉంటే, Pydantic త్వరగా వినియోగదారు-స్నేహపూర్వక వివరణతో పాటు లోపాన్ని లేవనెత్తుతుంది.
ప్రయత్నించండి :పుస్తకం = పుస్తకం ( ** ఇన్పుట్ )
ముద్రణ ( 'పుస్తకం వివరాలు:' , పుస్తకం. శీర్షిక , పుస్తకం. రచయిత , పుస్తకం. విడుదల_సంవత్సరం )
తప్ప మినహాయింపు వంటి అది:
ముద్రణ ( 'లోపం:' , అది )
పైడాంటిక్ డేటాక్లాస్లతో అనుభవజ్ఞులైన మెరుగైన డేటా హ్యాండ్లింగ్ కోసం, డేటా ధ్రువీకరణ మరియు స్థిరత్వం కోసం మేము అంతర్నిర్మిత మెకానిజంను అందుకుంటాము. మేము వివిధ డేటా దృశ్యాలను కవర్ చేయడానికి ఐచ్ఛిక ఫీల్డ్లు, డిఫాల్ట్ విలువలు మరియు సంక్లిష్ట సమూహ నిర్మాణాలను చేర్చవచ్చు. ఇది మా డేటా క్రమబద్ధంగా మరియు సరిగ్గా ఫార్మాట్ చేయబడిందని హామీ ఇస్తుంది.
ఐచ్ఛిక ఫీల్డ్లు, డిఫాల్ట్ విలువలు మరియు సమూహ నిర్మాణాల వంటి లక్షణాల ద్వారా పైడాంటిక్ డేటాక్లాస్లు మెరుగైన డేటా హ్యాండ్లింగ్ సామర్థ్యాలను ఎలా అందిస్తాయో ఈ దశ విశ్లేషిస్తుంది.
ఐచ్ఛిక ఫీల్డ్లు మరియు డిఫాల్ట్ విలువలను ఎలా జోడించాలో మేము చూపే ఉదాహరణ ఇక్కడ ఉంది:
జానర్ మరియు రన్టైమ్ వంటి పుస్తకాల గురించి అదనపు వివరాలను ఇన్పుట్ చేయడానికి మేము వినియోగదారులను అనుమతించాలనుకుంటున్నాము. అయితే, ఈ వివరాలు ఎల్లప్పుడూ అందుబాటులో ఉండకపోవచ్చు. పైడాంటిక్ డేటాక్లాస్లతో, ఫీల్డ్లను ఐచ్ఛికం చేయడం ద్వారా మరియు డిఫాల్ట్ విలువలను కూడా సెట్ చేయడం ద్వారా మనం దీన్ని సులభంగా సాధించవచ్చు.
ఈ ఉదాహరణలో, “మూవీ” డేటాక్లాస్లో రెండు కొత్త ఫీల్డ్లు ఉన్నాయి: పుస్తకం వ్రాయబడిన భాష మరియు పేజీల సంఖ్య. “భాష” ఫీల్డ్లో “తెలియని” డిఫాల్ట్ విలువ ఉంది, ఇది వినియోగదారు ఈ వివరాలను అందించకపోతే, అది “తెలియదు”కి డిఫాల్ట్ అవుతుందని సూచిస్తుంది. 'పేజీల సంఖ్య' ఫీల్డ్ ఐచ్ఛికం మరియు దానిని ఖాళీగా ఉంచవచ్చు (ఏదీ లేనిదిగా సెట్ చేయబడింది).
నుండి పిడాంటిక్ దిగుమతి బేస్ మోడల్తరగతి పుస్తకం ( బేస్ మోడల్ ) :
శీర్షిక: str
రచయిత: str
విడుదల_సంవత్సరం: int
భాష: str = 'తెలియని'
పేజీలు: int = ఏదీ లేదు
ఇన్పుట్ = {
'శీర్షిక' : 'బాధపడండి' ,
'రచయిత' : 'ఆడమ్' ,
'విడుదల_సంవత్సరం' : 2023 ,
'భాష' : 'ఆంగ్ల' ,
'పేజీలు' : 2. 3. 4
}
పుస్తకం = పుస్తకం ( ** ఇన్పుట్ )
ముద్రణ ( 'పుస్తకం వివరాలు:' , పుస్తకం. శీర్షిక , పుస్తకం. రచయిత , పుస్తకం. విడుదల_సంవత్సరం , పుస్తకం. భాష , పుస్తకం. పేజీలు )
మేము ఈ కోడ్ లైన్లను కాపీ చేసి, ఫలితాలను గమనించడానికి కంపైలర్లో అతికించవచ్చు:
నుండి పిడాంటిక్ దిగుమతి బేస్ మోడల్తరగతి పుస్తకం ( బేస్ మోడల్ ) :
శీర్షిక: str
రచయిత: str
విడుదల_సంవత్సరం: int
ఇన్పుట్ = {
'శీర్షిక' : 'బాధపడండి' ,
'రచయిత' : 'ఆడమ్' ,
'విడుదల_సంవత్సరం' : 2023
}
# పుస్తక ఉదాహరణను సృష్టిస్తోంది
ప్రయత్నించండి :
పుస్తకం = పుస్తకం ( ** ఇన్పుట్ )
ముద్రణ ( 'పుస్తకం వివరాలు:' , పుస్తకం. శీర్షిక , పుస్తకం. రచయిత , పుస్తకం. విడుదల_సంవత్సరం )
తప్ప మినహాయింపు వంటి అది:
ముద్రణ ( 'లోపం:' , అది )
ఈ ఐచ్ఛిక ఫీల్డ్లు మరియు డిఫాల్ట్ విలువలను చేర్చడం ద్వారా, వినియోగదారులు నిర్దిష్ట వివరాలను అందించనప్పటికీ డేటా బాగా నిర్మాణాత్మకంగా మరియు స్థిరంగా ఉండేలా Pydantic నిర్ధారిస్తుంది.
విధానం 2: విద్యార్థి నమోదు ఫారమ్ కోసం పైడాంటిక్ డేటాక్లాస్తో డేటా హ్యాండ్లింగ్
మేము పాఠశాల ఈవెంట్ కోసం రిజిస్ట్రేషన్ ఫారమ్ను తయారు చేస్తున్నామని ఊహించుకోండి. వ్యక్తులు వారి సమాచారాన్ని నమోదు చేయాలి మరియు మేము తప్పులను నివారించాలనుకుంటున్నాము. ఇక్కడే పైడాంటిక్ డేటాక్లాస్లు సహాయపడతాయి. వారు డేటా సరైనదని మరియు సులభంగా నిర్వహించేలా చూసుకుంటారు.
పైథాన్ ప్రాజెక్ట్కు అవసరమైన ప్యాకేజీలను తీసుకువచ్చిన తర్వాత, పాల్గొనేవారి వివరాల కోసం “స్టూడెంట్” అనే పైడాంటిక్ డేటాక్లాస్ను సృష్టించడం ద్వారా మేము పైడాంటిక్ డేటాక్లాస్ను నిర్వచిస్తాము.
నుండి పిడాంటిక్ దిగుమతి బేస్ మోడల్'స్టూడెంట్' క్లాస్ని సెటప్ చేయడానికి క్లాస్ డెకరేటర్ని ఉపయోగించండి. ఇది Pydantic యొక్క బేస్ మోడల్ నుండి వారసత్వంగా పొందుతుంది. లోపల, మేము పేరు, ఇమెయిల్, డిపార్ట్మెంట్ మరియు ఫోన్ వంటి అట్రిబ్యూట్లకు ఒక్కొక్కటి దాని డేటా రకంతో పేరు పెట్టాము.
తరగతి విద్యార్థి ( బేస్ మోడల్ ) :పేరు: str
ఇమెయిల్ : str
విభాగం: str
ఫోన్: str
ఇప్పుడు పైడాంటిక్ డేటాక్లాస్ని ఉపయోగించడంతో, విద్యార్థి డేటాను నిర్వహించడానికి “స్టూడెంట్” డేటాక్లాస్తో పని చేయండి:
సమాచారం = {'పేరు' : 'XYZ' ,
'ఇమెయిల్' : 'xyz@student.com' ,
'విభాగం' : 'ఆండ్రూ' ,
'ఫోన్' : '0003-4567234'
}
ఈ భాగంలో, ఎవరైనా సైన్ అప్ చేసినట్లు మేము నటిస్తాము. మేము వారి డేటాను ఉపయోగించి “విద్యార్థి” ఉదాహరణను రూపొందించినప్పుడు, అది నిర్మాణానికి సరిపోతుందో లేదో పైడాంటిక్ తనిఖీ చేస్తుంది. '@' లేని ఇమెయిల్ లేదా నాన్-స్ట్రింగ్ డిపార్ట్మెంట్ వంటి లోపం ఉన్నట్లయితే, Pydantic ఆపి సమస్యను వివరిస్తుంది.
విద్యార్థి = విద్యార్థి ( ** సమాచారం )ముద్రణ ( 'విద్యార్థుల వివరాలు:' , విద్యార్థి )
పైడాంటిక్ డేటాక్లాస్లను ఉపయోగించి మెరుగైన డేటా హ్యాండ్లింగ్ మాకు ఉపయోగించడానికి సిద్ధంగా ఉన్న డేటాను అందిస్తుంది. మేము మరిన్ని ఫీల్డ్లను జోడించవచ్చు, డిఫాల్ట్లను సెట్ చేయవచ్చు లేదా సంక్లిష్ట డేటా సెటప్లతో పని చేయవచ్చు. ఇవన్నీ మా డేటా క్రమబద్ధంగా ఉంటాయని హామీ ఇస్తున్నాయి.
అవుట్పుట్ యొక్క కోడ్ మరియు స్నిప్పెట్ పరిశీలన కోసం క్రింది వాటిలో పేర్కొనబడ్డాయి:
నుండి పిడాంటిక్ దిగుమతి బేస్ మోడల్తరగతి విద్యార్థి ( బేస్ మోడల్ ) :
పేరు: str
ఇమెయిల్ : str
విభాగం: str
ఫోన్: str
సమాచారం = {
'పేరు' : 'XYZ' ,
'ఇమెయిల్' : 'xyz@student.com' ,
'విభాగం' : 'ఆండ్రూ' ,
'ఫోన్' : '0003-4567234'
}
విద్యార్థి = విద్యార్థి ( ** సమాచారం )
ముద్రణ ( 'విద్యార్థుల వివరాలు:' , విద్యార్థి )
అవుట్పుట్ని గమనించిన తర్వాత, ఈ సాధారణ ఉదాహరణలో పైడాంటిక్ డేటాక్లాస్లు డేటాను సజావుగా హ్యాండిల్ చేస్తాయని మనం సంగ్రహించవచ్చు. ఇన్పుట్ మనకు కావలసిన దానితో సరిపోలుతుందని వారు నిర్ధారించుకుంటారు. దీని అర్థం తక్కువ లోపాలు మరియు సంతోషకరమైన వినియోగదారులు.
ముగింపు
పైడాంటిక్ డేటాక్లాస్లు మనం డేటాతో ఎలా వ్యవహరిస్తామో ఏకీకృతం చేస్తాయి. సమాచారం ఖచ్చితమైనదని మరియు అవసరమైన నిర్మాణానికి సరిపోతుందని వారు హామీ ఇస్తున్నారు. ఇది తక్కువ ఎర్రర్లు మరియు మరిన్ని దోషరహిత అప్లికేషన్లకు అనువదిస్తుంది. Pydanticతో, డెవలపర్లు డేటా సమస్యల గురించి ఆందోళన చెందకుండా బాగా పనిచేసే యాప్లను రూపొందించడానికి తమ ప్రయత్నాలను అంకితం చేయవచ్చు. డేటాను నిర్వహించడం కోసం మాత్రమే అంకితమైన టాస్క్ మేనేజర్ని కలిగి ఉన్నట్లు భావించండి, ప్రారంభం నుండి ముగింపు వరకు ప్రతిదీ సజావుగా జరిగేలా చూసుకోండి.