شاید در مورد ماژول chatterbot چیزی خوانده باشید یا شنیده باشید.این ماژول برای شما یک چتبات که میتواند یاد بگیرد را فراهم میسازد و از الگوریتمهای یادگیری ماشینی استفاده میکند.
شاید در مورد ماژول chatterbot چیزی خوانده باشید یا شنیده باشید.این ماژول برای شما یک چتبات که میتواند یاد بگیرد را فراهم میسازد و از الگوریتمهای یادگیری ماشینی استفاده میکند.
در پایتون ۳.۸ یک عملگر جدید برای انتصاب معرفی شده است.این عملگر جهت انتصاب در عبارات بزرگتر استفاده میشود. مثلا:
a = 10
if (b := a) == 10:
...
در تکه کد بالا همزمان مقدار b برابر مقدار a میشود و هم مقایسه انجام میشود.
complex(real_part=0, imag_part=0)
complex(str)
complex یک کلاس توکار برای کار با اعداد مختلط هست. کار با اعداد مختلط مانند کار با اعداد صحیح و اعشاری است و عملگر های جمع،تفریق،ضرب و باقیمانده را میتوانید با آنها استفاده کنید.برای ایجاد یک عدد مختلط به سادگی از الگوی بالا کمک بگیرید.
os.urandom(n)
تابع os.urandom تعداد n بایت تصادفی برمیگرداند که برای مصارف رمزنگاری و دیگر کاربردها که اعداد تصادفی با کیفیتتر نیاز دارند مناسب است
این توابع از توابع توکار پایتون هستند و همانطور که از اسمشان مشخص است، یک عدد مبنای ده را به یک رشته که حاوی آن عدد در مبنای ۸،۱۶ یا ۲ است تبدیل میکند. فکر نمیکنم نیاز به توضیح زیادی داشته باشند اما توجه کنید که این توابع یک رشته برمیگردانند. چند مثال:
>>> hex(10)
'0xa'
>>> oct(13)
'0o15'
>>> bin(12)
'0b1100'
مطالب مرتبط:
در زبان پایتون، تابع input از ورودی استاندارد(که بصورت پیشفرض و معمولا صفحه کلید است) تا زمانی که به نویسهی خط جدید نرسیده میخواند و یک رشته(نوع str) با حذف خط جدید برمیگرداند.استفاده از آن بصورت زیر است:
input(prompt='')
prompt یک رشته است که به عنوان یک پیام به کاربر نمایش داده میشود و از کاربر میخواهد تا چیزی وارد کند، در صورتی که ذکر نشود،رشتهای خالی است(یعنی چیزی نمایش داده نمیشود). یک مثال:
name = input('What is your name?')
print('Hi,', name)
فراموش نکنید که تابع یک رشته برمیگرداند و در صورت نیاز باید آنرا به عدد و غیره تبدیل کنید.
مطالب مرتبط:
اندی پیش به این فکر میکردم که چطور میتوانم حجم یک پرونده را بدست بیاورم و زیر کاپوت این توابع چه چیزی پنهان است.
برای بدست آوردن حجم یک پرونده، البته بدون توجه به فایلسیستم و سیستمعامل میتوانیم به این صورت عمل کنیم: اول پرونده را باز میکنیم، سپس اشارهگر پرونده را به آخرین بایت آن انتقال میدهیم(معمولا تابعی به اسم seek یا مشابه وجود دارد)، حالا مکان اشارهگر را نسبت به اول پرونده بدست میآوریم(معمولا تابعی به اسم tell وجود دارد). حجم پرونده را به بایت بدست آوردهایم.
چند وقتی بود که این مخزن رو توی گیتهاب به لیست علاقهمندی ها اضافه کرده بودم، این دستورات برای راه اندازی یک وب سرور سادهی HTTP برای محتویات ایستا هستند(یعنی CGI و PHP و اینا پر!). این سرور ها همه به پورت ۸۰۰۰ گوش میدهند.
python3 -m http.server 8000
python -m SimpleHTTPServer 8000
ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
ruby -run -ehttpd . -p8000
php -S 127.0.0.1:8000
busybox httpd -p 8000
$Hso=New-Object Net.HttpListener;$Hso.Prefixes.Add("http://+:8000/");$Hso.Start();While ($Hso.IsListening){$HC=$Hso.GetContext();$HRes=$HC.Response;$HRes.Headers.Add("Content-Type","text/plain");$Buf=[Text.Encoding]::UTF8.GetBytes((GC (Join-Path $Pwd ($HC.Request).RawUrl)));$HRes.ContentLength64=$Buf.Length;$HRes.OutputStream.Write($Buf,0,$Buf.Length);$HRes.Close()};$Hso.Stop()
یا اگر خواستید با Command Prompt اجراش بکنید:
PowerShell.exe -nop -enc JABIAHMAbwA9AE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAEgAdAB0AHAATABpAHMAdABlAG4AZQByADsAJABIAHMAbwAuAFAAcgBlAGYAaQB4AGUAcwAuAEEAZABkACgAIgBoAHQAdABwADoALwAvACsAOgA4ADAAMAAwAC8AIgApADsAJABIAHMAbwAuAFMAdABhAHIAdAAoACkAOwBXAGgAaQBsAGUAIAAoACQASABzAG8ALgBJAHMATABpAHMAdABlAG4AaQBuAGcAKQB7ACQASABDAD0AJABIAHMAbwAuAEcAZQB0AEMAbwBuAHQAZQB4AHQAKAApADsAJABIAFIAZQBzAD0AJABIAEMALgBSAGUAcwBwAG8AbgBzAGUAOwAkAEgAUgBlAHMALgBIAGUAYQBkAGUAcgBzAC4AQQBkAGQAKAAiAEMAbwBuAHQAZQBuAHQALQBUAHkAcABlACIALAAiAHQAZQB4AHQALwBwAGwAYQBpAG4AIgApADsAJABCAHUAZgA9AFsAVABlAHgAdAAuAEUAbgBjAG8AZABpAG4AZwBdADoAOgBVAFQARgA4AC4ARwBlAHQAQgB5AHQAZQBzACgAKABHAEMAIAAoAEoAbwBpAG4ALQBQAGEAdABoACAAJABQAHcAZAAgACgAJABIAEMALgBSAGUAcQB1AGUAcwB0ACkALgBSAGEAdwBVAHIAbAApACkAKQA7ACQASABSAGUAcwAuAEMAbwBuAHQAZQBuAHQATABlAG4AZwB0AGgANgA0AD0AJABCAHUAZgAuAEwAZQBuAGcAdABoADsAJABIAFIAZQBzAC4ATwB1AHQAcAB1AHQAUwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAEIAdQBmACwAMAAsACQAQgB1AGYALgBMAGUAbgBnAHQAaAApADsAJABIAFIAZQBzAC4AQwBsAG8AcwBlACgAKQB9ADsAJABIAHMAbwAuAFMAdABvAHAAKAApAA==
while true ; do nc -l 8000 < test.html ; done
نسخه پاورشل را خودم امتحان نکرده ام.
منبع و همچنین دستورات بیشتر برای اجرای وب سرور در گیتهاب گیست
range([start,]end)
range(start, end[, step])
تابع range در زبان پایتون یک بازه از اعداد صحیح از start تا end-1 بر میگرداند و در صورتی که start ذکر نشود،بصورت پیشفرض ۰ است.step نیز مشخص میکند که فاصلهی اعدادی از هم چقدر باشد و بصورت پیشفرض ۱ هست.
enumerate(myList) = (0, myList[0]), (1, myList[1]), (2, myList[2]), ...سینتکس کلی بصورت زیر هست:
enumerate(myContainer, [start])
قبلا تکه کد مشابهی رو به زبان سی فرستاده بودم. این همونه اما به زبان پایتون.
#!/usr/bin/python3 ''' HexView.Py - A simple File Viewer in Hexadecimal format. Author: FarooqKZ Under GPL3+. THIS SOFTWARE COMES WITH NO WARRENTY FROM MAIN AUTHOR. ''' import sys # I inlcude this to use sys.exit() and sys.argv def showhelp(): # this function shows usage of program print("Usage: hexview.py file_path\n\tfile_path: Path of file to view."); sys.exit() if '-h' in sys.argv: #shows help if something like this passed to program: 'hexview.py -h' showhelp() path = sys.argv[1] filestream = None fbytes = None try: filestream = open(path,'br') # Open the file in Binary mode for Reading(br) fbytes = filestream.read() # Read all bytes from the file finally: if filestream: filestream.close() rown = 0 print('') for b in fbytes: s = hex(b).upper() s = s.replace('0X','')# "0XBA" => "BA" if len(s) == 1: print('0', end='') print(s, end=' ') rown += 1 if (rown % 27) == 0: print('') print("\n") # prints 2 newline
تقریبا در تمام زبان هایی که از نسل سی هستند شما چیزی به اسم مجموعهها یا آرایهها میبینید.در زبان سی یک آرایه، یک مجموعه از متغیر های همنوع هست که خانههای مجاور حافظه به آن تخصیص داده شده است.آرایه زیر یک آرایه از 3 عدد صحیح هست:
int ary[3] = {1, 2, 3};
printf("%i\n", ary[0]); // prints 1
در پایتون چیزی به اسم آرایه وجود ندارد.خود زبان پایتون بصورت ذاتی(منظورم builtin یا توکار هست) چهار نوع مخزن دارد: لیستها(Lists)،توپلها(Tuples)،دایرکتوریها(Directories) و مجموعهها(Sets).
برخلاف آرایهها در سی که تنها میتوانند دادههایی از یک نوع را در خود نگه دارند، مخازن پایتون(جز مجموعهها) میتوانند شامل هر نوع دادهای بصورت همزمان باشند.
در این قسمت آموزش خواندن یک فایل متنی و همچنین ایجاد و نوشتن یک فایل متنی را مطالعه میکنید.
در زبان پایتون جدا از توابع آمادهای که برای این کار وجود دارد این روش نیز روش جالبیست.
def FileExist(path):
try:
open(path)
except:
return False
else:
return True
پایتون یکی از زبان های برنامه نویسی قدرتمند و در عین حال ساده است و برای مبتدیان و تازهواردان به دنیای برنامه نویسی نیز گزینه خوبیست.این اسلاید شو بصورت نکته وار و سریع و آسان پایتون را آموزش میدهد. این اسلایدشو فقط روی سینتکس زبان مانور میدهد و کتابخانه های پایتون را مانند os،string،socket و ... را آموزش نمیدهد.
مطالب مرتبط: