Uploaded by بليغ على

السلاسل النصية في بايثون - موسوعة حسوب

advertisement
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ ﻓﻲ ﺑﺎﻳﺛون‬
‫> ‪Python‬‬
‫ﻳﻣﻛن اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑﻳﺎﻧﺎت اﻟﻧﺻﻳﺔ ﻓﻲ ﺑﺎﻳﺛون ﺑﺎﺳﺗﺧدام ﻛﺎﺋﻧﺎت ‪ str‬أو اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ )‪ ،(strings‬وھﻲ ﺗﺳﻠﺳﻼت‬
‫)‪ (sequences‬ﻏﻳﺮ ﻗﺎﺑﻠﺔ ﻟﻠﺗﻐﻳﻳﺮ )‪ (immutable‬ﻣن رﻣوز ﻳوﻧﻳﻛود )‪.(Unicode‬‬
‫ھﻧﺎك طﺮاﺋق ﻣﺧﺗﻠﻔﺔ ﻟﻠﺗﻌﺑﻳﺮ ﻋن اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‪ ،‬إذ ﻳﻣﻛن أن ﺗﺣﺎط ﺑﻌﻼﻣﺎت اﻗﺗﺑﺎس ﻣﻔﺮدة )'‪ ('...‬أو‬
‫ﻣﺰدوﺟﺔ )"‪ ،("...‬وﻳﺳﺗﺧدم اﻟﺮﻣﺰ \ ﻟﺗﮫﺮﻳب ﻋﻼﻣﺎت اﻻﻗﺗﺑﺎس‪:‬‬
‫ﻋﻼﻣﺎت اﻗﺘﺒﺎس ﻣﻔﺮدة‬
‫اﺳﺘﺨﺪم‬
‫\'‬
‫ﻟﺘﮫﺮﻳﺐ ﻋﻼﻣﺎت اﻻﻗﺘﺒﺎس اﻟﻤﻔﺮدة‬
‫‪#‬‬
‫'‪>>> 'spam eggs‬‬
‫'‪'spam eggs‬‬
‫‪# ...‬‬
‫أو اﺳﺘﺨﺪم ﻋﻼﻣﺎت اﻻﻗﺘﺒﺎس اﻟﻤﺰدوﺟﺔ‬
‫'‪>>> 'doesn\'t‬‬
‫"‪"doesn't‬‬
‫‪# ...‬‬
‫"‪>>> "doesn't‬‬
‫"‪"doesn't‬‬
‫'‪>>> '"Yes," he said.‬‬
‫'‪'"Yes," he said.‬‬
‫"‪>>> "\"Yes,\" he said.‬‬
‫'‪'"Yes," he said.‬‬
‫'‪>>> '"Isn\'t," she said.‬‬
‫'‪'"Isn\'t," she said.‬‬
‫ﻣﺣﺗوﻳﺎت‬
‫‪ 1‬اﺳﺗﺧدام اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‬
‫‪ 2‬رﺑط اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ وﺗﻛﺮارھﺎ‬
‫‪ 3‬ﻓﮫﺮﺳﺔ اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‬
‫‪ 4‬اﻗﺗطﺎع اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‬
‫‪ 5‬اﻟﺗﺣوﻳل إﻟﻰ ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ‬
‫‪ 6‬اﻟدوال اﻟﺗﺎﺑﻌﺔ ﻟﻠﻛﺎﺋن ‪str‬‬
‫‪str.capitalize() 6.1‬‬
‫‪str.casefold() 6.2‬‬
‫‪str.center() 6.3‬‬
‫‪str.count() 6.4‬‬
‫‪1/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
7/14/2020
‫ ﻣوﺳوﻋﺔ ﺣﺳوب‬- ‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون‬
str.encode() 6.5
str.endswith() 6.6
str.expandtabs() 6.7
str.find() 6.8
str.format() 6.9
str.format_map() 6.10
str.index() 6.11
str.isalnum() 6.12
str.isalpha() 6.13
str.isdecimal() 6.14
str.isdigit() 6.15
str.isidentifier() 6.16
str.islower() 6.17
str.isnumeric() 6.18
str.isprintable() 6.19
str.isspace() 6.20
str.istitle() 6.21
str.isupper() 6.22
str.join() 6.23
str.ljust() 6.24
str.lower() 6.25
str.lstrip() 6.26
str.maketrans() 6.27
str.partition() 6.28
str.replace() 6.29
str.rfind() 6.30
str.rindex() 6.31
str.rjust() 6.32
str.rpartition() 6.33
str.rsplit() 6.34
str.rstrip() 6.35
str.split() 6.36
str.splitlines() 6.37
str.startswith() 6.38
str.strip() 6.39
str.swapcase() 6.40
str.title() 6.41
str.translate() 6.42
https://wiki.hsoub.com/Python/str
2/12
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫‪str.upper() 6.43‬‬
‫‪str.zfill() 6.44‬‬
‫‪ 7‬اﻧظﺮ أﻳﺿً ﺎ‬
‫‪ 8‬ﻣﺻﺎدر‬
‫اﺳﺗﺧدام اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‬
‫ﺗﺣﺎط اﻟﻣﺧﺮﺟﺎت ﻓﻲ اﻟوﺿﻊ اﻟﺗﻔﺎﻋﻠﻲ ﻟﻠﻣﻔﺳّﺮ ﺑﻌﻼﻣﺎت اﻻﻗﺗﺑﺎس‪ ،‬وﺗﮫﺮّ ب اﻷﺣﺮف اﻟﺧﺎﺻﺔ ﺑﺎﺳﺗﺧدام اﻟﺧطوط اﻟﻣﺎﺋﻠﺔ \‪،‬‬
‫وﻋﻠﻰ اﻟﺮﻏم ﻣن أنّ اﻟﻣﺧﺮﺟﺎت ﻗد ﺗﺑدو ﻓﻲ ﺑﻌض اﻷﺣﻳﺎن ﻣﺧﺗﻠﻔﺔ ﻋن اﻟﻣدﺧﻼت )ﻗد ﺗﺧﺗﻠف ﻋﻼﻣﺎت اﻻﻗﺗﺑﺎس اﻟﺗﻲ ﺗﺣﻳط‬
‫ﺑﺎﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ( ﻟﻛن اﻟﺳﻠﺳﻠﺗﻳن اﻟﻧﺻﻳﺗﻳن ﺳﺗﻛوﻧﺎن ﻣﺗطﺎﺑﻘﺗﺎن‪.‬‬
‫ﺗﺣﺎط اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺑﻌﻼﻣﺎت اﻗﺗﺑﺎس ﻣﺰدوﺟﺔ إن ﻛﺎﻧت ﺗﺣﺗوي ﻋﻠﻰ ﻋﻼﻣﺎت اﻗﺗﺑﺎس ﻣﻔﺮدة‪ ،‬أﻣﺎ إذا اﺣﺗوت ﻋﻠﻰ ﻋﻼﻣﺎت‬
‫اﻗﺗﺑﺎس ﻣﺰدوﺟﺔ ﻓﺈﻧّﮫﺎ ﺗﺣﺎط ﺑﻌﻼﻣﺎت اﻗﺗﺑﺎس ﻣﻔﺮدة‪.‬‬
‫ﺗﻧﺗﺞ اﻟداﻟﺔ )(‪ print‬ﻣﺧﺮﺟﺎت ﺳﮫﻠﺔ اﻟﻘﺮاءة وذﻟك ﺑﺣذف ﻋﻼﻣﺎت اﻻﻗﺗﺑﺎس اﻟﺗﻲ ﺗﺣﻳط ﺑﺎﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ وطﺑﺎﻋﺔ اﻷﺣﺮف‬
‫اﻟﺧﺎﺻّ ﺔ واﻟﻣﮫﺮّ ﺑﺔ‪.‬‬
‫ﻓﻲ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ ﻳﺳﺗﺧدم اﻟﺣﺮف اﻟﺧﺎص ‪ \n‬ﺿﻣن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ واﻟذي ﻳظﮫﺮ ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻟﻣﺧﺮﺟﺔ دون اﺳﺗﺧدام‬
‫اﻟداﻟﺔ)(‪ ،print‬وﺗﺣوّ ﻟﻪ اﻟداﻟﺔ إﻟﻰ ﺳطﺮ ﺟدﻳد‪:‬‬
‫'‪>>> '"Isn\'t," she said.‬‬
‫'‪'"Isn\'t," she said.‬‬
‫)'‪>>> print('"Isn\'t," she said.‬‬
‫‪"Isn't," she said.‬‬
‫'‪>>> s = 'First line.\nSecond line.‬‬
‫‪>>> s‬‬
‫'‪'First line.\nSecond line.‬‬
‫)‪>>> print(s‬‬
‫‪First line.‬‬
‫‪Second line.‬‬
‫إن ﻛﻧت ﻻ ﺗﺮﻏب ﻓﻲ ﺗﺣوﻳل اﻷﺣﺮف اﻟﺧﺎﺻﺔ اﻟﻣﺳﺑوﻗﺔ ﺑﺎﻟﻌﻼﻣﺔ \ ﻳﻣﻛﻧك اﺳﺗﺧدام اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ اﻟﺧﺎم وذﻟك ﺑﺈﺿﺎﻓﺔ‬
‫اﻟﺣﺮف ‪)r‬اﺧﺗﺻﺎر ‪ (raw‬ﻗﺑل ﻋﻼﻣﺔ اﻻﻗﺗﺑﺎس اﻷوﻟﻰ‪.‬‬
‫ﻓﻲ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ ﻳظﮫﺮ اﻟﺣﺮف اﻟﺧﺎص ‪ \n‬ﺿﻣن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪ ،‬ﻻﺣظ اﻟﻔﺮق ﺑﻳن اﻟﻣﺧﺮﺟﺎت‪:‬‬
‫)'‪>>> print('C:\some\name‬‬
‫‪C:\some‬‬
‫‪ame‬‬
‫‪# note the r before the quote‬‬
‫)'‪>>> print(r'C:\some\name‬‬
‫‪C:\some\name‬‬
‫‪3/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫ﻳﻣﻛن ﻟﻠﺳﻼﺳل اﻟﻧﺻﻳﺔ أن ﺗﻣﺗ ّد ﻟﻌدة أﺳطﺮ‪ ،‬وذﻟك ﺑﺎﺳﺗﺧدام ﻋﻼﻣﺎت اﻗﺗﺑﺎس ﺛﻼﺛﻳﺔ """‪ """...‬أو '''‪.'''...‬‬
‫ﺗﺿﺎف ﻧﮫﺎﻳﺎت اﻷﺳطﺮ إﻟﻰ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺗﻠﻘﺎﺋﻳًﺎ‪ ،‬وﻟﻛن ﻳﻣﻛن ﺗﺟﻧّب ذﻟك ﺑﺈﺿﺎﻓﺔ اﻟﺮﻣﺰ \ ﻓﻲ ﻧﮫﺎﻳﺔ اﻟﺳطﺮ‪ ،‬ﻓﻌﻠﻰ ﺳﺑﻳل‬
‫اﻟﻣﺛﺎل‪:‬‬
‫\"""(‪print‬‬
‫]‪Usage: thingy [OPTIONS‬‬
‫‪Display this usage message‬‬
‫‪-h‬‬
‫‪Hostname to connect to‬‬
‫‪-H hostname‬‬
‫)"""‬
‫ﺗﻌطﻲ اﻟﺷﻳﻔﺮة اﻟﺳﺎﺑﻘﺔ اﻟﻣﺧﺮﺟﺎت اﻟﺗﺎﻟﻳﺔ )ﻻﺣظ ﻏﻳﺎب اﻟﺳطﺮ اﻟﺟدﻳد ﻓﻲ ﺑداﻳﺔ اﻟﺳﻠﺳﻠﺔ(‪:‬‬
‫]‪Usage: thingy [OPTIONS‬‬
‫‪Display this usage message‬‬
‫‪-h‬‬
‫‪Hostname to connect to‬‬
‫‪-H hostname‬‬
‫رﺑط اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ وﺗﻛﺮارھﺎ‬
‫ﻳﻣﻛن رﺑط اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ ﺑﻌﺿﮫﺎ ﺑﺑﻌض ﺑواﺳطﺔ اﻟﻌﺎﻣل ‪ ،+‬وﻳﻣﻛن ﺗﻛﺮار اﻟﺳﻼﺳل ﺑﺎﺳﺗﺧدام اﻟﻌﺎﻣل *‪ً ،‬‬
‫ﻓﻣﺛﻼ‪ ،‬ﺗﻛﺮر‬
‫اﻟﺷﻳﻔﺮة اﻟﺗﺎﻟﻳﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ '‪ 'un‬ﺛﻼث ﻣﺮات وﺗﺮﺑطﮫﺎ ﺑﻌد ذﻟك ﺑﺎﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ '‪:'ium‬‬
‫'‪>>> 3 * 'un' + 'ium‬‬
‫'‪'unununium‬‬
‫ﺗﺮﺑط ﺑﺎﻳﺛون اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ اﻟﻣﺗﺟﺎورة ﺑﻌﺿﮫﺎ ﺑﺑﻌض ﺗﻠﻘﺎﺋﻳًﺎ‪:‬‬
‫'‪>>> 'Py' 'thon‬‬
‫'‪'Python‬‬
‫ھذه اﻟﺧﺎﺻﻳﺔ ﻣﻔﻳدة ﻋﻧد اﻟﺣﺎﺟﺔ إﻟﻰ ﺗﻘﺳﻳم اﻟﺳﻼﺳل اﻟطوﻳﻠﺔ‪:‬‬
‫' ‪>>> text = ('Put several strings within parentheses‬‬
‫)'‪'to have them joined together.‬‬
‫‪...‬‬
‫‪>>> text‬‬
‫‪'Put several strings within parentheses to have them joined toget‬‬
‫‪4/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫ﺗﻌﻣل ھذه اﻟﺧﺎﺻﻳﺔ ﻣﻊ اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ اﻟﻣﺣﺎطﺔ ﺑﻌﻼﻣﺎت اﻗﺗﺑﺎس ﻓﻘط‪ ،‬وﻻ ﺗﻌﻣل ﻣﻊ اﻟﻣﺗﻐﻳﺮات أو اﻟﺗﻌﺎﺑﻳﺮ‪:‬‬
‫ﻻ ﻳﻤﻜﻦ رﺑﻂ اﻟﺴﻠﺴﻠﺔ اﻟﻨﺼﯿﺔ ﺑﺎﻟﻤﺘﻐﯿﺮات‬
‫'‪>>> prefix = 'Py‬‬
‫‪#‬‬
‫'‪>>> prefix 'thon‬‬
‫‪...‬‬
‫‪SyntaxError: invalid syntax‬‬
‫'‪>>> ('un' * 3) 'ium‬‬
‫‪...‬‬
‫‪SyntaxError: invalid syntax‬‬
‫اﺳﺗﺧدم اﻟﻌﺎﻣل ‪ +‬ﻟﺮﺑط اﻟﻣﺗﻐﻳﺮات أو اﻟﻣﺗﻐﻳﺮات ﻣﻊ اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‪:‬‬
‫'‪>>> prefix + 'thon‬‬
‫'‪'Python‬‬
‫ﻓﮫﺮﺳﺔ اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‬
‫ﻳﻣﻛن ﻓﮫﺮﺳﺔ اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ ﻓﻲ ﺑﺎﻳﺛون‪ ،‬وﻳﺣﻣل اﻟﺣﺮف اﻷول رﻗم اﻟﻔﮫﺮس ‪.0‬‬
‫ﺟدﻳﺮ ﺑﺎﻟذﻛﺮ أنّ ﻧوع اﻷﺣﺮف اﻟﻣﻔﺮدة ‪ char‬ﻏﻳﺮ ﻣﺗو ّﻓﺮ ﻓﻲ ﺑﺎﻳﺛون‪ ،‬ﻓﺎﻟﺣﺮف اﻟﻣﻔﺮد ھو ﺑﺑﺳﺎطﺔ ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ ذات ﻋﻧﺻﺮ‬
‫واﺣد‪:‬‬
‫'‪>>> word = 'Python‬‬
‫اﻟﺤﺮف ﻓﻲ اﻟﻤﻮﻗﻊ‬
‫‪# 0‬‬
‫اﻟﺤﺮف ﻓﻲ اﻟﻤﻮﻗﻊ‬
‫‪# 5‬‬
‫]‪>>> word[0‬‬
‫'‪'P‬‬
‫]‪>>> word[5‬‬
‫'‪'n‬‬
‫ﻳﻣﻛن ﻷرﻗﺎم اﻟﻔﮫﺎرس أن ﺗﻛون ﺳﺎﻟﺑﺔ‪ ،‬وﺣﻳﻧﺋذ ﻳﺑدأ اﻟﻌ ّد ﻣن اﻟﻳﻣﻳن‪:‬‬
‫اﻟﺤﺮف اﻷﺧﯿﺮ‬
‫‪#‬‬
‫اﻟﺤﺮف ﻣﺎ ﻗﺒﻞ اﻷﺧﯿﺮ‬
‫‪#‬‬
‫]‪>>> word[-1‬‬
‫'‪'n‬‬
‫]‪>>> word[-2‬‬
‫'‪'o‬‬
‫]‪>>> word[-6‬‬
‫'‪'P‬‬
‫‪5/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫ﻻﺣظ أﻧّﻪ ﻟﻣّﺎ ﻛﺎن ‪ -0‬و ‪ 0‬ﻣﺗﺳﺎوﻳﻳن‪ ،‬ﻓﺈنّ اﻟﻔﮫﺎرس اﻟﺳﺎﻟﺑﺔ ﺗﺑدأ ﻣن ‪.-1‬‬
‫اﻗﺗطﺎع اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‬
‫إﺿﺎﻓﺔ إﻟﻰ اﻟﻔﮫﺮﺳﺔ ﺗدﻋم ﺑﺎﻳﺛون ﻋﻣﻠﻳﺔ اﻻﻗﺗطﺎع )‪ (slicing‬أﻳﺿً ﺎ‪ .‬ﺗﺳﺗﺧدم اﻟﻔﮫﺮﺳﺔ ﻟﻠﺣﺻول ﻋﻠﻰ أﺣﺮف ﻣﻔﺮدة‪ ،‬أﻣﺎ ﻋﻣﻠﻳﺔ‬
‫اﻟﺗﻘطﻳﻊ ﻓﺗﺗﻳﺢ اﻟﺣﺻول ﻋﻠﻰ ﺟﺰء ﻣن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪:‬‬
‫اﻟﺤﺮوف ﻣﻦ اﻟﻤﻮﻗﻊ ‪) 0‬ﻣﺸﻤﻮل( إﻟﻰ اﻟﻤﻮﻗﻊ ‪) 2‬ﻏﯿﺮ ﻣﺸﻤﻮل‬
‫( ‪#‬‬
‫]‪>>> word[0:2‬‬
‫'‪'Py‬‬
‫اﻟﺤﺮوف ﻣﻦ اﻟﻤﻮﻗﻊ ‪) 2‬ﻣﺸﻤﻮل( إﻟﻰ اﻟﻤﻮﻗﻊ ‪) 5‬ﻏﯿﺮ ﻣﺸﻤﻮل‬
‫( ‪#‬‬
‫]‪>>> word[2:5‬‬
‫'‪'tho‬‬
‫ً‬
‫ً‬
‫ﻣﺷﻣوﻻ‪ .‬وھﻛذا ﻓﺈن اﻟﺗﻌﺑﻳﺮ ‪s[:i] +‬‬
‫ﻣﺷﻣوﻻ داﺋﻣًﺎ ﺑﻌﻣﻠﻳﺔ اﻻﻗﺗطﺎع أﻣﺎ اﻟﺮﻗم اﻷﺧﻳﺮ ﻓﻼ ﻳﻛون‬
‫ﻻﺣظ أنّ اﻟﺮﻗم اﻷول ﻳﻛون‬
‫]‪ s[i:‬ﻳﺳﺎوي ‪ s‬داﺋﻣًﺎ‪:‬‬
‫]‪>>> word[:2] + word[2:‬‬
‫'‪'Python‬‬
‫]‪>>> word[:4] + word[4:‬‬
‫'‪'Python‬‬
‫ھﻧﺎك ﺑﻌض اﻟﻘﻳم اﻻﻓﺗﺮاﺿﻳﺔ اﻟﻣﻔﻳدة ﻓﻲ ﺧﺎﺻﻳﺔ اﻟﺗﻘطﻳﻊ‪ ،‬ﻓﺈذا ﺣذف اﻟﺮﻗم اﻷول ﻓﺈنّ اﻟﻘﻳﻣﺔ اﻻﻓﺗﺮاﺿﻳﺔ ﻟﻪ ﺳﺗﻛون ﺻﻔﺮً ا‪ ،‬وإذا‬
‫ُﺣذف اﻟﺮﻗم اﻟﺛﺎﻧﻲ ﻓﺈنّ اﻟﻘﻳﻣﺔ اﻻﻓﺗﺮاﺿﻳﺔ ﺗﻛون طول اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻟﺗﻲ ﺳﻳﺟﺮي اﻗﺗطﺎﻋﮫﺎ‪.‬‬
‫اﻗﺘﻄﺎع اﻟﺤﺮوف ﻣﻦ اﻟﻤﻮﻗﻊ ‪ 0‬إﻟﻰ اﻟﻤﻮﻗﻊ ‪) 2‬ﻏﯿﺮ ﻣﺸﻤﻮل‬
‫( ‪#‬‬
‫]‪>>> word[:2‬‬
‫'‪'Py‬‬
‫اﻗﺘﻄﺎع اﻟﺤﺮوف ﻣﻦ اﻟﻤﻮﻗﻊ ‪) 4‬ﻣﺸﻤﻮل( إﻟﻰ ﻧﮫﺎﻳﺔ اﻟﺴﻠﺴﻠﺔ‬
‫‪#‬‬
‫اﻟﺤﺮوف ﻣﻦ اﻟﻤﻮﻗﻊ ‪ 2‬ﻣﻦ اﻟﯿﻤﯿﻦ )ﻣﺸﻤﻮل( إﻟﻰ ﻧﮫﺎﻳﺔ اﻟﺴﻠﺴﻠﺔ‬
‫‪#‬‬
‫]‪>>> word[4:‬‬
‫'‪'on‬‬
‫]‪>>> word[-2:‬‬
‫'‪'on‬‬
‫ﻟﺗﺗذ ّﻛﺮ ﻛﻳف ﺗﺟﺮي ﻋﻣﻠﻳﺔ اﻻﻗﺗطﺎع ﻳﻣﻛﻧك اﻟﺗﻔﻛﻳﺮ ﻓﻲ اﻟﻔﮫﺎرس وﻛﺄﻧّﮫﺎ ﻓواﺻل ﺑﻳن اﻟﺣﺮوف‪ ،‬وﺗﺄﺧذ اﻟﺣﺎﻓﺔ اﻟﻳﺳﺮى ﻣن‬
‫اﻟﺣﺮف اﻷول اﻟﺮﻗم ‪ ،0‬وﺗﺄﺧذ اﻟﺣﺎﻓﺔ اﻟﻳﻣﻧﻰ ﻣن اﻟﺣﺮف اﻷﺧﻳﺮ ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻟﻣﻛوّ ﻧﺔ ﻣن ‪ n‬ﺣﺮوف اﻟﺮﻗم ‪ً ،n‬‬
‫ﻓﻣﺛﻼ‪:‬‬
‫‪+---+---+---+---+---+---+‬‬
‫| ‪| P | y | t | h | o | n‬‬
‫‪+---+---+---+---+---+---+‬‬
‫‪6/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪-1‬‬
‫‪-2‬‬
‫‪-3‬‬
‫‪-4‬‬
‫‪-5‬‬
‫‪-6‬‬
‫ﻳظﮫﺮ ﻓﻲ اﻟﺻف اﻷول اﻷرﻗﺎم اﻟﺗﻲ ﺗﺷﻳﺮ إﻟﻰ ﻣواﻗﻊ اﻟﻔﮫﺎرس ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ‪ ،6...0‬أﻣﺎ اﻟﺻفّ اﻟﺛﺎﻧﻲ ﻓﺗﺷﻳﺮ اﻷرﻗﺎم‬
‫ﻓﻳﻪ إﻟﻰ اﻟﻔﮫﺎرس اﻟﺳﺎﻟﺑﺔ‪ .‬وﺗﺗﻛون اﻟﻘطﻌﺔ اﻟﺗﻲ ﺗﺑدأ ﺑﺎﻟﻔﮫﺮس ‪ i‬وﺗﻧﺗﮫﻲ ﺑﺎﻟﻔﮫﺮس ‪ j‬ﻣن ﺟﻣﻳﻊ اﻟﺣﺮوف اﻟﻣوﺟودة ﺑﻳن‬
‫اﻟﺣﺎﻓﺗﻳن ‪ i‬و ‪ j‬ﻋﻠﻰ اﻟﺗواﻟﻲ‪.‬‬
‫ﻳﻛون طول اﻟﻘطﻌﺔ ﻋﻧد اﺳﺗﺧدام اﻟﻔﮫﺎرس ﻏﻳﺮ اﻟﺳﺎﻟﺑﺔ ھو اﻟﻔﺮق ﺑﻳن اﻟﺮﻗﻣﻳن إن ﻛﺎﻧﺎ ﺿﻣن اﻟﺣدود‪ ،‬ﻓﻌﻠﻰ ﺳﺑﻳل اﻟﻣﺛﺎل طول‬
‫اﻟﻘطﻌﺔ ]‪ word[1:3‬ھو ‪.2‬‬
‫ﺗؤدي ﻣﺣﺎوﻟﺔ اﺳﺗﺧدام ﻓﮫﺮس ﻛﺑﻳﺮ ﺟ ًّدا )ﻳﺗﺟﺎوز طول اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ( إﻟﻰ ﺣدوث ﺧطﺄ‪:‬‬
‫اﻟﺴﻠﺴﻠﺔ اﻟﻨﺼﯿﺔ ﻓﯿﮫﺎ ‪ 6‬ﻣﺤﺎرف ﻓﻘﻂ‬
‫‪#‬‬
‫]‪>>> word[42‬‬
‫‪Traceback (most recent call last):‬‬
‫>‪File "<stdin>", line 1, in <module‬‬
‫‪IndexError: string index out of range‬‬
‫وﻟﻛن ﻻ ﺗظﮫﺮ ھذه اﻷﺧطﺎء ﻋﻧد اﻗﺗطﺎع اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ‪:‬‬
‫]‪>>> word[4:42‬‬
‫'‪'on‬‬
‫]‪>>> word[42:‬‬
‫''‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ ﻓﻲ ﺑﺎﻳﺛون ﻏﻳﺮ ﻗﺎﺑﻠﺔ ﻟﻠﺗﻌدﻳل )‪(immutable‬؛ ﻟذا ﻓﺈنّ إﺳﻧﺎد ﻗﻳﻣﺔ إﻟﻰ ﻣوﻗﻊ ﻣﻔﮫﺮس ﺿﻣن اﻟﺳﻠﺳﻠﺔ‬
‫ﺳﻳؤدي إﻟﻰ ﺣدوث ﺧطﺄ‪:‬‬
‫'‪>>> word[0] = 'J‬‬
‫‪...‬‬
‫‪TypeError: 'str' object does not support item assignment‬‬
‫'‪>>> word[2:] = 'py‬‬
‫‪...‬‬
‫‪TypeError: 'str' object does not support item assignment‬‬
‫إن ﻛﻧت ﺗﺮﻏب ﻓﻲ ﺗﻐﻳﻳﺮ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪ ،‬ﻓﻳﺟب إﻧﺷﺎء واﺣدة ﺟدﻳدة‪:‬‬
‫]‪>>> 'J' + word[1:‬‬
‫'‪'Jython‬‬
‫‪7/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫'‪>>> word[:2] + 'py‬‬
‫'‪'Pypy‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ اﻟداﺧﻠﻳﺔ )(‪ len‬طول اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪:‬‬
‫'‪>>> s = 'supercalifragilisticexpialidocious‬‬
‫)‪>>> len(s‬‬
‫‪34‬‬
‫اﻟﺗﺣوﻳل إﻟﻰ ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ‬
‫ﺗﺳﺗﺧدم اﻟداﻟﺔ )(‪ str‬ﻟﺗﺣوﻳل اﻟﻛﺎﺋﻧﺎت إﻟﻰ ﺳﻼﺳل ﻧﺻﻳﺔ‪ ،‬وﺗﻌﻳد ﺳﻠﺳﻠﺔ ﻓﺎرﻏﺔ ﻓﻲ ﺣﺎل ﻋدم ﺗﻘدﻳم ﻛﺎﺋن ﻟﮫﺎ‪ .‬ﺗﻌﻳد‬
‫اﻟداﻟﺔ)‪ str(object‬اﻟﺗﺎﺑﻊ )(__‪ object.__str‬وھو ﻋﺑﺎرة ﻋن ﺗﻣﺛﻳل ﻟﻠﻛﺎﺋن ﻋﻠﻰ ھﻳﺋﺔ ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ ﻗﺎﺑﻠﺔ‬
‫ﻟﻠطﺑﺎﻋﺔ وﻣﻧﺳّﻘﺔ ﺑﺻورة ﺟﻳدة‪ .‬إن ﻛﺎن اﻟﻛﺎﺋن ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ ﻓﺈنّ اﻟداﻟﺔ ﺗﻌﻳد اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻّ ﻳﺔ ذاﺗﮫﺎ‪ .‬إن ﻟم ﻳﻣﺗﻠك اﻟﻛﺎﺋن‬
‫ﺗﺎﺑﻊ )(__‪ __str‬ﻓﺈنّ اﻟداﻟﺔ)(‪ str‬ﺳﺗﺗﺮاﺟﻊ )‪ (fall back‬إﻟﻰ اﻟداﻟﺔ )‪.repr(object‬‬
‫)(‪>>> str‬‬
‫''‬
‫)‪>>> str(3‬‬
‫'‪'3‬‬
‫))(‪>>> str(set‬‬
‫')(‪'set‬‬
‫)]‪>>> str([1‬‬
‫']‪'[1‬‬
‫]‪>>> x = [1, 2, 3‬‬
‫)‪>>> str(x‬‬
‫']‪'[1, 2, 3‬‬
‫‪>>> y = 2-3j‬‬
‫)‪>>> str(y‬‬
‫)‪'(2-3j‬‬
‫"‪>>> z = "Python‬‬
‫)‪>>> str(z‬‬
‫'‪'Python‬‬
‫اﻟدوال اﻟﺗﺎﺑﻌﺔ ﻟﻠﻛﺎﺋن ‪str‬‬
‫ﻳدﻋم اﻟﻛﺎﺋن ‪ str‬ﺟﻣﻳﻊ اﻟﻌﻣﻠﻳﺎت اﻟﻣﺷﺗﺮﻛﺔ ﺑﻳن أﻧواع اﻟﺗﺳﻠﺳﻼت ﻓﻲ ﺑﺎﻳﺛون‪ ،‬إﺿﺎﻓﺔ إﻟﻰ ﺑﻌض اﻟدوال اﻟﺧﺎﺻﺔ‪:‬‬
‫‪8/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫)(‪str.capitalize‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ ﻧﺳﺧﺔ ﻣن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﻊ ﺗﺣوﻳل اﻟﺣﺮف اﻷول إﻟﻰ ﺣﺮف ﻛﺑﻳﺮ‪ ،‬واﻷﺣﺮف اﻟﺑﺎﻗﻳﺔ إﻟﻰ أﺣﺮف ﺻﻐﻳﺮة‪.‬‬
‫)(‪str.casefold‬‬
‫ﺗﻌﻳد ھذه اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺑﺣﺎﻟﺔ ‪ ،casefolded‬وﻳﻣﻛن اﺳﺗﺧدام ھذا اﻟﻧوع ﻣن اﻟﺳﻼﺳل ﻹﺟﺮاء اﻟﻣﻘﺎرﻧﺔ دون‬
‫اﻻﻋﺗﻣﺎد ﻋﻠﻰ ﺣﺎﻟﺔ اﻷﺣﺮف‪.‬‬
‫)(‪str.center‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ أﺣﺮف اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﺰاﺣﺔ ﻧﺣو اﻟوﺳط ﺿﻣن ﺳﻠﺳﻠﺔ ﻧﺻّ ﻳﺔ ذات طول ﻣﺣدّد‪.‬‬
‫)(‪str.count‬‬
‫ﺗﻌﻳد ھذه اﻟداﻟﺔ ﻋدد ﻣﺮات ظﮫور ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ ﻓﺮﻋﻳﺔ ﺿﻣن اﻟﺳﻠﺳﻠﺔ اﻷﺻﻠﻳﺔ‪.‬‬
‫)(‪str.encode‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ ﻧﺳﺧﺔ ﻣﺮﻣّﺰة ﻣن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻋﻠﻰ ھﻳﺋﺔ ﺑﺎﻳﺗﺎت‪.‬‬
‫)(‪str.endswith‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣن وﺟود ﺳﻠﺳﻠﺔ ﻧﺻﻳﺔ ﻓﺮﻋﻳﺔ ﻓﻲ ﻧﮫﺎﻳﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻷﺻﻠﻳﺔ‪.‬‬
‫)(‪str.expandtabs‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ ﻧﺳﺧﺔ ﻣن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺑﻌد ﺗﺣوﻳل ﺟﻣﻳﻊ ﻋﻼﻣﺎت اﻟﺟدوﻟﺔ إﻟﻰ ﻣﺳﺎﻓﺔ ﺑﻳﺿﺎء واﺣدة أو أﻛﺛﺮ‪.‬‬
‫)(‪str.find‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ أدﻧﻰ ﻗﻳﻣﺔ ﻟﻠﻔﮫﺮس ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ واﻟذي ﺗﻛون اﻟﺳﻠﺳﻠﺔ اﻟﻔﺮﻋﻳﺔ ﻣوﺟودة ﻓﻳﻪ ﺿﻣن اﻟﺟﺰء اﻟﻣﻘﺗطﻊ ﻣن‬
‫اﻟﺳﻠﺳﻠﺔ‪.‬‬
‫)(‪str.format‬‬
‫ﺗؤدي ھذه اﻟداﻟﺔ ﻋﻣﻠﻳﺎت اﻟﺗﻧﺳﻳق ﻋﻠﻰ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺑواﺳطﺔ ﻣﻌﺎﻣﻼت ﻣوﺿﻌﻳﺔ أو ﻣﻔﺗﺎﺣﻳﺔ‪.‬‬
‫)(‪str.format_map‬‬
‫ﺗؤدّي ھذه اﻟداﻟﺔ ﻋﻣﻠﻳﺎت اﻟﺗﻧﺳﻳق ﻋﻠﻰ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺑواﺳطﺔ ﻗﺎﻣوس‪.‬‬
‫)(‪str.index‬‬
‫ﺗؤدي ھذه اﻟداﻟﺔ ﻧﻔس وظﻳﻔﺔ اﻟداﻟﺔ )(‪ str.find‬وﻟﻛﻧّﮫﺎ ﺗطﻠق اﻟﺧطﺄ ‪ ValueError‬إن ﻟم ﺗﻌﺛﺮ ﻋﻠﻰ اﻟﺳﻠﺳﻠﺔ‬
‫اﻟﻔﺮﻋﻳﺔ‪.‬‬
‫)(‪str.isalnum‬‬
‫ﺗﺗﺣﻘّق ھذه اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺗﺿ ّم ﺣﺮو ًﻓﺎ وأرﻗﺎﻣًﺎ وأﻧّﮫﺎ ﺗﺿ ّم ﺣﺮ ًﻓﺎ واﺣدًا ﻋﻠﻰ اﻷﻗل‪.‬‬
‫)(‪str.isalpha‬‬
‫‪9/12‬‬
‫ً‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﻛوّ ﻧﺔ ﻣن اﻟﺣﺮوف ﻓﻘط‪ ،‬وأنّ ﻓﻳﮫﺎ ﺣﺮ ًﻓﺎ واﺣدًا ﻋﻠﻰ اﻷﻗل‪.‬‬
‫)(‪str.isdecimal‬‬
‫ﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﻛوّ ﻧﺔ ﻣن ﺣﺮوف اﻷﻋداد اﻟﻌﺷﺮﻳﺔ ﻓﻘط‪ ،‬وأنّ ﻓﻳﮫﺎ ﺣﺮ ًﻓﺎ واﺣدًا ﻋﻠﻰ اﻷﻗل‪.‬‬
‫)(‪str.isdigit‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﻛوّ ﻧﺔ ﻣن ﺣﺮوف اﻷﻋداد )‪ (digits‬ﻓﻘط‪ ،‬وأنّ ﻓﻳﮫﺎ ﺣﺮ ًﻓﺎ واﺣدًا ﻋﻠﻰ اﻷﻗل‪.‬‬
‫)(‪str.isidentifier‬‬
‫ﺻﺣﻳﺣﺎ )‪ (identifier‬ﻓﻲ ﻟﻐﺔ ﺑﺎﻳﺛون‪.‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺗﺗﺿﻣّن ﻣﻌﺮّ ًﻓﺎ‬
‫ً‬
‫)(‪str.islower‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت ﺣﺮوف اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺣﺮو ًﻓﺎ ﺻﻐﻳﺮة ‪.lower case‬‬
‫)(‪str.isnumeric‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت ﺟﻣﻳﻊ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺣﺮو ًﻓﺎ ﻋددﻳﺔ‪ ،‬وأنّ ھﻧﺎك ﺣﺮ ًﻓﺎ واﺣدًا ﻋﻠﻰ اﻷﻗل ﻓﻲ ﺗﻠك‬
‫اﻟﺳﻠﺳﻠﺔ‪.‬‬
‫)(‪str.isprintable‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت ﺟﻣﻳﻊ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻗﺎﺑﻠﺔ ﻟﻠطﺑﺎﻋﺔ أو أن اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻓﺎرﻏﺔ‪.‬‬
‫)(‪str.isspace‬‬
‫ﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﻛوّ ﻧﺔ ﻣن ﺣﺮوف ﻣﺳﺎﻓﺎت ﺑﻳﺿﺎء ﻓﻘط وأنّ ﻓﻲ اﻟﺳﻠﺳﻠﺔ ﺣﺮ ًﻓﺎ واﺣدًا ﻋﻠﻰ اﻷﻗل‪.‬‬
‫)(‪str.istitle‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت أواﺋل اﻟﻛﻠﻣﺎت ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺣﺮو ًﻓﺎ ﻛﺑﻳﺮة )‪.(titlecased‬‬
‫)(‪str.isupper‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣﻣّﺎ إذا ﻛﺎﻧت ﺟﻣﻳﻊ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺣﺮو ًﻓﺎ ﻛﺑﻳﺮة‪.‬‬
‫)(‪str.join‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻟﻧﺎﺗﺟﺔ ﻋن رﺑط اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ اﻟﺗﺎﺑﻌﺔ ﻟﻛﺎﺋن ﻗﺎﺑل ﻟﻠﺗﻛﺮار )‪.(iterable‬‬
‫)(‪str.ljust‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ أﺣﺮف اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﺰاﺣﺔ ﻧﺣو اﻟﻳﺳﺎر ﺿﻣن ﺳﻠﺳﻠﺔ ﻧﺻّ ﻳﺔ ذات طول ﻣﺣدّد‪.‬‬
‫)(‪str.lower‬‬
‫ﺗﺣول اﻟداﻟﺔ ﺟﻣﻳﻊ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ إﻟﻰ ﺣﺮوف ﺻﻐﻳﺮة‪.‬‬
‫)(‪str.lstrip‬‬
‫‪10/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫ﺗﺣذف اﻟداﻟﺔ اﻟﺣﺮوف اﻟﺗﻲ ﻳﺣدّدھﺎ اﻟﻣﺳﺗﺧدم ﻣن ﺑداﻳﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪.‬‬
‫)(‪str.maketrans‬‬
‫ﺗﻌﻳد ھذه اﻟداﻟﺔ اﻟﺳﺎﻛﻧﺔ ﺟدول ﺗﺮﺟﻣﺔ ﻳﻣﻛن اﺳﺗﺧداﻣﻪ ﺑواﺳطﺔ اﻟداﻟﺔ )(‪.str.translate‬‬
‫)(‪str.partition‬‬
‫ﺗﻘﺳم ھذه اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻋﻧد أول ظﮫور ﻟﻠﻘﻳﻣﺔ اﻟﺗﻲ ﻳﺣدّدھﺎ اﻟﻣﺳﺗﺧدم‪.‬‬
‫)(‪str.replace‬‬
‫ﺗﺑدّل ھذه اﻟداﻟﺔ اﻟﻌﺑﺎرة اﻟﺗﻲ ﻳﺧﺗﺎرھﺎ اﻟﻣﺳﺗﺧدم ‪ -‬ﻣﮫﻣﺎ ﺗﻛﺮّ رت ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ‪ -‬ﺑﺎﻟﻘﻳﻣﺔ اﻟﺟدﻳدة اﻟﺗﻲ ﻳﺣدّدھﺎ‪.‬‬
‫)(‪str.rfind‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ أﻋﻠﻰ ﻗﻳﻣﺔ ﻟﻠﻔﮫﺮس ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺣﻳث ﺗﺟد ﻓﻳﻪ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻟﻔﺮﻋﻳﺔ‪.‬‬
‫)(‪str.rindex‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ أﻋﻠﻰ ﻗﻳﻣﺔ ﻟﻠﻔﮫﺮس ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺣﻳث ﺗﺟد ﻓﻳﻪ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ اﻟﻔﺮﻋﻳﺔ‪.‬‬
‫)(‪str.rjust‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ أﺣﺮف اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣﺰاﺣﺔ ﻧﺣو اﻟﻳﻣﻳن ﺿﻣن ﺳﻠﺳﻠﺔ ﻧﺻّ ﻳﺔ ذات طول ﻣﺣدّد‪.‬‬
‫)(‪str.rpartition‬‬
‫ﺗﻘﺳم ھذه اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻋﻧد آﺧﺮ ظﮫور ﻟﻠﻘﻳﻣﺔ اﻟﺗﻲ ﻳﺣدّدھﺎ اﻟﻣﺳﺗﺧدم‪.‬‬
‫)(‪str.rsplit‬‬
‫ﺗﺣوّ ل ھذه اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻣن ﺟﮫﺔ اﻟﻳﻣﻳن إﻟﻰ ﻗﺎﺋﻣﺔ ﻣن اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ ﺑﺎﻻﻋﺗﻣﺎد ﻋﻠﻰ اﻟﻔﺎﺻل اﻟذي ﻳﺣدّده‬
‫اﻟﻣﺳﺗﺧدم‪.‬‬
‫)(‪str.rstrip‬‬
‫ﺗﺣذف اﻟداﻟﺔ اﻟﺣﺮوف اﻟﺗﻲ ﻳﺣدّدھﺎ اﻟﻣﺳﺗﺧدم ﻣن ﻧﮫﺎﻳﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪.‬‬
‫)(‪str.split‬‬
‫ﺗﻘﺳّم اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ إﻟﻰ ﻗﺎﺋﻣﺔ ﻣن اﻟﺳﻼﺳل اﻟﻧﺻﻳﺔ ﺑﺎﻻﻋﺗﻣﺎد ﻋﻠﻰ ﻓﺎﺻل ﻣﺣدّد‪.‬‬
‫)(‪str.splitlines‬‬
‫ﺗﻘﺳم اﻟداﻟﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ إﻟﻰ ﻗﺎﺋﻣﺔ ﻣن اﻷﺳطﺮ‪.‬‬
‫)(‪str.startswith‬‬
‫ﺗﺗﺣﻘّق اﻟداﻟﺔ ﻣن أنّ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺗﺑدأ ﺑﺎﻟﻘﻳﻣﺔ اﻟﺗﻲ ﻳﺣدّدھﺎ اﻟﻣﺳﺗﺧدم‪.‬‬
‫)(‪str.strip‬‬
‫‪11/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
‫‪7/14/2020‬‬
‫اﻟﺳﻼﺳل اﻟﻧﺻﯾﺔ ﻓﻲ ﺑﺎﯾﺛون ‪ -‬ﻣوﺳوﻋﺔ ﺣﺳوب‬
‫ﺗﺣذف اﻟداﻟﺔ اﻟﺣﺮوف اﻟﻣﺣدّدة ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم ﻣن ﻧﮫﺎﻳﺔ وﺑداﻳﺔ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪.‬‬
‫)(‪str.swapcase‬‬
‫ﺗﻘﻠب اﻟداﻟﺔ ﺣﺎﻟﺔ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ‪.‬‬
‫)(‪str.title‬‬
‫ﺗﺣوّ ل اﻟداﻟﺔ أواﺋل اﻟﻛﻠﻣﺎت ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ إﻟﻰ أﺣﺮف ﻛﺑﻳﺮة ‪.Title Case‬‬
‫)(‪str.translate‬‬
‫ﺗﻌﻳد اﻟداﻟﺔ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﺑﺎﻻﻋﺗﻣﺎد ﻋﻠﻰ ﺟدول اﻟﺗﺮﺟﻣﺔ ‪.translation table‬‬
‫)(‪str.upper‬‬
‫ﺗﺣوّ ل اﻟداﻟﺔ اﻟﺣﺮوف ﻓﻲ اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ إﻟﻰ ﺣﺮوف ﻛﺑﻳﺮة‪.‬‬
‫)(‪str.zfill‬‬
‫ﺗﺿﻳف اﻟداﻟﺔ أﺻﻔﺎرً ا ﻣن اﻟﺗﺮﻣﻳﺰ ‪ ASCII‬إﻟﻰ ﻳﺳﺎر اﻟﺳﻠﺳﻠﺔ اﻟﻧﺻﻳﺔ ﻟﺗﺻﺑﺢ اﻟﺳﻠﺳﻠﺔ ﺑﺎﻟطول اﻟﻣﺣدد ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم‪.‬‬
‫اﻧظﺮ أﻳﺿً ﺎ‬
‫اﻟﺻﻔوف ‪ tuple‬ﻓﻲ ﺑﺎﻳﺛون‪.‬‬
‫اﻟﻘواﺋم ‪ lists‬ﻓﻲ ﺑﺎﻳﺛون‪.‬‬
‫اﻟﻣﺟﻣوﻋﺎت ‪ set‬ﻓﻲ ﺑﺎﻳﺛون‪.‬‬
‫اﻟﻘواﻣﻳس ‪ dict‬ﻓﻲ ﺑﺎﻳﺛون‪.‬‬
‫اﻟﺑﺎﻳﺗﺎت ﻓﻲ ﺑﺎﻳﺛون‪.‬‬
‫ﻣﺻﺎدر‬
‫ﺻﻔﺣﺗﺎ ‪An Informal Introduction To Python‬و ‪ Built-in Types‬ﻓﻲ ﺗوﺛﻳق ﺑﺎﻳﺛون اﻟﺮﺳﻣﻲ‪.‬‬
‫ﻣﺟﻠوﺑﺔ ﻣن "‪"https://wiki.hsoub.com/index.php?title=Python/str&oldid=9503‬‬
‫آﺧر ﺗﻌدﯾل ﻟﮭذه اﻟﺻﻔﺣﺔ ﻛﺎن ﯾوم ‪ 29‬ﻣﺎﯾو ‪ ،2018‬اﻟﺳﺎﻋﺔ ‪.15:14‬‬
‫اﻟﻣﺣﺗوى ﻣﻧﺷور وﻓق اﻟﻣﺷﺎع اﻹﺑداﻋﻲ اﻟﻧﺳﺑﺔ ﻟﻠﻣؤﻟف ﻏﯾر ﺗﺟﺎري اﻟﻣﺷﺎرﻛﺔ ﺑﺎﻟﻣﺛل إن ﻟم ﯾرد ﺧﻼف ذﻟك‪.‬‬
‫‪12/12‬‬
‫‪https://wiki.hsoub.com/Python/str‬‬
Download