Maison > développement back-end > Tutoriel Python > Tutoriel d'introduction à Python : Apprenez Python en 1 heure dans detail_python

Tutoriel d'introduction à Python : Apprenez Python en 1 heure dans detail_python

不言
Libérer: 2018-05-30 14:50:28
original
1723 Les gens l'ont consulté

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 Python
Supposons 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();
}
Copier après la connexion
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 : <. 🎜>


    Écrire un fichier de classe
  • Écrire une méthode principale
  • Compiler en octet code
  • En raison des octets, le code ne peut pas être exécuté directement, vous devez écrire un petit script bat ou bash pour l'exécuter
  • . Bien sûr, ce travail peut également être effectué avec C/C++. Mais C/C++ n'est pas un langage multiplateforme. Dans cet exemple assez simple, vous ne pourrez peut-être pas voir la différence entre l'implémentation C/C++ et Java, mais en. certains scénarios plus complexes, comme l'enregistrement des informations de connectivité dans une base de données réseau. Depuis Linux et Windows, l'interface réseau est implémentée différemment et vous devez écrire deux versions de la fonction. Il n'y a pas un tel souci en Java
Le même. Le travail est implémenté en Python comme suit :



Comparaison avec Java, l'implémentation de Python est plus concise et vous pouvez écrire plus rapidement. Vous n'avez pas besoin d'écrire la fonction principale ni le programme. peut être exécuté directement après l'avoir enregistré. De plus, comme Java, Python est également multiplateforme
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()
Copier après la connexion
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

Tâches assez simples, comme de la programmation shell. Si vous aimez utiliser Python pour concevoir des sites Web commerciaux à grande échelle ou des jeux complexes, vous êtes les bienvenus. >
2 Démarrage rapide

2.1 Bonjour tout le monde

Après avoir installé Python (ma version est 2.5.4), ouvrez IDLE (Python GUI), ce programme est un langage Python interprète, et les déclarations que vous écrivez peuvent être exécutées immédiatement. Nous écrivons une célèbre déclaration de programme :


et appuyez sur Entrée. Vous verrez cette phrase Citations célèbres introduites dans le monde de la programmation par K&R.

Sélectionnez "Fichier" - "Nouvelle fenêtre" ou la touche de raccourci Ctrl+N dans l'interpréteur pour ouvrir un nouvel éditeur :
print "Hello,world!"
Copier après la connexion



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

Recherchez le fichier a.py que vous avez enregistré, double-cliquez. Les programmes Python peuvent être exécutés directement, ce qui est un avantage par rapport à Java.
print "Hello,world!"
raw_input("Press enter key to close this window");
Copier après la connexion

2.2 Prise en charge de l'internationalisation

Saluons le monde d'une manière différente Nouveau Utilisez un éditeur et écrivez le code suivant :


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");
Copier après la connexion


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");
Copier après la connexion


Le programme fonctionne toujours bien.

# -*- coding: GBK -*- 

print "欢迎来到奥运中国!" # 使用中文的例子
raw_input("Press enter key to close this window");
Copier après la connexion

2.3 Calculatrice pratique et facile à utiliser

C'est trop compliqué de compter avec la calculatrice fournie par Microsoft. Ouvrez l'interpréteur Python et calculez directement :


2.4 Chaînes, ASCII et UNICODE

<🎜. > Vous pouvez imprimer une chaîne dans le format de sortie prédéfini comme suit :
a=100.0
b=201.1
c=2343
print (a+b+c)/c
Copier après la connexion

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
"""
Copier après la connexion

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)
Copier après la connexion

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&#39;m sorry we should use unicode char!Characters number of your Chinese \
name in unicode is:"+str(l);
Copier après la connexion
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=[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;]
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(&#39;h&#39;)
print word
Copier après la connexion
2.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 = [&#39;cat&#39;, &#39;window&#39;, &#39;defenestrate&#39;]
for x in a:
    print x, len(x)
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion

2.9 Gestion des exceptions

spath="D:/download/baa.txt"
f=open(spath,"w") # Opens file for writing.Creates this file doesn&#39;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()
Copier après la connexion

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!"
Copier après la connexion
2.11 Mécanisme de package
Chaque fichier .py est appelé un module, et les modules peuvent s'importer les uns les autres. Veuillez consulter l'exemple suivant :
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)
Copier après la connexion
# a.py
def add_func(a,b):
    return a+b
Copier après la connexion
# 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"
Copier après la connexion

module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个module a.py . 如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py 的文件.该文件内容可以为空.这个层次结构如下所示:

parent 
  --__init_.py
  --child
    -- __init_.py
    --a.py

b.py
Copier après la connexion

那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:

import sys

print sys.path

通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path 中:

import sys
sys.path.append(&#39;D:\\download&#39;)

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)
Copier après la connexion

总结

    你会发现这个教程相当的简单.许多Python特性在代码中以隐含方式提出,这些特性包括:Python不需要显式声明数据类型,关键字说明,字符串函数的解释等等.我认为一个熟练的程序员应该对这些概念相当了解,这样在你挤出宝贵的一小时阅读这篇短短的教程之后,你能够通过已有知识的迁移类比尽快熟悉Python,然后尽快能用它开始编程.

    当然,1小时学会Python颇有哗众取宠之嫌.确切的说,编程语言包括语法和标准库.语法相当于武术招式,而标准库应用实践经验则类似于内功,需要长期锻炼.Python学习了Java的长处,提供了大量极方便易用的标准库供程序员"拿来主义".(这也是Python成功的原因),在开篇我们看到了Python如何调用Windows cmd的例子,以后我会尽量写上各标准库的用法和一些应用技巧,让大家真正掌握Python.

    但不管怎样,至少你现在会用Python代替繁琐的批处理写程序了.希望那些真的能在一小时内读完本文并开始使用Python的程序员会喜欢这篇小文章,谢谢!

相关推荐:

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal