Виктор Ашик - python, part 1

26

Upload: yandex

Post on 05-Dec-2014

336 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Виктор Ашик - Python, part 1
Page 2: Виктор Ашик - Python, part 1

Виктор Ашик

Основы Python 1

Page 3: Виктор Ашик - Python, part 1

3

Почему Python

• Открытость• Простота использования• Читаемость кода• Производительность• Универсальность

Page 4: Виктор Ашик - Python, part 1

4

Зачем Python сисадмину

• Структуры данных• Библиотеки• Средства разработки

Page 5: Виктор Ашик - Python, part 1

5

Что нужно для начала

• Установить Python (если нет) — python.org

• Наладить запуск программ и интерпретатора

• Установить IPython

Page 6: Виктор Ашик - Python, part 1

6

Демо

Page 7: Виктор Ашик - Python, part 1

7

Настроить текстовый редактор

echo filetype plugin indent on >> ~/.vimrc

mkdir -p ~/.vim/ftplugin/

cat <<EOF > ~/.vim/ftplugin/python.vim

setlocal tabstop=4

setlocal softtabstop=4

setlocal shiftwidth=4

setlocal textwidth=80

setlocal smarttab

setlocal expandtab

EOF

Page 8: Виктор Ашик - Python, part 1

8

Page 9: Виктор Ашик - Python, part 1

9

Page 10: Виктор Ашик - Python, part 1

10

pip

• Python Package Index• easy_install pip• pip install pep8

Page 11: Виктор Ашик - Python, part 1

11

virtualenv

• apt-get install python-virtualenv• virtualenv env• source env/bin/activate• pip install pep8

Page 12: Виктор Ашик - Python, part 1

12

Hello world

#!/usr/bin/env pythonprint("Hello!")

Page 13: Виктор Ашик - Python, part 1

13

Hello main

#!/usr/bin/env python

def main(): print("Hello!")

if __name__ == '__main__': main()

Page 14: Виктор Ашик - Python, part 1

14

Переменные

a = 2b = 'abcd'c = len(b)

Page 15: Виктор Ашик - Python, part 1

15

Модули

import sysdir(sys)help(sys)print(sys.platform, sys.version)sys.exit(0)

Page 16: Виктор Ашик - Python, part 1

16

Строки (1)

a = ''It's a string''l = len(a)b = 'a\nb'c = """a... b"""raw = r'a\nb'd = a + b

Page 17: Виктор Ашик - Python, part 1

17

Строки (3)

dir(str)help(str)

Page 18: Виктор Ашик - Python, part 1

18

Строки (4) — слайсы

a = '01234567'b = a[0]c = a[0:2]d = a[:]e = a[-1]f = a[:-1]g = a[-1:]

Page 19: Виктор Ашик - Python, part 1

19

Строки (5) — оператор %

longline = ("%d quick %s fox jumped over the %s dog" % (2, "brown", "lazy"))

Page 20: Виктор Ашик - Python, part 1

20

Управляющие структуры: if

from datetime import datetime

now = datetime.now()if now.hour < 21: print('Continue')elif now.hour < 22: print('Finishing')else: print('Go home')

Page 21: Виктор Ашик - Python, part 1

21

Списки

list = ['com', 'net', 'org', 'mil', 'gov']

if 'org' in list: print('found')

for i in list: print(i)

Page 22: Виктор Ашик - Python, part 1

22

Range

for i in range(10): print(i)

Page 23: Виктор Ашик - Python, part 1

23

While

a = range(10)i = 0while i < len(a): print(a[i]) i = i + 2

Page 24: Виктор Ашик - Python, part 1

24

Методы списков

append(elem)remove(elem)index(elem)sort()reverse()pop(index)insert(index,elem)

Page 25: Виктор Ашик - Python, part 1

25

Сортировка

• sorted(list)

• list.sort()

• sorted(list,key=str.lower)

Page 26: Виктор Ашик - Python, part 1

26

Продолжение следует