Введение

Python — это динамически интерпретируемый язык программирования. Python можно использовать в различных операционных системах, таких как Windows, UNIX и MAC, а также на платформах разработки Java и .NET.

python-logo

Особенности

1 Python разработан с использованием языка C, но в Python больше нет сложных типов данных, таких как указатели в C.

2 Python обладает мощными объектно-ориентированными возможностями и упрощает реализацию объектно-ориентированного подхода. Он устраняет такие объектно-ориентированные элементы, как защищённые типы, абстрактные классы и интерфейсы.

3 Блоки кода Python используют пробелы или табуляции для отступов, чтобы разделять код.

4 В Python всего 31 зарезервированное слово, и в нём нет таких маркеров, как точка с запятой, begin или end.

5 Python — строго типизированный язык. После создания переменной ей соответствует определённый тип данных. Переменные разных типов, встречающиеся в одном выражении, требуют преобразования типов.

Настройка среды разработки

1 Вы можете скачать установочный пакет с сайта www.python.org, а затем установить его с помощью configure, make и make install.

2 Также можно зайти на www.activestate.com и скачать компонентный пакет ActivePython. (ActivePython — это бинарная оболочка вокруг ядра Python и распространённых модулей; это среда разработки Python, выпущенная ActiveState. ActivePython упрощает установку Python и может использоваться в различных операционных системах. ActivePython включает некоторые распространённые расширения Python и программный интерфейс для среды Windows.) Что касается ActivePython, если вы пользователь Windows, просто скачайте msi-пакет и установите его; если вы пользователь Unix, скачайте пакет tar.gz и просто распакуйте его.

3 К средам разработки Python относятся PythonWin, плагин Eclipse+PyDev, Komodo, EditPlus.

Версии

В настоящее время основными являются две версии: Python 2 и Python 3.

В следующих двух случаях рекомендуется использовать Python 2:

1 Когда вы не можете полностью контролировать среду, в которой собираетесь развёртывать;

2 Когда вам нужно использовать определённые сторонние пакеты или расширения;

Python 3 — официально рекомендуемая версия, и она полностью поддерживается в будущем. В настоящее время многие улучшения функций вносятся только в Python 3.

hello world

1 Создайте hello.py

2 Напишите программу:

if __name__ == \'__main__\':
    print "hello word"

3 Запустите программу:

python ./hello.py

Комментарии

1 Независимо от того, является ли комментарий строчным или блочным, используйте # и пробел для комментирования.

2 Если вам нужно использовать комментарии на китайском в коде, вы должны добавить следующее объявление комментария в самом начале файла Python:

# -* - coding: UTF-8 -* -

3 Следующий комментарий используется для указания интерпретатора.

#! /usr/bin/python

Типы файлов

1 Типы файлов Python делятся на 3 типа: исходный код, байт-код и оптимизированный код. Все они могут выполняться напрямую без компиляции или компоновки.

2 Исходный код использует .py в качестве расширения и интерпретируется Python;

3 После компиляции исходные файлы создают файлы с расширением .pyc, которые являются скомпилированными байтовыми файлами. Эти файлы нельзя изменять с помощью текстового редактора. Файлы .pyc не зависят от платформы и могут выполняться в большинстве операционных систем. Следующая инструкция может использоваться для создания файлов .pyc:

import py_compile
py_compile.compile(‘hello.py’)

4 Оптимизированные исходные файлы используют .pyo в качестве суффикса, то есть оптимизированный код. Они также не могут быть напрямую изменены с помощью текстового редактора. Следующая команда может использоваться для создания файлов .pyo:

python -O -m py_complie hello.py

Переменные

1 Переменные в Python не нужно объявлять. Операция присваивания переменной — это процесс объявления и определения переменной.

2 В Python новое присваивание создаёт новую переменную. Даже если имена переменных совпадают, идентификаторы переменных различаются. Для получения идентификатора переменной можно использовать функцию id():

x = 1
print id(x)
x = 2
print id(x)

3 Если переменной не было присвоено значение, Python считает переменную несуществующей.

4 Переменные, определённые вне функций, можно называть глобальными переменными. К глобальным переменным может получить доступ любая функция внутри файла и внешние файлы.

5 Рекомендуется определять глобальные переменные в начале файла.

6 Также можно поместить глобальные переменные в отдельный файл и затем ссылаться на них через import:

Содержимое gl.py выглядит следующим образом:

_a = 1
_b = 2

Обращение к глобальным переменным в use_global.py:

import gl
def fun():
  print gl._a
  print gl._b
fun()

Константы

Python не предоставляет зарезервированного слова для определения констант. Вы можете сами определить класс констант, чтобы реализовать функциональность констант.

class _const:
  class ConstError(TypeError): pass
    def __setattr__(self,name,vlaue):
      if self.__dict__.has_key(name):
        raise self.ConstError, “Can’t rebind const(%s)”%name
        self.__dict__[name]=value
import sys
sys.modules[__name__]=_const()

Типы данных

1 Числовые типы Python делятся на целые, длинные целые, числа с плавающей точкой, логические и комплексные типы.

2 В Python нет символьного типа.

3 Внутри Python нет обычных типов; все типы являются объектами.

4 Если нужно посмотреть тип переменной, можно использовать класс type, который может вернуть тип переменной или создать новый тип.

5 В Python есть 3 способа представления строковых типов: одинарные кавычки, двойные кавычки и тройные кавычки. Одинарные и двойные кавычки работают одинаково. Программисты Python предпочитают одинарные кавычки, тогда как программисты C/Java привыкли использовать двойные кавычки для строк. Тройные кавычки могут содержать одинарные кавычки, двойные кавычки или символы новой строки.

Операторы и выражения

1 Python не поддерживает операторы инкремента и декремента. Например, i++/i- неверно, но i+=1 допустимо.

2 В Python 1/2 равно 0.5 до Python 2.5 и равно 0 после Python 2.5.

3 Не равно — это != или <>

4 Равенство обозначается ==

5 В логических выражениях and обозначает логическое И, or обозначает логическое ИЛИ, а not обозначает логическое НЕ.

Операторы управления

1 Условный оператор:

if (表达式) :
    语句1
else :
    语句2

2 Условный оператор:

if (表达式) :
  语句1
elif (表达式) :
  语句2
…
elif (表达式) :
  语句n
else :
  语句m

3 Вложенность условий:

if (表达式1) :
  if (表达式2) :
    语句1
  elif (表达式3) :
    语句2
  …
  else:
    语句3
elif (表达式n) :
   …
else :
   …

4 В самом Python нет оператора switch.

5 Оператор цикла:

while(表达式) :
   …
else :
   …

6 Оператор цикла:

for 变量 in 集合 :
   …
else :
   …

7 Python не поддерживает операторы цикла в стиле C, такие как for(i=0;i<5;i++), но их можно имитировать с помощью range:

for x in range(0,5,2):
    print x

Связанное с массивами

1 Кортеж: встроенная структура данных в Python. Кортеж состоит из различных элементов, и каждый элемент может хранить данные разных типов, например строки, числа или даже элементы. Кортежи защищены от записи, то есть после создания кортежа его нельзя изменить. Кортеж часто представляет строку данных, а элементы кортежа представляют различные элементы данных. Кортеж можно рассматривать как неизменяемый массив. Пример создания кортежа приведён ниже:

tuple_name=(“apple”,”banana”,”grape”,”orange”)

2 Список: Список похож на кортеж и также состоит из группы элементов. Списки поддерживают операции добавления, удаления и поиска, а значения элементов можно изменять. Списки — это массивы в традиционном смысле. Пример создания списка приведён ниже:

list=[“apple”,”banana”,”grage”,”orange”]

Вы можете использовать метод append, чтобы добавить элемент в конец, и remove, чтобы удалить элемент.

3 Словарь: коллекция, состоящая из пар ключ-значение. Значения в словаре доступны по ключам. Ключи и значения разделяются двоеточием, пары ключ-значение разделяются запятыми и заключаются в пару фигурных скобок. Пример создания приведён ниже:

dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”}

4 Последовательность: последовательность — это коллекция, поддерживающая индексацию и срезы. Кортежи, списки и строки относятся к последовательностям.

Связанное с функциями

1 Программы на Python состоят из пакетов, модулей и функций. Пакет — это коллекция, состоящая из ряда модулей. Модуль — это набор функций и классов, предназначенных для решения определённого типа задач.

2 Пакет — это набор инструментов для выполнения конкретных задач.

3 Пакет должен содержать файл __init__.py, который используется для того, чтобы обозначить текущую папку как пакет.

4 Программы на Python состоят из отдельных модулей. Модуль объединяет группу связанных функций или кода в один файл; один файл — это модуль. Модули состоят из кода, функций и классов. Для импорта модуля используется инструкция import.

5 Назначение пакета — обеспечить повторное использование программы.

6 Функция — это фрагмент кода, который можно вызывать многократно. Пример определения функции выглядит следующим образом:

def arithmetic(x,y,operator):
   result={
      “+”:x+y,
      “-“:x-y,
      “*”:x*y,
      “/”:x/y
   }

7 Возвращаемым значением функции можно управлять с помощью return.

Работа со строками

1 Форматированный вывод:

format=”%s%d” % (str1,num)
print format

2 Для конкатенации строк используйте +:

str1=”hello”
str2=”world”
result=str1+str2

3 Извлечение строки можно выполнить с помощью индексации/срезов или с помощью функции split.

4 Извлечение подстроки с помощью среза:

word=”world”
print word[0:3]

5 В Python для сравнения строк используются == и !=. Если типы двух сравниваемых переменных не совпадают, то результат точно не равен.

Работа с файлами

1 Простая работа с файлами:

context=”hello,world”
f=file(“hello.txt”,’w’)
f.write(context);
f.close()

2 Для чтения файла можно использовать функцию readline(), функцию readlines() и функцию read.

3 Для записи в файл можно использовать функции write() и writelines().

Объекты и классы

1 Python использует ключевое слово class для определения класса, и первый символ имени класса должен быть заглавным. Когда тип, который программисту нужно создать, не может быть представлен простым типом, нужно определить класс, а затем использовать определённый класс для создания объектов. Пример определения класса:

class Fruit:
    def grow(self):
       print “Fruit grow”

2 Когда объект создаётся, он содержит три характеристики: дескриптор объекта, атрибуты и методы. Способ создания объекта:

fruit = Fruit()
fruit.grow()

3 В Python нет модификаторов типа protected.

4 Методы класса также делятся на публичные методы и приватные методы. Приватные функции не могут вызываться функциями вне класса, а приватные методы не могут вызываться внешними классами или функциями.

5 Python использует функцию "staticmethod()" или директиву "@staticmethod" для преобразования обычных функций в статические методы. Статические методы эквивалентны глобальным функциям.

6 Конструктор Python называется __init__, а его деструктор называется __del__.

7 Как использовать наследование:

class Apple(Fruit):
   def …

Подключение к MySQL

1 Использование модуля MySQLdb для работы с базой данных MySQL очень удобно. Пример кода выглядит следующим образом:

import os, sys
import MySQLdb
try:
    conn MySQLdb.connect(host=’localhost’,user=’root’,passwd=’’,db=’address’
except Exception,e:
    print e
    sys.exit()
cursor=conn.cursor()
sql=’insert into address(name, address) values(%s, %s)’
value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))
try
    cursor.executemany(sql,values)
except Exception, e:
    print e
sql=”select * from address”
cursor.execute(sql)
data=cursor.fetchall()
if data
    for x in data:
        print x[0],x[1]
cursor.close()
conn.close()

Для дальнейшего изучения смотрите здесь:Учебник по Python。

Первоисточник: http://roclinux.cn/?p=2338