Python简明入门教程

Jun 06, 2016 am 11:14 AM
python 入门教程

本文实例讲述了Python简明入门教程。分享给大家供大家参考。具体如下:

一、基本概念

1、数

在Python中有4种类型的数——整数、长整数、浮点数和复数。
(1)2是一个整数的例子。
(2)长整数不过是大一些的整数。
(2)3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(4)(-5+4j)和(2.3-4.6j)是复数的例子。

2、字符串

(1)使用单引号(')
(2)使用双引号(")
(3)使用三引号('''或""")
利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:

'''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''
Copier après la connexion

(4)转义符
(5)自然字符串
自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by \n"。

3、逻辑行与物理行
一个物理行中使用多于一个逻辑行,需要使用分号(;)来特别地标明这种用法。一个物理行只有一个逻辑行可不用分号

二、控制流

1、if

块中不用大括号,条件后用分号,对应elif和else

if guess == number:
  print 'Congratulations, you guessed it.' # New block starts here
elif guess < number:
  print 'No, it is a little higher than that' # Another block
else:
  print 'No, it is a little lower than that'
Copier après la connexion

2、while

用分号,可搭配else

while running:
  guess = int(raw_input('Enter an integer : '))
  if guess == number:
    print 'Congratulations, you guessed it.'
    running = False # this causes the while loop to stop
  elif guess < number:
    print 'No, it is a little higher than that'
  else:
    print 'No, it is a little lower than that'
else:
  print 'The while loop is over.'
  # Do anything else you want to do here
Copier après la connexion

3、for
用分号,搭配else

for i in range(1, 5):
  print i
else:
  print 'The for loop is over'
Copier après la connexion

4、break和continue
同C语言

三、函数

1、定义与调用

def sayHello():
  print 'Hello World!' # block belonging to the function
sayHello() # call the function
Copier après la connexion

2、函数形参
类C语言

def printMax(a, b):
  if a > b:
    print a, 'is maximum'
  else:
    print b, 'is maximum'
Copier après la connexion

3、局部变量
加global可申明为全局变量

4、默认参数值

def say(message, times = 1):
  print message * times
Copier après la connexion

5、关键参数
如果某个函数有许多参数,而只想指定其中的一部分,那么可以通过命名来为这些参数赋值——这被称作 关键参数 ——使用名字(关键字)而不是位置来给函数指定实参。这样做有两个 优势 ——一,由于不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=5, c=10):
  print 'a is', a, 'and b is', b, 'and c is', c
func(3, 7)
func(25, c=24)
func(c=50, a=100)
Copier après la connexion

6、return

四、模块

1、使用模块

import sys
print 'The command line arguments are:'
for i in sys.argv:
  print i
Copier après la connexion

如果想要直接输入argv变量到程序中(避免在每次使用它时打sys.),可以使用from sys import argv语句

2、dir()函数
可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。

五、数据结构

1、列表

shoplist = ['apple', 'mango', 'carrot', 'banana']
print 'I have', len(shoplist),'items to purchase.'
print 'These items are:', # Notice the comma at end of the line
for item in shoplist:
  print item,
print '\nI also have to buy rice.'
shoplist.append('rice')
print 'My shopping list is now', shoplist
print 'I will sort my list now'
shoplist.sort()
print 'Sorted shopping list is', shoplist
print 'The first item I will buy is', shoplist[0]
olditem = shoplist[0]
del shoplist[0]
print 'I bought the', olditem
print 'My shopping list is now', shoplist
Copier après la connexion

2、元组
元组和列表十分类似,只不过元组和字符串一样是不可变的即你不能修改元组。

zoo = ('wolf', 'elephant', 'penguin')
print 'Number of animals in the zoo is', len(zoo)
new_zoo = ('monkey', 'dolphin', zoo)
print 'Number of animals in the new zoo is', len(new_zoo)
print 'All animals in new zoo are', new_zoo
print 'Animals brought from old zoo are', new_zoo[2]
print 'Last animal brought from old zoo is', new_zoo[2][2]
Copier après la connexion

像一棵树

元组与打印

age = 22
name = 'Swaroop'
print '%s is %d years old' % (name, age)
print 'Why is %s playing with that python&#63;' % name
Copier après la connexion

3、字典

类似哈希

ab = {    'Swaroop'  : 'swaroopch@byteofpython.info',
       'Larry'   : 'larry@wall.org',
       'Matsumoto' : 'matz@ruby-lang.org',
       'Spammer'  : 'spammer@hotmail.com'
   }
print "Swaroop's address is %s" % ab['Swaroop']
# Adding a key/value pair
ab['Guido'] = 'guido@python.org'
# Deleting a key/value pair
del ab['Spammer']
print '\nThere are %d contacts in the address-book\n' % len(ab)
for name, address in ab.items():
  print 'Contact %s at %s' % (name, address)
if 'Guido' in ab: # OR ab.has_key('Guido')
  print "\nGuido's address is %s" % ab['Guido']
Copier après la connexion

4、序列

列表、元组和字符串都是序列。序列的两个主要特点是索引操作符和切片操作符。

shoplist = ['apple', 'mango', 'carrot', 'banana']
# Indexing or 'Subscription' operation
print 'Item 0 is', shoplist[0]
print 'Item 1 is', shoplist[1]
print 'Item -1 is', shoplist[-1]
print 'Item -2 is', shoplist[-2]
# Slicing on a list
print 'Item 1 to 3 is', shoplist[1:3]
print 'Item 2 to end is', shoplist[2:]
print 'Item 1 to -1 is', shoplist[1:-1]
print 'Item start to end is', shoplist[:]
# Slicing on a string
name = 'swaroop'
print 'characters 1 to 3 is', name[1:3]
print 'characters 2 to end is', name[2:]
print 'characters 1 to -1 is', name[1:-1]
print 'characters start to end is', name[:]
Copier après la connexion

5、参考

当你创建一个对象并给它赋一个变量的时候,这个变量仅仅参考那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。

print 'Simple Assignment'
shoplist = ['apple', 'mango', 'carrot', 'banana']
mylist = shoplist # mylist is just another name pointing to the same object!
del shoplist[0]
print 'shoplist is', shoplist
print 'mylist is', mylist
# notice that both shoplist and mylist both print the same list without
# the 'apple' confirming that they point to the same object
print 'Copy by making a full slice'
mylist = shoplist[:] # make a copy by doing a full slice
del mylist[0] # remove first item
print 'shoplist is', shoplist
print 'mylist is', mylist
# notice that now the two lists are different
Copier après la connexion

6、字符串

name = 'Swaroop' # This is a string object
if name.startswith('Swa'):
  print 'Yes, the string starts with "Swa"'
if 'a' in name:
  print 'Yes, it contains the string "a"'
if name.find('war') != -1:
  print 'Yes, it contains the string "war"'
delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print delimiter.join(mylist)  //用delimiter来连接mylist的字符

Copier après la connexion

六、面向对象的编程

1、self

Python中的self等价于C++中的self指针和Java、C#中的this参考

2、创建类

class Person:
  pass # An empty block
p = Person()
print p

Copier après la connexion

3、对象的方法

class Person:
  def sayHi(self):
    print 'Hello, how are you&#63;'
p = Person()
p.sayHi()

Copier après la connexion

4、初始化

class Person:
  def __init__(self, name):
    self.name = name
  def sayHi(self):
    print 'Hello, my name is', self.name
p = Person('Swaroop')
p.sayHi()

Copier après la connexion

5、类与对象的方法

类的变量 由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。
对象的变量 由类的每个对象/实例拥有。因此每个对象有自己对这个域的一份拷贝,即它们不是共享的,在同一个类的不同实例中,虽然对象的变量有相同的名称,但是是互不相关的。

class Person:
  '''Represents a person.'''
  population = 0
  def __init__(self, name):
    '''Initializes the person's data.'''
    self.name = name
    print '(Initializing %s)' % self.name
    # When this person is created, he/she
    # adds to the population
    Person.population += 1

Copier après la connexion

population属于Person类,因此是一个类的变量。name变量属于对象(它使用self赋值)因此是对象的变量。

6、继承

class SchoolMember:
  '''Represents any school member.'''
  def __init__(self, name, age):
    self.name = name
class Teacher(SchoolMember):
  '''Represents a teacher.'''
  def __init__(self, name, age, salary):
    SchoolMember.__init__(self, name, age)
    self.salary = salary

Copier après la connexion

七、输入输出

1、文件

f = file('poem.txt', 'w') # open for 'w'riting
f.write(poem) # write text to file
f.close() # close the file
f = file('poem.txt')
# if no mode is specified, 'r'ead mode is assumed by default
while True:
  line = f.readline()
  if len(line) == 0: # Zero length indicates EOF
    break
  print line,
  # Notice comma to avoid automatic newline added by Python
f.close() # close the file

Copier après la connexion

2、存储器

持久性

import cPickle as p
#import pickle as p
shoplistfile = 'shoplist.data'
# the name of the file where we will store the object
shoplist = ['apple', 'mango', 'carrot']
# Write to the file
f = file(shoplistfile, 'w')
p.dump(shoplist, f) # dump the object to a file
f.close()
del shoplist # remove the shoplist
# Read back from the storage
f = file(shoplistfile)
storedlist = p.load(f)
print storedlist
Copier après la connexion

3、控制台输入

输入字符串 nID = raw_input("Input your id plz")
输入整数 nAge = int(raw_input("input your age plz:\n"))
输入浮点型 fWeight = float(raw_input("input your weight\n"))
输入16进制数据 nHex = int(raw_input('input hex value(like 0x20):\n'),16)
输入8进制数据 nOct = int(raw_input('input oct value(like 020):\n'),8)

八、异常

1、try..except

import sys
try:
  s = raw_input('Enter something --> ')
except EOFError:
  print '\nWhy did you do an EOF on me&#63;'
  sys.exit() # exit the program
except:
  print '\nSome error/exception occurred.'
  # here, we are not exiting the program
print 'Done'

Copier après la connexion

2、引发异常

使用raise语句引发异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。

class ShortInputException(Exception):
  '''A user-defined exception class.'''
  def __init__(self, length, atleast):
    Exception.__init__(self)
    self.length = length
    self.atleast = atleast
raise ShortInputException(len(s), 3)
Copier après la connexion

3、try..finnally

import time
try:
  f = file('poem.txt')
  while True: # our usual file-reading idiom
    line = f.readline()
    if len(line) == 0:
      break
    time.sleep(2)
    print line,
finally:
  f.close()
  print 'Cleaning up...closed the file'

Copier après la connexion

九、Python标准库

1、sys库

sys模块包含系统对应的功能。sys.argv列表,它包含命令行参数。

2、os库

os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
os.path.split()函数返回一个路径的目录名和文件名。
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()函数用来检验给出的路径是否真地存在。

希望本文所述对大家的Python程序设计有所帮助。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La vitesse de conversion est-elle rapide lors de la conversion du XML en PDF sur le téléphone mobile? La vitesse de conversion est-elle rapide lors de la conversion du XML en PDF sur le téléphone mobile? Apr 02, 2025 pm 10:09 PM

La vitesse du XML mobile à PDF dépend des facteurs suivants: la complexité de la structure XML. Méthode de conversion de configuration du matériel mobile (bibliothèque, algorithme) Méthodes d'optimisation de la qualité du code (sélectionnez des bibliothèques efficaces, optimiser les algorithmes, les données de cache et utiliser le multi-threading). Dans l'ensemble, il n'y a pas de réponse absolue et elle doit être optimisée en fonction de la situation spécifique.

Comment convertir les fichiers XML en PDF sur votre téléphone? Comment convertir les fichiers XML en PDF sur votre téléphone? Apr 02, 2025 pm 10:12 PM

Il est impossible de terminer la conversion XML à PDF directement sur votre téléphone avec une seule application. Il est nécessaire d'utiliser les services cloud, qui peuvent être réalisés via deux étapes: 1. Convertir XML en PDF dans le cloud, 2. Accédez ou téléchargez le fichier PDF converti sur le téléphone mobile.

Quelle est la fonction de la somme du langage C? Quelle est la fonction de la somme du langage C? Apr 03, 2025 pm 02:21 PM

Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

Existe-t-il une application mobile qui peut convertir XML en PDF? Existe-t-il une application mobile qui peut convertir XML en PDF? Apr 02, 2025 pm 09:45 PM

Il n'y a pas d'application qui peut convertir tous les fichiers XML en PDF car la structure XML est flexible et diversifiée. Le noyau de XML à PDF est de convertir la structure des données en une disposition de page, ce qui nécessite l'analyse du XML et la génération de PDF. Les méthodes courantes incluent l'analyse de XML à l'aide de bibliothèques Python telles que ElementTree et la génération de PDF à l'aide de la bibliothèque ReportLab. Pour le XML complexe, il peut être nécessaire d'utiliser des structures de transformation XSLT. Lorsque vous optimisez les performances, envisagez d'utiliser multithread ou multiprocesses et sélectionnez la bibliothèque appropriée.

Comment convertir XML en images Comment convertir XML en images Apr 03, 2025 am 07:39 AM

XML peut être converti en images en utilisant un convertisseur XSLT ou une bibliothèque d'images. Convertisseur XSLT: Utilisez un processeur XSLT et une feuille de style pour convertir XML en images. Bibliothèque d'images: utilisez des bibliothèques telles que PIL ou ImageMagick pour créer des images à partir de données XML, telles que des formes de dessin et du texte.

Outil de mise en forme XML recommandé Outil de mise en forme XML recommandé Apr 02, 2025 pm 09:03 PM

Les outils de mise en forme XML peuvent taper le code en fonction des règles pour améliorer la lisibilité et la compréhension. Lors de la sélection d'un outil, faites attention aux capacités de personnalisation, en gérant des circonstances spéciales, des performances et de la facilité d'utilisation. Les types d'outils couramment utilisés incluent des outils en ligne, des plug-ins IDE et des outils de ligne de commande.

Comment convertir XML en PDF sur votre téléphone avec une qualité de haute qualité? Comment convertir XML en PDF sur votre téléphone avec une qualité de haute qualité? Apr 02, 2025 pm 09:48 PM

Convertir XML en PDF avec une qualité de haute qualité sur votre téléphone mobile nécessite: analyser le XML dans le cloud et générer des PDF à l'aide d'une plate-forme informatique sans serveur. Choisissez un analyseur XML efficace et une bibliothèque de génération PDF. Gérer correctement les erreurs. Faites une utilisation complète de la puissance de cloud computing pour éviter les tâches lourdes sur votre téléphone. Ajustez la complexité en fonction des exigences, notamment le traitement des structures XML complexes, la génération de PDF de plusieurs pages et l'ajout d'images. Imprimez les informations du journal pour aider à déboguer. Optimiser les performances, sélectionner des analyseurs efficaces et des bibliothèques PDF et peut utiliser une programmation asynchrone ou des données XML prétraitées. Assurez-vous une bonne qualité de code et maintenabilité.

Comment convertir XML en PDF sur Android Phone? Comment convertir XML en PDF sur Android Phone? Apr 02, 2025 pm 09:51 PM

La conversion de XML en PDF directement sur les téléphones Android ne peut pas être réalisée via les fonctionnalités intégrées. Vous devez enregistrer le pays via les étapes suivantes: Convertir les données XML en formats reconnus par le générateur PDF (tels que le texte ou le HTML); Convertissez HTML en PDF à l'aide de bibliothèques de génération HTML telles que Flying Saucer.

See all articles