Startup Data scientist Blog

データ分析系のテック情報を発信します

pythonを使ったファイル入出力の基本

 

f = open('sample.txt', 'w') #新規ファイルの作成
f.write('Hello python!!!') #テキストファイルに書き込みを行う
f.close() #ファイルを閉じる

>>

Hello python!!!

というテキストファイルが作成される。

 

modeの意味

w:書き込み専用 ファイルが存在しない場合、新規に作成。

r:読み込み専用 ファイルが存在しない場合エラーが発生。

a:追記専用 ファイルが存在する場合、末尾に追加される。

Web3.0エンジニア向けの資金と技術が手に入る「ゼロ知識証明技術」ZKU.ONE

 

ZKU.ONEは、ソフトウェア開発者がゼロ知識証明技術を使用してWEB3で市場対応製品を構築する方法を学ぶためのオンラインコースおよび非公式研究グループです。目標は、2、3か月以内にメインネットでZK製品を発売することです。これは間違いなく挑戦的です。私たちは助けるためにここにいます。コースを修了することで奨学金と賞品を得るチャンスが与えられます。

 

コースは英語で行われプログラミングの知識も問われるので難易度はかなり高そうです。ただ資金を提供してもらえる、開発したプロダクトをそのままリリースして法人化など様々なチャンスがありそうです。

 

ZKU.ONE

f:id:xxUFOxx:20220323133339p:plain

www.harmonyzku.one

 

 

奨学金と賞品について

報酬だけでなく就職先のあっせんなども場合によってはしてくれるようです。

www.harmonyzku.one

 

Python で可変個引数を使用する

Python では、任意の数の引数やキーワード引数を、各引数を宣言することなく使用できます。 この機能は、関数で不明な数の入力を受け取る可能性がある場合に役立ちます。

 

可変個引数

可変個引数を使用するにはアスタリスク(*)を使用します。

def variable_length(*args):
    print(args)

 

時間の長さを計算する

def sequence_time(*args):
    total_minutes = sum(args)
    if total_minutes < 60:
        print(f"Total time to launch is {total_minutes} minutes")
    else:
        print(f"Total time to launch is {total_minutes/60} hours")
   

sequence_time(1, 2, 3)

>>>

Total time to launch is 6 minutes

 

 

可変個キーワード引数

関数が任意の数のキーワード引数を受け付けるようにするために、同様の構文を使用します。 この場合は、次のように二重アスタリスクが必要です。

def variable_length(**kwargs):
    print(kwargs)
 

 

Web3.0エンジニアになるためのまとめサイト

Web3.0エンジニアになるための学習サイトまとめ

 

 Web3領域はまだまだ新しいことが多く技術革新が日々進んでいます。正直な所、私としては今すぐにWeb3領域に入るというのはオススメ出来ません。バックエンド領域の言語であるSolidityはバージョンアップの度に使えるコードと使えないコードが出てきています。最先端の領域であるために流行りと廃りが早く、正直理解できない部分も多いです。

 

大きなトレンドとしてはWeb3の情報革新が来ることは間違いありませんが、果たしてそれがいつ来るのか、いつ一般の人々にもその恩恵が来るのかは誰にも予知できないでしょう。クリエイターであればその恩恵は既に感じている方が多いかもしれませんが、日本でその恩恵を感じているクリエイターはごく少数ではないでしょうか。

 

 

CryptoZombies-Solidity

ゲーム感覚で1つずつ課題をクリアしながら Solidity を学んでいきます。もちろん日本語対応ですが、Solidityはバージョンが異なると動かなくなるコードがあり、現在は古いバージョンしか学習することが出来ません。一部注意が必要です。

f:id:xxUFOxx:20220302182520p:plain

cryptozombies.io

 

buildspace-Solidity

Buildspaceは週末に行われていたハッカソンが拡大してサービス化されたものです。Web3関連のプロジェクトやイベントに参加することが出来ます。全て英語ですが、web3に関係するプロジェクトを手を動かしながら学習することが出来ます。

f:id:xxUFOxx:20220302182419p:plain

buildspace.so

 

 

IPFS入門-IPFS

f:id:xxUFOxx:20220302182740p:plain

ipfs-book.decentralized-web.jp

 

 

IPFS documents-IPFS

f:id:xxUFOxx:20220302182913p:plain

docs.ipfs.io

 

ProtoSchool-IPFS

f:id:xxUFOxx:20220302183046p:plain

proto.school

 

Ceramic-IPFS

f:id:xxUFOxx:20220302183145p:plain

developers.ceramic.network

 

Shipyard SchoolShipyard School

f:id:xxUFOxx:20220302183628p:plain

www.shipyard.xyz

 

 

Encode Club- Community

www.encode.club

 

こちらもエンジニア方の学習にオススメです。

xxstartupxxengineerxx.hateblo.jp

xxstartupxxengineerxx.hateblo.jp

 

今後情報は続々更新していきます。

応援お願いします。

数値演算ライブラリfloorとceilを使った小数点の切り捨てと切り上げ

数値演算ライブラリ

Python には、より高度な演算と計算を行うためのライブラリが用意されています。 最も一般的なものの 1 つは math ライブラリです。 math では floor や ceil による端数処理や、円周率の算出など、様々な演算が可能です。 このライブラリを使用して切り上げや切り下げを行う方法を見てみましょう。

数値の端数処理によって、浮動小数点の小数点以下の部分を削除できます。 常に直近の整数に切り上げるには ceil を、切り下げるには floor を使用します。

 

from math import ceil, floor

round_up = ceil(12.5)
print(round_up)

round_down = floor(12.5)
print(round_down)

>>>

13
12

python3で仮想環境を構築し日付を表示させる

仮想環境を作成する

開始する前に、仮想環境を作成し、環境に入ります。 そうすることで、コンピューターの他の部分から隔離できます。 ライブラリをインストールするときにコンピューターの他の部分に影響を与えないように、環境を隔離する必要があります。

venv env を実行して、env という仮想環境を作成します。

 

python3 -m venv env

新しい env サブディレクトリが表示されます。

仮想環境をアクティブにするために、次のコマンドを実行します。

 

# On Linux, macOS or WSL
source env/bin/activate

 

# On Windows
env\Scripts\activate.bat

コマンド プロンプトは、仮想環境の名前を示すために (env) で始まります。

 

1.ターミナルからディレクトリとファイルの作成

mkdir src #ディレクトリ作成
cd src    #ディレクトリに移動
touch app.py #プログラムファイルの作成
touch requirements.txt #テキストファイルの作成

 

2.app.py

from datetime import *
from dateutil.relativedelta import *

now = datetime.now()
print(now)

 

3.python app.pyを実行

>>>

2022-03-02 16:42:50.897762

 

日付を使用するには、date モジュールをインポートする必要があります。

from datetime import date

print(date.today())

>>

今日の日付が表示される

 

from datetime import *
from dateutil.relativedelta import *
now = datetime.now()

now = now + relativedelta(months=1, weeks=1, hour=10)

print(now)

>>

2022-04-09 10:28:25.740569

 

pythonを使ったデータのビジュアル化 numpy

numpyとはpythonの拡張モジュールで、数値計算や図示化などを可能にしてくれます。

 

numpyの使い方と便利な関数 | 資格マフィア

 

NumPyサンプルコード

import numpy as np
import matplotlib.pyplot as plt

height = [5, 10, 20, 30, 35]
bars = ['A', 'B', 'C', 'D', 'E']
y_pos = np.arange(len(bars))

plt.bar(y_pos, height)
plt.xticks(y_pos, bars)

plt.show()

 

 

図示化したグラフ

f:id:xxUFOxx:20220227143011p:plain

pythonで自身のip adressを取得するコード

IPアドレスを確認するpythonコード

import socket

hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
print(IPAddr)

>>

自身のip adressが表示される。

 

 

Webブラウザから簡単にコードのコンパイルが出来るサービス一覧

ブラウザ上でコードを書き、すぐに実行できるサービスまとめ

 

 

Visual Studio Code for the Web

vscode.dev

 

 

Compile and run the code with online compiler and IDE | CodeChef

www.codechef.com

 

 

Wandbox

wandbox.org

 

 

Compile and Execute C Online

www.tutorialspoint.com

pythonの独学をするならこちらの本がオススメ

「独学プログラマー Python言語の基本から仕事のやり方まで」

著者はコーリー・アルソフ(Cory Althoff)。彼自身が独学でプログラミング技術を身につけています。米クレムソン大学で政治学を専攻後、シリコンバレーに住みながら独学でプログラミングを身に付ける。一年後にeBayのソフトウェア・エンジニアとして就職。その後、シリコンバレーにて複数のスタートアップに参画し、主にフルスタック・エンジニアとして活躍しています。

この本はpythonをメインとしたプログラミングに必要な知識を学ぶことが出来ます。

 

[コーリー・アルソフ, 清水川 貴之]の独学プログラマー Python言語の基本から仕事のやり方まで

 

 

最新リンクサイト一覧:

http://web-cache.stream.ne.jp/www11/nikkeibpw/com/sp/dokupro-link.pdf

 

 

初心者にはこちらのサイトもオススメ

www.python.jp