Sunday, September 29, 2019
Friday, September 27, 2019
பைத்தானில் அர்ரே எவ்வாறு பயன்படுகின்றது? ஒரு பார்வை
அர்ரே என்பது ஒரே டேட்டா டைப்பை சேர்ந்த மதிப்புகளின் கலக்சன்
ஆகும். இது தான் பைத்தானில் அர்ரேக்கும் லிஸ்டிற்கும் உள்ள மிகப்பெரிய வித்தியாசம்
ஆகும்.
லிஸ்ட் என்பது ஒன்றுக்கும் மேற்பட்ட டேட்டாக்களின் தொகுப்பாகும்.
பைத்தானில் அர்ரேயை பயன்படுத்துவதற்கு array மாடூலை இம்போர்ட் செய்ய வேண்டும்.ஏனெனில் ஸ்ட்ரிங்க்,
இன்டிஜெர் போன்று அர்ரே அடிப்ப்டை டேட்டா டைப் அல்ல. பின் வருமாறு இம்போர்ட்
செய்யவும்.
from array import *
ஒரு தடவை அர்ரே
யை இம்போர்ட் செய்த பிறகு அர்ரேயை உருவாக்கிக் கொள்ளவும்.
சிண்டாக்ஸ்:
arrayIdentifierName =
array(typecode, [Initializers]
arrayidentifiername என்பது அர்ரேயின் பெயர். Typecode என்பது
எந்த டேட்டா டைப் மதிப்புகளை அர்ரேயில் சேமிக்கப் போகின்றோம் என்பதை
குறிக்கின்றது. Initializers என்பது அர்ரேயில் நாம் சேமிக்கும் டேட்டா மதிப்புகள்
ஆகுஜ்ம்.
சான்று:
my_array =
array('i',[1,2,3,4])
மேலே உள்ள உதாரணத்தில் ‘i’ என்பது signed integer டேட்டா
டைப் என்பதைக்குறிக்கின்றது.
·
‘b’ -> Represents signed integer of size 1 byte
- ‘B’ -> Represents unsigned integer of size 1 byte
- ‘c’ -> Represents character of size 1 byte
- ‘u’ -> Represents unicode character of size 2 bytes
- ‘h’ -> Represents signed integer of size 2 bytes
- ‘H’ -> Represents unsigned integer of size 2 bytes
- ‘i’ -> Represents signed integer of size 2 bytes
- ‘I’ -> Represents unsigned integer of size 2 bytes
- ‘w’ -> Represents unicode character of size 4 bytes
- ‘l’ -> Represents signed integer of size 4 bytes
- ‘L’ -> Represents unsigned integer of size 4 bytes
- ‘f’ -> Represents floating point of size 4 bytes
- ‘d’ -> Represents floating point of size 8 bytes
1.
அடிப்ப்டை
உதாரணம்:
My_array என்ற அர்ரேயில் 5 இன்டிஜெர் மதிப்புகளை கீழ் வருமாறு
உருவாக்கி பிரிண்ட் செய்கின்றோம்.
>>>
from array import *
>>>
my_array = array('i', [1,2,3,4,5])
>>>
for i in my_array:
...
print(i)
...
1
2
3
4
5
இவ்வாறாக அர்ரேயில் மதிப்புகளை சேமித்து பிரிண்ட் செய்யலாம்.
ஒவ்வொரு எலிமெண்ட்டாக ஆக்சஸ் செய்தல்
சான்று:
>>> my_array[1]
2
>>>
my_array[2]
3
>>>
my_array[0]
1
அர்ரே இண்டெக்ஸ் 0 வில் தொடங்குகின்றது என்பதை நிணைவில்
கொள்ளவுல்
2.
append() மெத்தட் பயன்படுத்தி அர்ரேயில் மதிப்புகளை சேர்த்தல்
சான்று
>>> my_array.append(6)
>>> my_array
array('i', [1, 2, 3,
4, 5, 6])
குறிப்பிட்ட இண்டெக்ஸில் ஒரு மதிப்பை சேர்த்தல்.
இதற்கு insert மதிப்பு பயன்படுகின்றது.
சான்று:
>>> my_array.insert(0,0)
array('i', [0, 1, 2, 3, 4, 5, 6])
மேலே உள்ள சான்றில்
0வது இண்டெக்ஸில் 0 என்ற மதிப்பு
இன்செர்ட் செய்யப்பட்டுள்ளது.முதல் ஆர்க்கியூமெண்ட் இண்டெக்ஸ் மற்றும் இரண்டாவது
ஆர்க்கியூமென்ட் டேட்டா மதிப்பு.
5.
Extend மெத்தட் பயன்படுத்தி ஒன்றுக்கும்
மேற்பட்ட மதிப்புகளை ஒரு அர்ர்ரேயில் சேமிக்கலாம்.
>>>
my_extnd_array = array('i', [7,8,9,10])
>>> my_array.extend(my_extnd_array)
>>> my_array
array('i', [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10])
6.
fromlist பயன்படுத்தி ஒரு
லிஸ்டைஅர்ரேயில் சேர்க்கலாம்.
சான்று:
>>>
c=[11,12,13]
>>> my_array.fromlist(c)
>>> my_array
array('i', [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13])
7.
remove பயன் படுத்தி ஒரு அர்ரேயிலிருந்து குறிப்பிட்ட
மதிப்பை நீக்குதல்:
சான்று:
>>> my_array.remove(13)
>>> my_array
array('i', [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
மேலே உள்ள சான்றில் 13 என்ற டேட்டா மதிப்பு நீக்கப்பட்டுள்ளது.
8.
pop() பயன்படுத்தி ஒரு அர்ரேயின்
கடைசி மதிப்பை நீக்குதல்.
சான்று:
>>> my_array.pop()
12
>>> my_array
array('i', [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11])
மேலே உள்ள சான்றில் கடைசியாக உள்ள 12 என்ற மதிப்பு
நீக்கப்பட்டுள்ளது.
9.
ஒரு அர்ரேயின் எலிமெண்டை இண்டெக்ஸ்
மூலம் ஆக்சஸ் செய்தல்
சான்று:
>>> my_array.index(5)
5
மேலே உள்ள சான்றில் 5 வது இண்டெக்ஸில் உள்ள 5 என்ற மதிப்பு
ஆக்சஸ் செய்யப்பட்டுள்ளது.
10.
ஒரு அர்ரேயை ரிவர்ஸ் செய்தல்
சான்று:
>>> my_array.reverse()
>>> my_array
array('i', [11, 10, 9,
8, 7, 6, 5, 4, 3, 2, 1, 0])
மேலே உள்ள சான்றில் அர்ரேயானது ரிவர்ஸ் செய்யப்பட்டுள்ளது.
11.
ஒரு அர்ரேயின் முகவரி, மொத்த
எலிமெண்டுகளின் எண்ணிக்கை ஆகியவற்றை buffer_info() என்ற மெத்தட் மூலம் ஆக்சஸ்
செய்தல்.
சான்று:
>>> my_array.buffer_info()
(33881712, 12)மேலே உள்ள
சான்றில் அர்ரேயின் தொடக்க முகவரியையும்
மொத்த எலிமெண்டுகளின் எண்ணிக்கையும் ப்ரிண்ட் செய்யப்பட்டுள்ளது
12.
ஓரு எலிமெண்ட் ஆனது ஒரு அர்ரேயில்
எத்தனை தடவை ரிபீட் செய்யப்பட்டுள்ளது என்பது count() என்ற மெத்தட் மூலம் எண்ணப்
பயன்படுகின்றது.
சான்று:
>>> my_array.count(11)
1
மேலே உள்ள சான்றில் 11 என்ற மதிப்பு 1 தடவை தான்
இடம்பெருகின்றது.
13.
ஒரு அர்ரேயை tostring() மெத்தட் மூலம்
ஸ்ட்ரிங்க் ஆக கன்வெர்ட் செய்யலாம்.
சான்று:
>>>
my_char_array = array('c', ['g','e','e','k'])
>>>
my_char_array
array('c', 'geek')
>>> my_char_array.tostring()
'geek'
14.
ஒரு அர்ரேயை லிஸ்ட் ஆக எவ்வாறு
கன்வர்ட் செய்வது?
சான்று:
>>> c = my_array.tolist()
>>> c
[11, 10, 9, 8, 7, 6,
5, 4, 3, 2, 1, 0]
மேலே உள்ள சான்றில் ஒரு அர்ரே ஆனது c என்ற லிஸ்டாக
மாற்றப்பட்டுள்ளது.
15.
ஒரு கேர் அர்ரேயுடன் fromstring() பயன்படுத்தி ஒரு
ஸ்ட்ரிங்கை சேர்த்தல்.
சான்று
>>> my_char_array.fromstring("stuff")
>>>
my_char_array
array('c', 'geekstuff’)
இவ்வாறாக
பைத்தானில் ஒரு அர்ரே பயன்படுகின்றது.
நன்றி:
முத்து கார்த்திகேயன்,மதுரை.
Linq ஒரு அறிமுகம்.
Linq என்பது என்ன?
Linq என்பது language integrated query ஆகும்.லிங்க்
பயன்படுத்தி டாட் நெட்டில் வெவ்வேறு வகையான டேட்டா ஸ்டோரேஜில் இருந்து டேட்டாவைக் கேட்டு
பெறலாம்.
உதாரணம் sqlserver,xml documents, object in
memory ஆகியவை ஆகும்.
லிங்க் பயன்படுத்துவதால் ஏற்படும் நண்மைகள்>
1. ஒவ்வொரு
ஸ்டோஜ் டைப்பிற்கான கொரி எழுதவற்கு தெரிந்து கொள்ள வேண்டியதில்லை.
உதாரணம்
Sqlserver-ல் இருந்து டேட்டாவை
ரிட்ரைவ் செய்ய Ado.net பற்றி தெரிந்து கொள்ள வேண்டியிருக்கும்.
Xml டாக்குமென்டஸில் இருந்து டேட்டாவை
ரிட்ரைவ் செய்ய xslt,xpath பற்றி தெரிந்து கொள்ள வேண்டியிருக்கும்.
In memory ஆப்ஜெக்டில் இருந்து
டேட்டாவை ரிட்ரைவ் செய்ய அர்ரே, ஜென்ரிக்ஸ் பற்றி அறிய வேண்டியிருக்கும்.
ஆனால் லிங்க் பயன்படுத்தினால் எல்லாவற்றிற்கான
பொதுவான நிரல் வரிகளைத் தான் எல்லாவற்றிற்கும் பயன்படும்.
2. இன்டெலிசென்ஸ்
சப்போர்ட் உண்டு.
3. கம்பைல்
டைமிலேயே பிழை சுட்டப்படும்.
LINQ Architecture & LINQ Providers
லிங்க் கொரியை டாட்நெட் ஆதரிக்கும் எந்த மொழியிலும் எழுதலாம்.
லிங்க்
கொரிக்கும் டேட்டா சோர்ஸிற்க்கும் இடையே லிங்க் ப்ரவைடர் உள்ளது. அதுவே நாம் எழுதும்
லிங்க் கொரியை அந்தந்த டேட்டா சோர்ஸ் புரிந்து கொள்ளும் படி மாற்றியமைக்கின்றது.
கீழே உள்ள
டேபிளை எடுத்துக் கொள்வோம்.
ஒரு கிரிட்வியூ
ஆனது அந்த டேபிளில் உள்ள male ஸ்டூடன்ட் ரிக்கார்ட்களை மட்டும் டிஸ்பிளை செய்கின்றது.
Sql சர்வரில் செய்ய
வேண்டியவை:
முதலில்
பின்வருமாரு ஒரு டேபிளை உருவாக்க வேண்டும்.
Create Table Students
(
ID int primary key identity,
FirstName nvarchar(50),
LastName nvarchar(50),
Gender nvarchar(50)
)
GO
பின்பு
ரிகார்ட்களை இன்செர்ட் செய்ய வேண்டும்.
Insert into Students values ('Mark', 'Hastings', 'Male')
Insert into Students values ('Steve', 'Pound', 'Male')
Insert into Students values ('Ben', 'Hoskins', 'Male')
Insert into Students values ('Philip', 'Hastings', 'Male')
Insert into Students values ('Mary', 'Lambeth', 'Female')
GO
Asp.net-l web.confiq
என்பதில் DBCS என்ற பெயரில் கனக்சன்
ஸ்டிரிங்க் ஒன்று உருவாக்கிக் கொள்ளவும்.
பிறகு
கீழ் வருமாறு நிரல் எழுத வேண்டியிக்கும் இந்த நிரல் வரிகளை புரிந்து கொள்ள
உங்களுக்கு ado.net பற்றிய அறிவு தேவைப்படும்.
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
namespace Demo
{
public partial class WebForm1 :
System.Web.UI.Page
{
protected void
Page_Load(object sender, EventArgs e)
{
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
SqlConnection con = new
SqlConnection(cs);
SqlCommand cmd = new
SqlCommand
("Select ID, FirstName, LastName, Gender from
Students where Gender='Male'", con);
List<Student>
listStudents = new List<Student>();
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Student student = new
Student();
student.ID = Convert.ToInt32(rdr["ID"]);
student.FirstName = rdr["FirstName"].ToString();
student.LastName = rdr["LastName"].ToString();
student.Gender = rdr["Gender"].ToString();
listStudents.Add(student);
}
con.Close();
GridView1.DataSource = listStudents;
GridView1.DataBind();
}
}
public class Student
{
public int ID {
get; set; }
public string
FirstName { get; set;
}
public string
LastName { get; set;
}
public string
Gender { get; set;
}
}
}
இதில் உள்ள இரண்டு குறைகள்
1.
இன்டெலிசென்ஸ் உதவி கிடையாது.
2.
கொரியில் பிழை இருந்தாலும் கம்பைல்
டைமில் சுட்டிக் காட்ட பட மாட்டாது.இயக்க நேரத்திலேயே பிழை சுட்ட்ப்படும்.
முதலில் ஒரு asp.net empty பயன்பாடு உருவாக்கவும்.
அதற்கு
demo என பெயரிடவும்.
View
மெனுவில் server explorer என்பதை கிளிக் செய்யவும்.
Server
explorer வின்டோவில் data connections என்பதை வலது கிளிக் செய்து Add connection
என்பதை தேர்ந்தெடுக்கவும்.
பின் வரும் விண்டோவில்
சர்வர் பெயர், லாக் இன் கிரடென்சியல் மற்றும் டேட்டா பேஸ் பெயர் ஆகியவற்றை
குறிப்பிடவும்.
சொல்யூசன்
எக்ஸ்புளோரரில் demo என்ற பிராஜெக்ட் பெயரை வலது கிளிக் செய்து Add new item
என்பதை செலெக்ட் செய்யவும்.
பின்
வரும் விண்டோவில் installed templates என்பதன் அடியில் உள்ள data என்பதை கிளிக்
செய்யவும்.
Linq
to sql classes என்பதை தேர்வு செய்து அதன் பெயராக sample.dbml என்பதை கொடுக்கவும்.
கடைசியாக
Add பட்டனை கிளிக் செய்யவும்.
Server
explorer ன்பதில் இருந்து students டேபிளை டிராக் செய்து sample.dbml
என்ற டிசைனர் ஃபைலில் டிராப் செய்யவும்.
வெப் ஃபார்ம் ஒன்றை புதிதாக உருவாக்கி அதில் ஒரு கிரிட் வியூ கண்ட் ரோலை சேர்த்துல்க் கொள்ளவும்.
இப்பொழுது code behind ஃபைலில் பின்
வரும் வரிகளை சேர்த்துக் கொள்ளவும்.
using System;
using System.Linq;
namespace Demo
{
public partial class WebForm1 :
System.Web.UI.Page
{
ம்
{
SampleDataContext dataContext = new SampleDataContext();
GridView1.DataSource = from student in dataContext .Students
where student.Gender == "Male"
select student;
GridView1.DataBind();
}
}
}
இப்பொழுது உங்களுக்கு இன்டெலிசென்ஸ் சப்போர்ட் கிடைக்கின்றது மேலும் பிழை இருந்தால் கம்பைல் டைமிலேயே சுட்டப்படுகின்றது.
நன்றி
முத்து கார்த்திகேயன்,மதுரை.
Subscribe to:
Posts (Atom)