Maison >développement back-end >Tutoriel Python >Tutoriel d'introduction à Python : Apprenez Python en 1 heure dans detail_python
Cet article convient aux programmeurs expérimentés pour entrer dans le monde de Python le plus tôt possible. En particulier, si vous maîtrisez Java et Javascript, vous pouvez écrire rapidement et en douceur des programmes Python utiles en moins d'une heure. >
Pourquoi utiliser PythonSupposons que nous ayons une telle tâche : testez simplement si les ordinateurs du LAN sont connectés. La plage IP de ces ordinateurs est de 192.168.0.101 à 192.168.0.200. Idée : utilisez la programmation shell. (Linux est généralement bash et Windows est un script batch). Par exemple, sous Windows, utilisez la commande ping ip pour tester chaque machine tour à tour et obtenir la sortie de la console, car le texte de la console est généralement ". Répondre depuis..." lorsque le ping réussit, cela ne fonctionne pas. Le texte est "time out...", donc en recherchant la chaîne dans le résultat, vous pouvez savoir si la machine est connectée.
Implémentation : Le code Java est le suivant :
String cmd="cmd.exe ping "; String ipprefix="192.168.10."; int begin=101; int end=200; Process p=null; for(int i=begin;i<end;i++){ p= Runtime.getRuntime().exec(cmd+i); String line = null; BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); while((line = reader.readLine()) != null) { //Handling line , may logs it. } reader.close(); p.destroy(); }Ce code fonctionne très bien, le problème est que pour exécuter ce code, vous devez effectuer un travail supplémentaire. Ce travail supplémentaire comprend : <.>
import subprocess cmd="cmd.exe" begin=101 end=200 while begin<end: p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE) p.stdin.write("ping 192.168.1."+str(begin)+"\n") p.stdin.close() p.wait() print "execution result: %s"%p.stdout.read()Les programmeurs C/Java expérimentés peuvent affirmer que l'écriture en C/Java est plus rapide que l'écriture en Python. Mon idée est qu'après avoir maîtrisé Java et Python, vous constaterez qu'écrire de tels programmes en Python sera plus rapide que l'écriture en Python est beaucoup plus rapide. Par exemple, lorsque vous utilisez des fichiers locaux, vous n'avez besoin que d'une seule ligne de code. n'a pas besoin des nombreuses classes de wrapper de flux de Java. Divers langages ont leurs propres gammes d'applications naturellement adaptées. L'utilisation de Python pour traiter certains programmes courts est similaire à la programmation interactive avec le système d'exploitation. Le travail est le plus rapide et le plus économique. .
Scénarios d'application Python
et appuyez sur Entrée. Vous verrez cette phrase Citations célèbres introduites dans le monde de la programmation par K&R.
print "Hello,world!"
Enregistrez-le en tant que. .py. Appuyez sur F5, vous pouvez voir les résultats d'exécution du programme. C'est la deuxième façon d'exécuter Python
print "Hello,world!" raw_input("Press enter key to close this window");
2.2 Prise en charge de l'internationalisation
Lorsque vous enregistrez le code, Python vous demandera si vous souhaitez modifier le jeu de caractères du fichier. Le résultat est le suivant :
print "欢迎来到奥运中国!" raw_input("Press enter key to close this window");
Modifier. le caractère défini sous une forme que nous connaissons mieux :
# -*- coding: cp936 -*- print "欢迎来到奥运中国!" raw_input("Press enter key to close this window");
Le programme fonctionne toujours bien.
# -*- coding: GBK -*- print "欢迎来到奥运中国!" # 使用中文的例子 raw_input("Press enter key to close this window");
2.3 Calculatrice pratique et facile à utiliser
2.4 Chaînes, ASCII et UNICODE
a=100.0 b=201.1 c=2343 print (a+b+c)/c
Comment accéder à la chaîne Veuillez consulter cet exemple :
print """ Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to """
Veuillez noter la différence entre les chaînes ASCII et UNICODE :
word="abcdefg" a=word[2] print "a is: "+a b=word[1:3] print "b is: "+b # index 1 and 2 elements of word. c=word[:2] print "c is: "+c # index 0 and 1 elements of word. d=word[0:] print "d is: "+d # All elements of word. e=word[:2]+word[2:] print "e is: "+e # All elements of word. f=word[-1] print "f is: "+f # The last elements of word. g=word[-4:-2] print "g is: "+g # index 3 and 4 elements of word. h=word[-2:] print "h is: "+h # The last two elements. i=word[:-2] print "i is: "+i # Everything except the last two characters l=len(word) print "Length of word is: "+ str(l)
2.5 Utiliser la liste
print "Input your Chinese name:" s=raw_input("Press enter to be continued"); print "Your name is : " +s; l=len(s) print "Length of your Chinese name in asc codes is:"+str(l); a=unicode(s,"GBK") l=len(a) print "I'm sorry we should use unicode char!Characters number of your Chinese \ name in unicode is:"+str(l);Semblable à List en Java, il s'agit d'un outil pratique et facile à utiliser Type de données :
2.6 Instructions conditionnelles et en boucle
word=['a','b','c','d','e','f','g'] a=word[2] print "a is: "+a b=word[1:3] print "b is: " print b # index 1 and 2 elements of word. c=word[:2] print "c is: " print c # index 0 and 1 elements of word. d=word[0:] print "d is: " print d # All elements of word. e=word[:2]+word[2:] print "e is: " print e # All elements of word. f=word[-1] print "f is: " print f # The last elements of word. g=word[-4:-2] print "g is: " print g # index 3 and 4 elements of word. h=word[-2:] print "h is: " print h # The last two elements. i=word[:-2] print "i is: " print i # Everything except the last two characters l=len(word) print "Length of word is: "+ str(l) print "Adds new element" word.append('h') print word2.7 Comment définir des fonctions
# Multi-way decision x=int(raw_input("Please enter an integer:")) if x<0: x=0 print "Negative changed to zero" elif x==0: print "Zero" else: print "More" # Loops List a = ['cat', 'window', 'defenestrate'] for x in a: print x, len(x)Et introduisez un outil pratique et simple -Fonctions à utiliser :
# Define and invoke function. def sum(a,b): return a+b func = sum r = func(5,6) print r # Defines function with default argument def add(a,b=2): return a+b r=add(1) print r r=add(1,5) print r
2.8 E/S de fichier
# The range() function a =range(5,10) print a a = range(-2,-7) print a a = range(-7,-2) print a a = range(-2,-11,-3) # The 3rd parameter stands for step print a
2.9 Gestion des exceptions
spath="D:/download/baa.txt" f=open(spath,"w") # Opens file for writing.Creates this file doesn't exist. f.write("First line 1.\n") f.writelines("First line 2.") f.close() f=open(spath,"r") # Opens file for reading for line in f: print line f.close()
2.10 Classes et héritage
s=raw_input("Input your age:") if s =="": raise Exception("Input must no be empty.") try: i=int(s) except ValueError: print "Could not convert data to an integer." except: print "Unknown exception!" else: # It is useful for code that must be executed if the try clause does not raise an exception print "You are %d" % i," years old" finally: # Clean up action print "Goodbye!"
class Base: def __init__(self): self.data = [] def add(self, x): self.data.append(x) def addtwice(self, x): self.add(x) self.add(x) # Child extends Base class Child(Base): def plus(self,a,b): return a+b oChild =Child() oChild.add("str1") print oChild.data print oChild.plus(2,3)
# a.py def add_func(a,b): return a+b
# b.py from a import add_func # Also can be : import a print "Import add_func from module a" print "Result of 1 plus 2 is: " print add_func(1,2) # If using "import a" , then here should be "a.add_func"
module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个module a.py . 如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py 的文件.该文件内容可以为空.这个层次结构如下所示:
parent --__init_.py --child -- __init_.py --a.py b.py
那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:
import sys
print sys.path
通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path 中:
import sys sys.path.append('D:\\download') from parent.child.a import add_func print sys.path print "Import add_func from module a" print "Result of 1 plus 2 is: " print add_func(1,2)
你会发现这个教程相当的简单.许多Python特性在代码中以隐含方式提出,这些特性包括:Python不需要显式声明数据类型,关键字说明,字符串函数的解释等等.我认为一个熟练的程序员应该对这些概念相当了解,这样在你挤出宝贵的一小时阅读这篇短短的教程之后,你能够通过已有知识的迁移类比尽快熟悉Python,然后尽快能用它开始编程.
当然,1小时学会Python颇有哗众取宠之嫌.确切的说,编程语言包括语法和标准库.语法相当于武术招式,而标准库应用实践经验则类似于内功,需要长期锻炼.Python学习了Java的长处,提供了大量极方便易用的标准库供程序员"拿来主义".(这也是Python成功的原因),在开篇我们看到了Python如何调用Windows cmd的例子,以后我会尽量写上各标准库的用法和一些应用技巧,让大家真正掌握Python.
但不管怎样,至少你现在会用Python代替繁琐的批处理写程序了.希望那些真的能在一小时内读完本文并开始使用Python的程序员会喜欢这篇小文章,谢谢!
相关推荐:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!