Python Tutorialノート1
An Informal Introduction to Python
1. Number
>>> -7//3-3>>> 7//-3-3
_ 最後の計算結果を表す
2. str
strはimmutableの
3. Unicode
4. List
ListとStrはほぼ同じであり、List以外は変更可能である.特に、一部のListの関数はNoneを返します.
More Control Flow Tools
1. range()
2.関数の定義
関数にreturn文がない場合、この関数はNoneを返します.
3.既定のパラメータ
4. Lambda
Data Structures
1. List
List comprehension
Del
2. Tuple
3. Set
Set Comprehension
4. Dictionary
Dictionary Comprehension
5. Looping Techniques
6. More on Conditions
7. Comparing Sequences and Other Types
1. Number
>>> -7//3-3>>> 7//-3-3
_ 最後の計算結果を表す
2. str
strはimmutableの
word = "helloA"
word[1] # "e"
word[-1] #"A"
word[1:3] #"el"
word[3:1] #""
word[1:] #"elloA"
word[100] #exception
word[-100] #exception
len(word) #6
3. Unicode
" ".encode("utf-8")
4. List
ListとStrはほぼ同じであり、List以外は変更可能である.特に、一部のListの関数はNoneを返します.
L=[1,2,3,4]
L=L.append(5) #none
More Control Flow Tools
1. range()
range(5) #0, 1, 2, 3, 4
range(5, 10) #5, 6, 7, 8, 9
range(0, 10, 3) #0, 3, 6, 9
range(-10, -100, -30) #-10, -40, -70
2.関数の定義
def fib(n):
rst = []
a, b = 0 ,1
while b < n:
rst.append(b)
a, b = b, a+b
return rst
print(fib(1000))
関数にreturn文がない場合、この関数はNoneを返します.
3.既定のパラメータ
def f(a, L=[]):
L.append(a)
return L
def g(a, L=None):
if(L == None):
L = []
L.append(a)
return L
print(f(1)) #[1]
print(f(2)) #[1,2]
print(f(3)) #[1,2,3]
print(g(1)) #[1]
print(g(2)) #[2]
print(g(3)) #[3]
4. Lambda
def getFun(n):
return lambda x: x+n
f=getFun(10)
print(f(21)) #31
Data Structures
1. List
>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print(a.count(333), a.count(66.25), a.count('x'))
2 1 0
>>> a.insert(2, -1)
>>> a.append(333)
>>> a
[66.25, 333, -1, 333, 1, 1234.5, 333]
>>> a.index(333)
1
>>> a.remove(333)
>>> a
[66.25, -1, 333, 1, 1234.5, 333]
>>> a.reverse()
>>> a
[333, 1234.5, 1, 333, -1, 66.25]
>>> a.sort()
>>> a
[-1, 1, 66.25, 333, 333, 1234.5]
List comprehension
>>> vec = [2, 4, 6]
>>> [3*x for x in vec]
[6, 12, 18]
Del
>>> a = [-1, 1, 66.25, 333, 333, 1234.5]
>>> del a[0]
>>> a
[1, 66.25, 333, 333, 1234.5]
>>> del a[2:4]
>>> a
[1, 66.25, 1234.5]
>>> del a[:]
>>> a
[]
2. Tuple
>>> empty = ()
>>> singleton = 'hello', # <-- note trailing comma
>>> len(empty)
0
>>> len(singleton)
1
>>> singleton
('hello',)
3. Set
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)
{'orange', 'bananna', 'pear', 'apple'}
>>> fruit = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> fruit = set(basket) # create a set without duplicates
>>> fruit
{'orange', 'pear', 'apple', 'banana'}
>>> fruit = {'orange', 'apple'} # {} syntax is equivalent to [] for lists
>>> fruit
{'orange', 'apple'}
>>> 'orange' in fruit # fast membership testing
True
>>> 'crabgrass' in fruit
False
>>> # Demonstrate set operations on unique letters from two words
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # unique letters in a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # letters in a but not in b
{'r', 'd', 'b'}
>>> a | b # letters in either a or b
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # letters in both a and b
{'a', 'c'}
>>> a ^ b # letters in a or b but not both
{'r', 'd', 'b', 'm', 'z', 'l'}
Set Comprehension
>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'r', 'd'}
4. Dictionary
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'sape': 4139, 'guido': 4127, 'jack': 4098}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}
>>> list(tel.keys())
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
>>> 'jack' not in tel
False
Dictionary Comprehension
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
5. Looping Techniques
>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
... print(k, v)
...
gallahad the pure
robin the brave
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print(i, v)
...
0 tic
1 tac
2 toe
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print('What is your {0}? It is {1}.'.format(q, a))
...
What is your name? It is lancelot.
What is your quest? It is the holy grail.
What is your favorite color? It is blue.
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for f in sorted(set(basket)):
... print(f)
...
apple
banana
orange
pear
6. More on Conditions
>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
7. Comparing Sequences and Other Types
(1, 2, 3) < (1, 2, 4)
[1, 2, 3] < [1, 2, 4]
'ABC' < 'C' < 'Pascal' < 'Python'
(1, 2, 3, 4) < (1, 2, 4)
(1, 2) < (1, 2, -1)
(1, 2, 3) == (1.0, 2.0, 3.0)
(1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)