[Aiffel]エッフェル4日目コンセプトの整理と回顧
1.パイソンの概念整理
1)生産性と性能(性能)
Pythonの特性
1.高い生産性
2.コードの簡潔性
3.快速開発
4.スクリプト言語
2) Generator
3) Try - except
これはエラーを処理するために必要なプロセスです.
エラーが発生した場合は除外セクションを実行し、エラーが発生しない場合はtryセクションを実行します.
a = 8
b = 0
try:
#실행 코드
print(a/b)
except:
print('에러가 발생했습니다.')
b = b+1 #이런 식으로 except 부분에서 값을 수정해 결과값을 조정할 수 있다.
print("값 수정 : ", a/b)
4)時間測定
timeモジュールを使用して測定できます.
import time
begin = time.time() # 시작 시간 저장
a = 100
for i in range(100,0,-1):
a -= 1
# 작업 코드
print("time :", time.time() - begin) # 결과는 '초' 단위 입니다.
5) Multiprocessing
コンピュータの処理速度を向上させる方法の一つです.
並列処理は4文字列で同時に処理されて格納され,順序処理は順序で処理される.
ソース:https://sebastianraschka.com/Articles/2014_multiprocessing.html
Pythonで並列処理を行うために,マルチプロセッサモジュールを用いた.
6) lambda
実行時に作成および使用できる匿名関数.defで名前を定義する関数とは異なり、名前はありません.式の形式を別々にlambda式(lambda expression)と呼ぶ.
(lambda x: x+1)(0)
>>> 1
map、filter、reduceなどの関数でよく使われます.
# map
num_list = [1, 2, 3]
num_list = list(map(lambda x: x+1, num_list))
print(num_list)
>>> [2, 3, 4]
# 조건부 식 사용하기 - if, else 반드시 둘 다 써야함
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list(map(lambda x: str(x) if x % 3 == 0 else x, a))
>>> [1, 2, '3', 4, 5, '6', 7, 8, '9', 10]
# filter 조건에 해당하는 요소만 반환
list(filter(lambda x: x % 2, range(10))) # 파이썬 2 및 파이썬 3
>>> [1, 3, 5, 7, 9]
# reduce - 누적해서 함수에 적용 시킴
from functools import reduce #python3 부터 내장함수가 아님
reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
>>> 10
7)モジュールとパッケージ
関数、変数、クラスを含むファイル.モジュール化コードのエンクロージャ.pyの形態.
複数のモジュールを含むフォルダ.pip installを使用して
8)プロセス向け、オブジェクト向け
プロシージャ向けオブジェクトの作業順序に従って、まずプログラミングオブジェクトを作成し、関数を作成します.オブジェクト間で対話できる利点は、順番に読みやすく、理解しやすく、コードの再利用が容易です.コードの分析が容易で、アーキテクチャの変更が容易で、順番に記述された特性のため、1つのエラーが連鎖的に影響を及ぼす可能性があるため、メンテナンスが困難です.通常、コード長が長いため、分析が困難なオブジェクト間のインタラクションのため、設計に多くの時間がかかります.設計に問題が発生した場合は、包括的な再構成が必要になる場合があります.
9)関数式プログラミング
関数式プログラミングは並列プログラミングにおいて優位である.
ただし、1つのデータが同時に複数の関数にアクセスされ、1つの関数が既存のデータを変更できる場合、既存のデータへの出力は予想できません.
->この問題をどのように解決しますか?純粋性を保つ
関数化メソッドでは、副作用のある関数を使用して内部状態を変更したり、関数の戻り値に表示されない他の変更を作成したりしません.副作用が全くない関数を純関数と呼ぶ.
10)Pythonコード様式
コードスタイル-『Hitchhikerガイド』からPython
PEP8 - Code lay-out
2. CS
1)オペレーティングシステム
まとめ:Woo奮闘というオペレーティングシステムでは、Pythonというプログラミング言語を使い、Tensorflowという深い学習フレームワークを使って多くのことを学びます.
コンピュータオペレーティングシステムの核心であるコンピュータプログラムは、システムのすべてを完全に制御する.
一般にLinuxオペレーティングシステムとは、カーネルとしてLinuxを使用するオペレーティングシステムを指す.右奮闘やAndroid、ChromeOSのほか、Debian、Cents、Red Hat Enterprise Linuxなど様々なタイプがあります.
3.誤答
1)プログラマ
文字列降順
def solution(s):
return ''.join(sorted(s, reverse=True))
=>sorded,reverseは関数,sort,reverseはメソッド
4.回顧
この時間の概念が多すぎて、整理するのに長い時間がかかりました.私は今日初めて発電機の概念に触れました.発電機と一緒に理解すべきだと思います.後でコードスタンプを勉強するときに見ます.CSの概念が不足していると感じて、もっと本を読んだり、何かをしたりする必要があるかもしれません.
Reference
この問題について([Aiffel]エッフェル4日目コンセプトの整理と回顧), 我々は、より多くの情報をここで見つけました https://velog.io/@gongsam/Aiffel-아이펠-3일차-개념-정리-및-회고テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol