Python এর সবচেয়ে বেসিক ডাটা স্ট্রাকচার হচ্ছে sequence. এর প্রতিটি উপাদান এর সাথে একটি নাম্বার assign করা থাকে, যা এর অবস্থান/ ইন্ডেক্স নির্দেশ করে। সর্ব প্রথম ইন্ডেক্স হচ্ছে ০, তারপরেরটা ১, তারপরেরটা ২... ইত্যাদি !
Python এ ৬ ধরনের built-in sequence আছে, তাদের মধ্যে সবচেয়ে প্রচলিত হচ্ছে lists আর tuples। sequence টাইপের সাহায্যে indexing, slicing, adding, multiplying, ও checking করা যায়। এছাড়াও Python এর বিল্ট-ইন ফাংশনের সাহায্যে যেকোনো sequence এর দৈর্ঘ্য হিসেব করা যায় যার সাহায্যে দীর্ঘতম ও ক্ষুদ্রতম প্রোসেস বের করা যায়।
Python Lists
List হচ্ছে Python এর সবচেয়ে বৈচিত্রপূর্ণ ডাটা টাইপ, যেটি থার্ড ব্র্যাকেট [ ] এর ভেতর কমার সাহায্যে উপাদান সহ প্রকাশ করা হয়। List এর উপাদানগুলো একরকম ডাটা টাইপ হবার প্রয়োজন নেই। যেমন,
একটি list এর এক বা একাধিক উপাদান এর মান নিচের মত আপডেট করা যায়ঃ
#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]
এখানে list[2] মান দ্বিতীয় স্টেটমেন্ট এ আপডেট করা হয়েছে। উপরের কোডটি রান করালে নিচের ফলাফল আসবে।
Value available at index 2 :
1997
New value available at index 2 :
2001
Delete List Elements
del statement এর সাহায্যে একটি নির্দিষ্ট উপাদান ডিলেট করা যায়, remove() মেথডের সাহায্যে কোন অজানা উপাদান ডিলেট করা যায়, যেমনঃ
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1
উপরের প্রোগ্রামটির রেসাল্ট হবে,
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]
Basic List Operations
Python Expression
Results
Description
len([1, 2, 3])
3
Length
[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
Concatenation
['Hi!'] * 4
['Hi!', 'Hi!', 'Hi!', 'Hi!']
Repetition
3 in [1, 2, 3]
True
Membership
for x in [1, 2, 3]: print x,
1 2 3
Iteration
Indexing, Slicing, and Matrixes
মনে করি,
L = ['spam', 'Spam', 'SPAM!']
Python Expression
Results
Description
L[2]
'SPAM!'
Offsets start at zero
L[-2]
'Spam'
Negative: count from the right
L[1:]
['Spam', 'SPAM!']
Slicing fetches sections
Built-in List Functions & Methods:
Python এ নিচের List Functions গুলো ব্যবহৃত হয়ঃ
SN
Function with Description
1
cmp(list1, list2)
Compares elements of both lists.
2
len(list)
Gives the total length of the list.
3
max(list)
Returns item from the list with max value.
4
min(list)
Returns item from the list with min value.
5
list(seq)
Converts a tuple into list.
Python নিচের list methods গুলো ব্যবহার করে।
SN
Methods with Description
1
list.append(obj)
Appends object obj to list
2
list.count(obj)
Returns count of how many times obj occurs in list
3
list.extend(seq)
Appends the contents of seq to list
4
list.index(obj)
Returns the lowest index in list that obj appears
5
list.insert(index, obj)
Inserts object obj into list at offset index
6
list.pop(obj=list[-1])
Removes and returns last object or obj from list
7
list.remove(obj)
Removes object obj from list
8
list.reverse()
Reverses objects of list in place
9
list.sort([func])
Sorts objects of list, use compare func if given
ফর্ম এর শুরুতে ইনপুট ফিল্ড এর জন্য একটি প্রাথমিক ভ্যালু সেট করার জন্য value attribute ব্যবহার করা হয়
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
ফলাফল
কেবল পঠনযোগ্যঅ্যাট্রিবিউট (Readonly attribute)
ইনপুট ফিল্ডের ভ্যালু শুধু পরতে পারবে কিন্তু কোন প্রকার পরিবর্তন করতে পারবে না এই readonly attribute দ্বারা
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John" readonly>
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
এই attribute এর জন্য কোন মান লাগবে না শুধু লিখতে হবে readonly=”readonly”
ফলাফল
নিষ্ক্রিয়করণঅ্যাট্রিবিউট (Disabled attribute)
ইনপুট ফিল্ডের কোন ডাটা এডিট করা যাবে না,বাবহার করা যাবে না, ক্লিক করা যাবে না এবং সাবমিট করা যাবে না এই রকম disable করে রাখার জন্য এই disable attribute ব্যবহার করা হয়
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John" disabled>
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
এই attribute এর কোন মানের দরকার পরে না (disabled=”disabled”)
ফলাফল
আকারঅ্যাট্রিবিউট (Size attribute)
ইনপুট ফিল্ডের এর character এর আকার size attribute দ্বারা করা হয়
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" value="John" size="40">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
ফলাফল
সর্বচ্চোআকারঅ্যাট্রিবিউট (Maxlength attribute)
ম্যাক্সিমাম কতটি ক্যারেক্টার হতে পারে এর জন্য আমরা maxlength attribute ব্যবহার করব।
উদাহরণ
<form action="">
First name:<br>
<input type="text" name="firstname" maxlength="10">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
ফলাফল
Maxlength দ্বারা নির্দিষ্ট character এর বেশি কোন ওয়ার্ড সাপোর্ট করে না। এই attribute কোন ফিডব্যাক প্রদান করে না। যদি ইউজার কে আমরা alert করতে চাই তাহলে আমাদের javascript বাবকার করতে হবে
ইনপুট নিষেধাজ্ঞা অব্যর্থ হয় না। javascript এর মাধ্যমে অবৈধ ভাবে ইনপুট করার অনেক উপায় আছে। নিরাপত্তার জন্য নিষেধাজ্ঞার পাশাপাশি রিসিভার (সার্ভার) দ্বারা চেক করা আবশ্যক.
কোন ইনপুট ফিল্ড আপনা থেকেই পরিপূর্ণ করবে কিনা এর জন্য autocomplete অন বা অফ ব্যবহার করা হয়। যদি তা অন করা থাকে তাহলে ব্রাউজার ইনপুট ফিল্ডের কোন ভ্যালু insert করার আগে আগেই অটোমেটিক পুরণ হয়ে যাবে যদি আগে এই ভ্যালুটি ইনপুট করা হয়ে থাকে। ফর্মের এর ক্ষেত্রে autocomplete অন রাখা সম্ভব নির্দিষ্ট কিছু ইনপুট ফিল্ডের এর জন্য তা অফ করে রাখা যাবে। autocomplete attribute ফর্মের এর ক্ষেত্রে কাজ করে এবং ইনপুট ফিল্ড এর ভিন্ন ভিন্ন ধরন যেমন text, search, url, tel, email, password, date picker, range, এবং color এই সব ক্ষেত্রে কাজ করে।
উদাহরণ
<form action="action_page.php" autocomplete="on">
First name:<input type="text" name="fname">
কোন ইনপুট ফিল্ড পেজ লোড হওয়ার সাথে সাথে ওই ঘরে কার্সর আনার জন্য এই attribute ব্যবহার করা হয়
উদাহরণ
First name:<input type="text" name="fname" autofocus>
ফলাফল
এইখানে firstname এর ঘরে কার্সর দেখা যাবে।
ফর্ম attribute
একাধিক ফর্মের input ফিল্ড কে একটি কমন ফর্ম এর ID দিয়ে চিহ্নিত করার জন্য এই attribute ব্যবহার করা হয়
উদাহরণ
যদিও ফর্ম এর বাইরে একটি ইনপুট ফিল্ড ব্যবহার করা হচ্ছে কিন্তু তারপরও এটি ফর্মের একটি অংশ
<form action="action_page.php" id="form1">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
Last name: <input type="text" name="lname" form="form1">
ফলাফল
The "Last name" field below is outside the form element, but still part of the form.
Last name:
Formaction attribute
Form action attribute একটি ফর্ম এর ফাইল এর URL চিহ্ন করে যেখানে যেয়ে ইনপুট ডাটা সাবমিট হবে। এই attribute দুটি টাইপ এ ব্যবহার করা হয় type=”submit”, type=”image”
উদাহরণ
ভিন্ন ভিন্ন action এ দুইটি বাটন দ্বারা দেখানো হল
<form action="action_page.php">
First name: <input type="text" name="fname">
Last name: <input type="text" name="lname">
<input type="submit" value="Submit">
<input type="submit" formaction="demo_admin.asp"
value="Submit as admin">
</form>
ফলাফল
Formenctype attribute
যখন সার্ভার এ ফর্ম ডাটা সাবমিট করা হবে তখন তা কিভাবে encode করা হবে এর জন্য আমরা এই attribute ব্যবহার করব পোস্ট মেথড এর ক্ষেত্রে । type=”submit” & type=”image” এই দুই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরন
প্রথম সাবমিট বাটন ডিফল্ট encoded এবং দ্বিতীয় সাবমিট বাঁটন multipart/form-data হিসেবে encode করা হয়েছে
<form action="demo_post_enctype.asp" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
<input type="submit" formenctype="multipart/form-data"
value="Submit as Multipart/form-data">
</form>
ফলাফল
Formmethod attribute
ফর্ম ডাটা url এ পাঠানোর ক্ষেত্রে HTTP মেথড বোঝার জন্য এই attribute ব্যবহার করা হয় । type=”submit” & type=”image” এই দুই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
দ্বিতীয় বাটন টি HTTP এই মেথড এর
<form action="action_page.php" method="get">
First name: <input type="text" name="fname">
Input উপাদান কে সাবমিট করার পর তা অবৈধ ঘোষণা করার ক্ষেত্রে এই বুলিয়ান attribute ব্যবহার করা হয়। type=”submit” এই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
দুইটি সাবমিট বাটন একটি validate ছাড়া অন্যটি validate সহ
<input type="submit" formnovalidate value="Submit without validation">
</form>
ফলাফল
Formtarget attribute
ফর্ম সাবমিট করার পর কোথায় আমরা এর প্রতিক্রিয়া দেখতে চাই তা আমরা এই attribute এর মাধ্যমে করতে পারি। type=”submit” & type=”image” এই দুই ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
ভিন্ন ভিন্ন টার্গেট এর জন্য দুইটি বাটন ব্যবহার করা হল
<form action="action_page.php">
First name: <input type="text" name="fname">
Last name: <input type="text" name="lname">
<input type="submit" value="Submit as normal">
<input type="submit" formtarget="_blank"
value="Submit to a new window">
</form>
ফলাফল
উচ্চতাএবংপ্রস্থঅ্যাট্রিবিউট Height and width attribute
ইনপুট ফিল্ডের আকার নির্ধারণ করার জন্য এই attribute ব্যবহার করা হয়। type=”image” ধরেনের ক্ষেত্রে এই attribute ব্যবহার করা হয়।
উদাহরণ
Width এবং height সহ একটি ইমেজ যুক্ত বাটন দেখানো হল
ন্যূনতম, সর্বোচ্চঅ্যাট্রিবিউট (Min, max attribute)
একটি ইনপুট ফিল্ড এর মিনিমাম এবং ম্যাক্সিমাম ডাটা ইনপুট করার ক্ষেত্রে এই attribute গুলো ব্যবহার করা হয় ভিন্ন ভিন্ন ধরনের ইনপুট ব্যবহার করা যায় number, range, date, datetime, datetime-local, month, time এবং week।
উদাহরন
মিনিমাম এবং ম্যাক্সিমাম ভ্যালু সহ একটি উদাহরণ
Enter a date before 1980-01-01:
<input type="date" name="bday" max="1979-12-31">
Enter a date after 2000-01-01:
<input type="date" name="bday" min="2000-01-02">
Quantity (between 1 and 5):
<input type="number" name="quantity" min="1" max="5">
ফলাফল
একাধিকঅ্যাট্রিবিউট (Multiple attribute)
ইনপুট ফিল্ডে একাধিক ডাটা সাবমিট করার ক্ষেত্রে এই বুলিয়ান attribute ব্যবহার করা হয়।দুই ধরনের ইনপুটে কাজ করা যায় ইমেইল, ফাইল।
Regular expression এই ধরনের ডাটা ইনপুট করার ক্ষেত্রে আমরা এই attribute ব্যবহার করব। এতে ফরম্যাট দেওয়া থাকে সেই অনুপাতে ডাটা ইনপুট দিতে হয়। এই টাইপ গুলো হল text, search, url, tel, email এবং password।
উদাহরণ
এই ইনপুট ফিল্ড এ ৩ টা লেটার ইনপুট করা যাবে যেখানে কোন নাম্বার বা special character থাকবে না
Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
ফলাফল
স্থানধারকঅ্যাট্রিবিউট (Placeholder attribute)
ইনপুট ফিল্ড এ কোন কিছু ইনপুট করার আগে হালকা ভাবে কোন লেখা ডিসপ্লে করার জন্য এই attribute ব্যবহার করা হয়। এই টাইপ গুলো হল text, search, url, tel, email এবং password।
কোন ইউজার যেন কোন নির্দিষ্ট ইনপুট ফিল্ড ফাকা না রেখে ফর্ম সাবমিট করে সেই জন্য আমরা এই attribute ব্যবহার করব। এই টাইপ গুলো হল text, search, url, tel, email, password, date pickers, numbers, checkbox, radio, file.।