LoginSignup
0
0

Python 3 エンジニア認定基礎試験対策3 - 形式ばらないPythonの紹介

Posted at

はじめに

Python3エンジニア認定基礎試験の対策として自分用に執筆しています。

この記事はPython・執筆学びたての初心者が執筆しています。間違いがあるかもしれませんので、ぜひ各項目にある参考文献も確認してください。また、誤りがあればコメントで教えていただけると幸いです。

形式ばらないPythonの紹介

計算

>>> 2 + 2 # 加算
4
>>> 4 - 1 # 減算
3
>>> 2 * 3 # 乗算
6
>>> 3 / 1  # 除算
1.0
>>> 6 // 2 # 整数除算
3
>>> 3 ** 3 # べき乗
27
>>> 5 % 3 # 剰余算
2

=は変数に値を代入する際に利用
変数を定義していないのに利用しようとするとエラー

ans = 10 + n # nが定義されていないのでエラー
NameError:name 'n' is not defined

対話モード(cmdでの入力など)で実行する場合は、_に最後の実行結果が代入される

>>> 2 + 3
5
>>> _ + 5 # _には2+3の結果が代入されている
10

文字列

文字列を記述する場合は'(単引用符)または"(二重引用符)を利用する。引用符は\でエスケープできる。
\の後の文字列を特殊文字として解釈しない場合は先頭にrをつける

>>>print('C:\some\name')
C:\some
ame
>>>print(r'C:\som\name')
C:\some\ame

文字を複数行にまたがって記述する場合は"""(三連引用符)を使用する。
文字列は+演算子で結合、*演算子で繰り返し出力することができる

>>> "hello" + "world"
helloworld
>>> "ABC"*3
ABCABCABC

文字列はインデックスを指定して文字を取得できる

>>> word = "Python"
>>> word[0] # 0文字目
P
>>> word[-1] # 後ろから1文字目
n
>>> word[0:2] # 0文字目から2文字目
Py
>>> word[2:5] # 2文字目から5文字目
tho
>>> word[:2] # 最初から2文字目
Py
>>> word[4:] # 4文字目から最後
on
>>> word[-2:] # 後ろから2文字目から最後
on
>>> word[4:42] # 範囲外でもindex out of rangeが出ない
on
>>>word[42:] # 空白が出力

文字列の一部を変更することはできない

word[0] = 'J'
TypeError:'str' object does not support item assigment

len()は文字列の長さを返す。length

>>> s = 'Python'
>>> len(s)
6

リスト

複数の値をまとめる。

>>> num = [1, 2, 3, 4]
>>> num[0] # numの0番目に格納されている値
1
>>> num[-1]
4
>>> num[-3:]
[2, 3, 4]
>>> num[:] # すべて
[1, 2, 3, 4]
>>> num + [5, 6, 7, 8] # 連結
[1, 2, 3, 4, 5, 6, 7, 8]

リストは可変であり、変更することができる

>>> fib = [1, 1, 2, 4, 5]
>>> fib[3] = 3 # 要素の変更
[1, 1, 2, 3, 5]
>>> fib.append(8) # 値の追加
[1, 1, 2, 3, 5, 8]
>>> fib.append([5,8]) # リストの追加
[1, 1, 2, 3, 5, 8, [5, 8]]
>>> len(fib) # リストの長さ(要素数)
7

プログラムの例

>>> a, b = 0, 1
>>> while a < 5:
...   print(a)
...   a, b = b, a+b
0
1
1
2
3

1行目:複数同時の代入
2行目:条件式(繰り返し)。a < 5の場合は繰り返し

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0