参考目次
目次一覧
はじめに
自己紹介
python基礎
- 3-1-変数とデータ型
- 3-2演算子
- 3-3制御フロー
- 3-4関数
- 3-5モジュール
- 3-6例外処理
ココでお茶休憩tea
- 3-7オブジェクト指向プログラミングoop
- 3-8-ファイル操作
- 3-9リスト内包表記
- 3-10デコレーター
- 3-11ジェネレーター
その他
おわりに
はじめに
この記事はPythonを勉強しようと思っている人向けの記事となっております。
結構寒くなってきましたね!もう冬ってことで私はショゲショゲです。
自己紹介
どうも、みなさま!ぬぇです!現在はIT系の専門学校に通っている2年生です。
学校ではPythonをメインにJavaやJavaScript,Network,IoT,DB、またWEB開発、情報処理について勉強をしています。プログラミングを始めて2年目となり、ハッカソンやアイディアソン、開発などの経験もしてきました。初めてなので拙い記事だと思いますが、どうか温かい目で見てください。
Python基礎
3-1. 変数とデータ型
- 変数:データを格納するための箱のようなモノ。
int1 = 1
str1 = "Hello,world"
float1 = 3.14
- データ型:データの種類を表す。
- 整数型 (int): 整数値 (例: 10, -5, 0)
- 浮動小数点型 (float): 小数を含む数値 (例: 3.14, -2.5, 0.0)
- 文字列型 (str): 文字列 ("こんにちは", 'Python', "123")
- ブール型 (bool): 真理値 (True または False)
- リスト型 (list): 複数の値を順番に格納 [1, 2, 3], ["apple", "banana"]
- タプル型 (tuple): 複数の値を順番に格納 (1, 2, 3), ("apple", "banana") リストと似ているが、変更不可。
- 辞書型 (dict): キーと値のペアでデータを格納 {"name": "太郎", "age": 20}
- 集合型 (set): 重複のない値を格納 {1, 2, 3}, {"apple", "banana"}
基礎中の基礎になるので、データ型は覚えましょう。
3-2.演算子
- 様々な演算子
- 算術演算子:+ ,- ,* ,/ ,// (切り捨て除算),%(剰余),**(べき乗)
- 比較演算子:==(等しい),!=(等しくない),>(大きい),<(小さい),>=(以上),<=(以下)
- 論理演算子:and(かつ),or(または),not(否定)
- 代入演算子:=,+=,-=,*=,/=
3-3.制御フロー
- if文:条件によって処理を分岐
score = 68
if score >= 80:
print("Great!") #もし80点以上ならGreatと出力する。
elif score >= 60:
print("Retake") #もし60点以上ならRetakeと出力する。
else:
print("Fail") #それ以外はFailと出力する。
Retake
- for文:繰り返し処理
for i in range(5): #0から4まで繰り返す
print(i)
0
1
2
3
4
指定がない場合は初期値は0から始まります。
- while文:条件が真(True)の間、繰り返し処理
count = 0
while count < 5: #Falseになるまで繰り返し
print(count)
count += 1 # 一度繰り返したら、countに+1される。
3-4.関数
-
組み込み関数:Pythonにあらかじめ用意されている関数(print(),len(),type()など)
- print関数:画面に出力する関数
- len関数:オブジェクトのサイズを取得する関数
- type関数:オブジェクトのデータ型を取得する関数
- input関数:ユーザーからの入力を受ける関数
-
独自関数:自分で定義する関数
def greet(name): #関数は「def 関数名(引数)」で作成される。
print("Hello," + name + "!!")
greet("Nue") #引数(name)に"Nue"が入り、関数内にある処理(print)がされる。
Hello,Nue!!
3-5.モジュール
- モジュール:Pythonのプログラムをまとめたファイルのこと。
- import文:モジュールを読み込む。
標準ライブラリ一覧(Python公式資料)
import math # 数学的計算するためのライブラリ
print(math.pi)
3.141592...
3-6.例外処理
- try-except文:エラーが発生した場合の処理。
try: #処理する文をtryに記述
x = int(input("数字を入力してください: "))
print(10 / x)
except ValueError: #数字ではなかった場合
print("数字を入力してください。")
except ZeroDivisionError: #0除算の場合
print("0で割ることはできません。")
ココでお茶休憩
pythonってjavaより書きやすいんですよ。(めんどくさがりな私個人の感想)
私は高校生の頃、好きでJavaの独学をしていましたが、Pythonの勉強を専門学校でしてから本当に「あぁ、Javaって書きにくいんだな…」と感じたんです。
先ほど紹介したtry-except文をjava(try-catch-finally文になります。)で書くと…
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("数字を入力してください: ");
int x = scanner.nextInt();
System.out.println(10 / x);
} catch (ValueError e) {
System.out.println("数字を入力してください。"); // 数字ではなかった場合
} catch (ArithmeticException e) {
System.out.println("0で割ることはできません。"); // 0除算の場合
} finally {
scanner.close();
}
}
}
長いなぁ( ^ω^)・・・
そんな感じで、Pythonが大好きになったんです。是非みなさんが好きな(or 気になる)プログラミング言語をぜひコメントしてください!
お茶休憩はココまで。
3-7.オブジェクト指向プログラミング(OOP)
Pythonはオブジェクト指向プログラミング (OOP) をサポートしています。OOPでは、データと処理をまとめた「オブジェクト」を単位としてプログラムを構築します。
補足説明:オブジェクト指向プログラミング (OOP) とは、データと関連するメソッドをクラスという単位でまとめ、オブジェクト間の相互作用を管理する開発手法のことです。
- クラス: オブジェクトの設計図となるもの。
- インスタンス: クラスを基に作られた具体的なオブジェクト。
- メソッド: クラス内で定義された関数。
- 属性: クラス内で定義された変数。
class Dog: # クラスの定義
def __init__(self, name, breed): # コンストラクタ
self.name = name # 属性
self.breed = breed
def bark(self): # メソッド
print("ワン!")
my_dog = Dog("ポチ", "柴犬") # インスタンスの作成
print(my_dog.name) # "ポチ"
my_dog.bark() # "ワン!"
ポチ
ワン!
3-8. ファイル操作
Pythonはファイルの読み書きを行うことができます。
- open(): ファイルを開く関数。
- read(): ファイルの内容を読み込むメソッド。
- write(): ファイルに書き込むメソッド。
- close(): ファイルを閉じるメソッド。
# ファイルの読み込み
with open("sample.txt", "r") as f:
data = f.read()
print(data)
# ファイルへの書き込み
with open("sample.txt", "w") as f:
f.write("Hello, world!\n")
上記では「with open…」と使っていますが、withを使わない場合だとclose()を必ず記述しなければいけません。
3-9.リスト内包表記
リスト内包表記を使うと、簡潔にリストを作成することができます。
補足説明:リスト内包表記とは、既存のリストから新たなリストを作成するために用いられるもの。通常のループや条件分岐を1行で記述できるので、コードが読みやすく、効率的になります。
# 0から9までの偶数のリストを作成
even_numbers = [i for i in range(10) if i % 2 == 0]
print(even_numbers)
[0,2,4,6,8]
3-10.デコレーター
Pythonの関数やメソッドに対して追加の機能を動的に付加するためのパターンです。関数を修飾するための関数として、元の関数の挙動を変更したり、拡張したりすることができます。
def my_decorator(func):
def wrapper(*args, **kwargs):
print("関数が呼ばれました")
result = func(*args, **kwargs)
print("関数が終了しました")
return result
return wrapper
@my_decorator
def say_hello(name):
print("こんにちは、" + name + "さん!")
say_hello("Nue")
# 出力:
# 関数が呼ばれました
# こんにちは、Nueさん!
# 関数が終了しました
3-11.ジェネレーター
Pythonの特別な種類のイテレーターで、データを逐次的に生成することができるものです。ジェネレーターを使うと、通常のリストやタプルのようにすべてのデータを一度にメモリに格納することなく、必要な時にそのデータを生成して返すことができます。この特性を活かして、大きなデータセットを扱う際のメモリ効率を向上させることができます。
def my_generator(n):
for i in range(n):
yield i * 2
for x in my_generator(5):
print(x)
出力:
0
2
4
6
8
その他
Pythonでは、プログラミング中に書くコメントを「# (半角スペース)値」という感じで記述できます。
プログラミング中にコメントを入れるのは、自分や他の開発者がコードを見たときに可読性が向上するからです。自分へのメモ書きとしても使用できます。コードを書いた本人以外がそのコードを変更や改善する際、コメントがあればスムーズに作業が進めることができ、バグ修正、制約事項の説明、テスト項目、ドキュメンテーションの役割も果たします。
ぜひこれからプログラミングに挑戦する方は、コメントを残す癖をつけましょう!!
またPythonではインデントが重要です。インデントとは、コードの行の先頭に空白やタブを挿入して、コードを階層的に整理する手法です。インデントは主に、コードブロック(例えば、条件分岐やループなど)を視覚的に区別するために使われます。また、プログラミング言語によってはインデントが構文の一部として重要であり、正しくないインデントがエラーを引き起こすこともあります。
おわりに
最後まで見ていただきありがとうございました!この記事が約に立つことができたら、私はとても嬉しいです。これから私自身が独学で機械学習や自然言語処理、データ分析などPythonにまつわる事を執筆していく予定です。ぜひそちらも参考にしてください!
よかったらフォロー、イイネのほうお願いいたします!