First Steps With Python_Mutable & immutable objects

ზოგიერთი ობიექტი პითონში მაგალითად string-ები tuple-ები და number-ები არიან immutable(უცვლელნი), მათი შეცვლა ფუნქციაში/მეთოდში შექმნის ახალ ცვლადს და ფუნქციის გარეთ ცვლადები ხელუხლებელი დარჩება, ხოლო list-ისა და dictionary-ს შეცვლა არ შექმნის ახალ ცვლადს და შესაბამისად ცვლილება აისახება ფუნქციის გარეთ. ასეთ ტიპებს mutable(ცვალებადი) ობიექტები ჰქვიათ.

ლუქ ეთ ზის:
list=[123,456,789]
dic={"123":"abc","456":"def","789":"ghi"}
def change(a,b):
        a.remove(123)
        b.pop(“123″)

change(list,dic)
print list
print dic

Continue reading ‘First Steps With Python_Mutable & immutable objects’

დეიქსტრას ალგორითმი

მოკლედ არაფერი არ არის ქართულ ინტერენტ სივრცეში ამ ალგორითმზე (ნუ საერთოდ არცერთ ალგორითმზე არ არის), ამიტომ რადგანაც მეც ამ სფეროთი დაინტერესებული ვარ დავწერ ერთ ორ სიტყვას.

ეს ალგორითმი ეძებს დადებით წიბოებიან გრაფში უმოკლეს მანძილს ერთი წერტილიდან მეორეში.

ავიღოთ ასეთი გრაფი

გვინდა 0 წვეროდან გადასვლა მეექვსეში.
ალგორითმი ასეთია:

Continue reading ‘დეიქსტრას ალგორითმი’

Compiling Python Scripts into Win Executable

ოფიციალური საიტი პროგრამისა რომელსაც გამოვიყენებთ.

აქ დამწყებებს აგიხსნით თუ როგორ დააკომპილიროთ თქვენი სკრიპტები windows executable ფაილებად.

ვიწერთ py2exe-ს პითონის შესაბამისი ვერსიისთვის და ვაინსტალირებთ იქ სადაც გვაქ პითონი(მაგალითად c://python26).
დალშე ვქმნით ორ ფაილს(იმავე ფოლდერში სადაც გვაქ სკრიპტი): setup.py, click.py

click.py-ში ეწერება:
from os import system
system("setup.py py2exe")

ვთქვათ სკრიპტს ჰქვია:Our_script.py

setup.py-ში ეწერება:
from distutils.core import setup
import py2exe
setup(console=["Our_script.py"])

თუ Our_script.py არი GUI პროგა და არ გინდათ კონსოლი გამოჩნდეს,მაშინ:
1) Our_script.py გადავარქვათ ასე: Our_script.pyw
2) setup.py-ში ჩაწერეთ:
from distutils.core import setup
import py2exe
setup(console=["Our_script.pyw"],windows = ["Our_script.pyw"])

Continue reading ‘Compiling Python Scripts into Win Executable’

რატომ პითონი?

1) ელემენტარულ სინტაქსს 20 წუთზე ნაკლებ დროში ისწავლი.
2) pdb მოდულით თავისუფლად შეგიძლია გააჩერო პროცესი სადაც გინდა.დებუგერული ფუნქცია.
3) აქვს ძალიან გამოსადეგი მოდულები.
4) თუ ინეტი არ გაქ ნუ იღელვებ(lol) მას აქვს ცალკე მოდული სადაც ყველა მოდული კარგადაა ახსნილი.
import pydoc
pydoc.gui()
5) ობიექტზე ორიენტირებული პროგრამირება მარტივია.
6) პითონი არის მკაცრი(მე ეს მომწონს) ენა. ერთი რაღაცა ყველაზე მარტივად შეიგძლია გააკეთო მხოლოდ ერთი გზით,დანარჩენი თუ იქნა ე.ი. რთული გზაა.
7) IPython არის ძალიან კარგი REPL(ანუ იგივე კონსოლი)
8) კარგი პროგის წერა ძალიან მარტივია
9) თუ გინდა რომ დაათვალიერო კლასი/მოდული იყენებ დაჩდგმულ ფუნქციას: dir. ვთქვათ გვაქ ობიექტი X მასზე ინფორმაციას მოვიპოვებთ
dir(x)
10) აქვს შესანიშნავი გარე მოდულები(sympy,skype4py,numpy), უბრალოდ გაოცდები.
11) მარტივად შეგიძლია გადაიყვანო სკრიპტები py2exe-თი.
12) Jpython JVM-სი ხოლო IronPython CLR(.NET) იმპლემენტაციებია.
13) თითქმის ყველაფერი არის ძალიან კარგად დოკუმენტირებული.
14) აქვს OpenGL მხარდაჭერა(PyOpenGL)
15) GUI Toolkit-ის ფარტო ასორტიმენტი.

First Steps With Python_Functions

ფუნქციები პითონში არის დაძახებადი ობიექტები(დაძახება გამოიხატება ობიექტის ბოლოში () სიმბოლოების მიწერა), რომლებსაც შეიძლება გადავცეთ რაღაც არგუმენტები(პარამეტრები),და ასევე დაგვიბრუნოს რაიმე ობიექტი.

ფუნქციის აღწერა ხდება “def”(define ინგლ.–განსაზღვრა)–ის დახმარებით. ფრჩხილებში მოთავსებულია ზემოთ ნახსენები არგუმენტები(პარამეტრები)

აღწერის ზოგადი სახეა:
def funqciis_saxeli(argument1,argument2,…):
    …ბრძანებები…
    …ბრძანებები…
    …ბრძანებები…

ფუნქციის გამოძახება:
funqciis_saxeli(argument1,argument2,…)
მარტივი მაგალითი:
def Add_Numbers(a,b):
    c=a+b
აჰა, ყველაფერი კარგადაა მაგრამ ამ ფუნქციას ვერ გამოვიყენებთ თუ ჯამი არ დავაბრუნეთ, რაც ხდება return ბრძანებით:
def Add_Numbers(a,b):
    c=a+b
    return c
Continue reading ‘First Steps With Python_Functions’

I’m back კიარადა ლოგიკური ამოცანა #2

ჩავთვალოთ რომ:
1=5

2=24

3=124

4=4210

ახლა კითხვა:  რას უდრის 5? : )

ამოცანა სახალისოა : )

First Steps With Python_If/Elif/Else/For statements

ყველაზე ცნობილი და გამოყენებადი განავხადი(statement) არის if/else/elif, მას ისეთივე გამოყენება აქვს როგორიც უამრავ სხვა ენებში.
if განაცხადი საჭიროა იმისთვის რომ პროგრამამ მიიღოს გადაწყეტილება თავისით. თუ განაცხადისთვის მიცემული ინფორმაცია ჭეშმარიტია იგი შეასრულებს შესაბამის ბრძანებებს.მისი ზოგადი სახეა:

“if” bool_cvladi “:”
  ბრძაენები1
  ბრძაენები2
  ბრძაენები3
“elif” bool_cvladi “:”
  ბრძაენები4
  ბრძაენები5
  ბრძაენები6
“else:”
  ბრძაენები7
  ბრძაენები8
  ბრძაენები9

ბრჭყალებში მოთავსებული სიტყვები/სიმბოლოები უცვლელია,ანუ აუცილებელია განცხადების გასაკეთბლად. ხო ნუ elif და else აუცილებელი არ არის.
bool_cvladi თუ იქნება True, შემდგომი ბრძანებები(ბრძაენები1,ბრძაენები2,ბრძაენები3), რომელიც დააკვირდით და კარგად დაიმახსოვრეთ რომ if განაცხადის მარჯვინაა(და ქვევით-რავიცი ავღნიშნოთ მაინც :D) შესრულდება.
bool_cvladi არის False შესაბამისად არ გადავა if-ის ბრძანებებზე და გადავა elif/else-ზე თუ არის იგი რათქმაუნდა.
else თუ არის იგი სრულდება ყველაზე ბოლოს როცა არც if და არც elif ის ცვლადები(bool_cvladi) არ იქნებიან ჭეშმარიტები.
: <<ეს ორწერტილი დაახლოებით იგივეა რაც {} C/C++-ში, ან begin&end პასკალში, დაახლოებით იმიტომ რომ ორწერტილი მხოლოდ დასაწყისშია.
დასასრულის როლს აქ ბრძანებების "შეწევა", ანუ if/elif/else-ს
elif არის შემოკლებით else if.
ასევე არაა აუცილებელი bool_cvladi აუცილებლად იყოს bool ცვლადი, თუ ეს მართლა არაა ბულის ტიპის მაშინ პითონი(იგულისხმება ინტერპრეტატორი) თვითონ გადააქცევს მას bool-ად.
მაგალითები:
Continue reading ‘First Steps With Python_If/Elif/Else/For statements’

რამოდენიმე საიტი პროგრამისტებს

ხო რავიცი პითონის ან სხვა ენის ინტერპრეტატორის/კომპილერის დაყენების გარეშე კაი იქნებოდა არა სკრიპტების გასინჯვა?

-კი: ))

ხოდა აგერ:

pastebin.com – საიტი სადაც შეგიძლიათ ამ ენებზე დაწერილი სკრიპტები შეამოწმოთ:
ABAP,ActionScript,ActionScript 3,Ada,Apache Log,AppleScript,APT Sources,ASM (NSM),ASP,AutoIt,Avisynth,Bash,Basic4GL,BibTeX,Blitz Basic,BNF,BOO,BrainFuck,C,C or Macs,C Intermediate Language,C#,C++,CAD DCL,CAD Lisp,CFDG,Clone C,Clone C++, Make,COBOL,ColdFusion,CSS,D,DCS,Delphi,Diff,DIV,DOS,DOT,Eiffel,Email,Erlang,FO anguage,Fortran,FreeBasic,Game Maker,Genero,GetText,Groovy,Haskell,HQ9 Plus,HTM, IDL,INI file,Inno Script,INTERCAL,IO,Java,Java 5,JavaScript,KiXtart,Latex,Lindn Scripting,Lisp,Loco Basic,LOL Code,Lotus Formulas,Lotus Script,LScript,Lua,M6000 Assembler,Make,MatLab,MatLab,mIRC,Modula 3,MPASM,MXML,MySQL,NullSoft Instaler,Oberon 2,Objective C,OCalm Brief,OCaml,OpenGL Shading,Openoffice BASIC,Oracl 11,Oracle 8,Pascal,PAWN,Per,Perl,PHP,PHP Brief,Pic 16,Pixel Bender,PL/SQL,POV-
ay,Power Shell,Progress,Prolog,Properties,ProvideX,Python,QBasc,Rails,REBOL,REG,Robots,Ruby,Ruby Gnuplot,SAS,Scala,Scheme,Scilab,SdlBasic,Smaltalk,Smarty,SQL,T-SQL,TCL,TCL,Tera Term,thinBasic,TypoScript,unrealScript,VB.N
T,VeriLog,VHDL,VIM,Visual Pro Log,VisualBasic,VisualFoxPro,WhiteSpace,WHOIS,Win Batch,XML,Xorg Config,XPP,Z80 Assembler. მაგრამ მხოლოდ შეამოწმოთ სინტაქსი.

codepad.org-საიტი სადაც შეგიძლიათ შეამოწმოთ და გაუშვათ(!) ამ ენებზე დაწერილი კოდები:
C,C++,D,Haskell,Lua,OCaml,PHP,Perl,Python,Ruby,Scheme,Tcl

რათქმაუნდა შეზღუდვები აქვთ რომელიღაც ფუქნციებზე მაგალითად ფაილის წაშლა :D,დირექთორიების დათვალიერება და ყველაფერი ის რამაც შეიძლება სერვერის სექიურითი დააზიანოს. : ))

ID3 Tag Editor(GUI) using wxPython

უმრავლესობა(გარდა wave-ისა და სხვა რამოდენიმესი) აუდიო ფაილს აქვს ტეგები, რომლებიც აღწერენ ფაილს(უფრო სწორად სიმღერას/მუსიკას) მისი შემსრულებლის, შესრულების დროის(წლით), ალბომის სახელის, სიმღერის სახელის და სხვის მიხედვით. ასევე კომენტარების ჩაწერაც შეიძლება ტეგებში.

ხოდა ბევრი პროგრამით შეიძლება მათი შეცვლა, ერთ-ერთი ესაა :D

პროგის გასაშვებად აუცილებლად უნდა გეყენოთ wxPython,ვიწერთ აქედან.
არ იმუშავებს python 3.x ვერსიებზე(2to3-ც არ უშველის), ნუ თუ რამეა python 2.5 გამოიყენეთ,საიდან ვიწერთ ვიცით : )).მადლობა პატრულს :D
ხო, დანარჩენი რაღა გითხრათ პროგა რო გაეშვება იქნება რამოდენიმე ღილაკი:open,lets do it,clear tags,close.პირველი ხსნის ფაილის გასახსნელ დიალოგს,მეორე შეცლილ ტეგებს გადააკეთებს ფაილში, მესამე მიწერია ზევით,ბოლო ხურავს პროგას.

ნუ შეგიძლიათ სორსს გადახედოთ(პატარაა ;))
კლას ID3Editor-ში
open-ს აკისრია დიალოგური ბოქსის მეშვეობით აუდიო ფაილის გახსნა.

ClearTAGS ფუნქცია შლის რამე თუა ჩაწერილი ტექსტ ადგილებში

redact ფუნქცია იღებს ტექსტარეა-ებიდან მონაცემებს და მის მიხედვით არედაქტირებს ტეგებს.

source:
Continue reading ‘ID3 Tag Editor(GUI) using wxPython’

Soft. Crackin’ Tut[Geo]__შესავალი

რაობა
software cracking არი საქმიანობა როდესაც ფასიან პორგრამებს აფარჩაკებ:) ანუ ვთქვათ თუ კოდი ადევს:კოდის მოხსნა, თუ მხოლოდ 30 დღე აქ გამოყენების დრო,მისი გახანგრძლივება, და ასე შემდეგ და ასე შემდეგ..

შესავალი
კომპიუტერს ბრძანებები მიეწოდება 1იანებით და 0იანებით(ორობითი სისტემა), მაგრამ ადვილი მისახვედრია რომ ასე ბრძანებებს და მითუმეტეს პროგრამას არავინ დაწერ(და)ს,
ამიტომ გამოიგონეს assembly-ენა რომელიც assembler-ით გადადის მანქანურ კოდში,ანუ 1იანებში და 0იანებში.
ხოდა, მეგობრებო ასეთ ენებს:assembly,Fortran, უწოდებენ ‘low-level programming language’,
იმიტომ რომ ასეთი ენები მანქანის ენაზე პირდაპირ გადადის(Assembly-ს კოდი არის სიმბოლური წარმოდგენა მანქანური ბრძანებების.)
დალშე,კიდე მიხვდნენ იმასაც რომ არც ეს assembly იყო ოპტიმალური ენა და დაიწყო მაღალი კლასის პროგრამირების ენის გამოგონება, ერთერთი ცოტა ნორმალური იყო C, Dennis Ritchie-ს მიერ 72ში შექმნილი.
შემდგომ წლებში გამოჩნდა კიდე რამოდენიმე და დაიწყო ბუმი… იხვეწებოდა და იხვეწებოდა ენები…და ფაქტიურად უკვე გემოვნების საკითხი იყო რომელ ენას აირჩევდი.
მასეთ ენებს “high-level programming language” ეწოდა. ამ უკანასკნელი ტიპის ენაში პროგის წერა უფრო მარტივი იყო და ცოტა დროს მოითხოვდა.
ხო ეს შესავალი ისე, კაია მაინც. : ))

კრეკინგის არსი
Continue reading ‘Soft. Crackin’ Tut[Geo]__შესავალი’

Next Page »


სტატისტიკა:

  • 6,983 hits

free counters

აბირჟავებენ


Follow

Get every new post delivered to your Inbox.