Python3関連のことを調べてみた2020年01月07日

Python3関連のことを調べてみた2020年01月07日

【Python】演算子(+,-,*,/,%)

#演算子
数値型の変数や数値に対して次の演算子で算術演算を行うことが出来る。
・ + : 足し算
・ - : 引き算
・ * : 掛け算
・ / : 割り算
・ % : 剰余 ( a%bでaをbで割った時の余り )

“`python:sample.py
a=5
b=2
print(a+b) #output=7
print(a-b) #output=3
print(a*b) #output=10
print(a/b) #output=2
print(a%b) #output=1
“`

他にも、pandasなどのライブラリを使うことで行列の内積、外積、行列式の演算といったことも可能になる。
また、文字型の変数同士で+をつかうと二つの文字型変数が合成される。

“`python:sample.py
a=”aaa”
b=”bbb”
print(a+b) #output=aaabbb
“`

元記事を表示

[Hyperledger Iroha]Python SDKの使い方メモ

#記事の内容
Hyperledger IrohaのPython SDKを使って、
・Assetの作成
・Assetの送信
・ブロック情報の取得
を行ってみます。

#前提
・irohaの公式ガイドに従って環境構築が出来ていること
・Python3が使える環境であること

#参考
Iroha Python Libraryドキュメント
https://iroha.readthedocs.io/en/latest/develop/libraries/python.html

このページのExample CodeはAssetの送信から書かれているので、事前にAssetの作成をしておかないと動きません。
そのコードもこの記事ではPythonを使ってやってみます。

#Assetの作成

~~~ CreateAsset.py
from iroha import Iroha, IrohaCrypto, IrohaGrpc

net = IrohaGrpc(‘Host IP Address:50051’)

iroha = Iroha(‘admin@test’)
admin_priv_key = ‘A

元記事を表示

“素人銀行員”が1週間でPython 3 エンジニア認定基礎試験に合格した方法

Python3エンジニア認定基礎試験について、Qiitaにはエンジニアの方が「簡単だぜ」というトーンでマウントした記事が多いと感じたので、非エンジニアの方に役に立てばと思い書きました

プログラミング初心者が試験の合格だけを目的に「成功談」「失敗談」を簡潔に書きます

#私のスペック
・プログラミングを普段しない銀行員
・新入社員研修で、COBOLを3か月ほど学んだが挫折。以後、触らず。

#試験結果
 ・750点/1000点(合格点700点:合格率7~8割)
 ・勉強期間は、年末年始の7日×3時間

#理想の勉強方法
#####0)Pythonのインストール(私はjupyter notebookをインストールしました)【0.5h】

#####1)試験範囲の確認【0.1h】
試験概要や出題問題数に目を通しましょう
  https://www.pythonic-exam.com/exam/basic

#####2)Webで超基礎を学習(WEB INTO DIVE)【5h】
  必ず、手を動かしながらPythonで色々なパターンを実行しながら進めるのが重要です
  https

元記事を表示

【Python】ヘロンの公式の関数化と面積の最大値の算出

> 三角形の3辺をx, y, zと定義し、x + y + z = L(定数)とする。Lを一定にしたとき、三角形の面積を最大にする三角形がどんなものか答えよ。

という課題が学校から出されました。

本来ならこれを数学的に解くことが必要となりますが、私はこの問題を見た瞬間。

「プログラムで証明した方が自明でわかりやすくないか」

そう考えました。

なので今回はPythonでヘロンの公式の関数を作成し、whileループによって証明しようと考えました。

# ヘロンの公式
“`math
面積 =
\sqrt{s(s-x)(s-y)(s-z)}\\
s=
\frac{x+y+z}{2}
“`
まずはヘロンの公式を関数化していきます。
## ヘロンの公式の関数化
“`python
def heron(a, b, c):
x, y, z = float(a), float(b), float(c)
s = (x + y + z) / 2

if x+y>z and y+z>x and z+x>y:
return

元記事を表示

Pytorchチュートリアルをやってみた その1

# Getting Started : What is Pytorch?
tipsとして使えるように、Pytorchチュートリアルをやってみたメモです。

## Tensor

“`python
import torch
“`

### 非初期化の5×3行列を定義 -> torch.empty()

“`python
torch.empty(5,3) # 5行3列
“`

tensor([[1.9519e-19, 1.9432e-19, 2.7208e+23],
[1.4776e-19, 1.9432e-19, 2.7208e+23],
[2.9597e+21, 7.3986e+20, 4.1529e+21],
[1.9284e+31, 1.1722e-19, 1.3563e-19],
[1.3563e-19, 1.3563e-19, 1.8904e+23]])

### ランダムに初期化された行列 -> torch.rand()

“`python
tor

元記事を表示

[Python3 入門 1日目] プログラミングとPython

#プログラミングとは
 コンピューターに行わせたい命令を作っていく作業のこと。

#プログラミングを学ぶとは
 「正しい言葉」と「構文規則」を学ぶこと。

#Pythonについて

##実世界でのPython
1991年からあるプログラミン言語である人気のあるプログラミング言語トップ10にずっとランクインしているらしい。

以下のようなコンピューティング環境で使われている
・モニター、ターミナルウィンドウのコマンドライン
・web含むGUI
・webのクライアント、サーバーサイド処理
・有名な大規模サイトを支えるバックエンドサーバー
・クラウド
・モバイルデバイス
・組み込みデバイス

様々な場所で多岐にわたり使われているPython。
魅力的ですね。

##Pythonと多言語の比較
大学時代にC言語を使っていたが、第一印象としてはC言語より学習しやすそうな言語だと感じた。

##単語
・シェルプログラム:入力した内容を読み込み、結果をディスプレイに表示するプログラム(端末やターミナルウィンドウを使っている場合)
・静的言語:言語は変数を持っていて、静的言語ではこの変数の型を宣言する

元記事を表示

PythonでABC103のA~C問題を解く

### はじめに
[前回](https://qiita.com/taxfree_python/items/8d66da706c06f85a440f)からrateの変動はありません。
誰かに書けと言われたような気がした。
今回はCまで解けました。今回のようなCはわりとできる?
新学期が始まってしまった…

###A問題
[問題](https://atcoder.jp/contests/abc103/tasks/abc103_a)

**考えたこと**
感覚的に小さい順にsortしたら、値が最小になりそう。ということで実装

“`python
a = list(map(int,input().split()))
a.sort()
ans = abs(a[1]-a[0]) + abs(a[2] – a[1])
print(ans)
“`
問題文のtaskは3個と読み落としていてfor文を使うのかと思って苦しんでました。問題はしっかり読みましょう

###B問題
[問題](https://atcoder.jp/contests/abc103/tasks/abc103_b)

**考えた

元記事を表示

初心者の初心者による初心者のためのDjangoチュートリアルまとめ⑦ (Adminのカスタマイズ)

#はじめに
この記事はDjangoの公式チュートリアルを進めていくシリーズものです。
今回は4記事目「はじめての Django アプリ作成、その 7」を進めていきます。
今回で最終回になります。

[初心者の初心者による初心者のためのDjangoチュートリアルまとめ① (プロジェクト作成~)](https://qiita.com/sanpo_shiho/items/6f2fbfd9bd3a18414fe6)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ② (Model, Admin)](https://qiita.com/sanpo_shiho/items/4df3b31ea76775f4a918)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ③ (View)](https://qiita.com/sanpo_shiho/items/71b8cdd68d608897d103)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ④ (Generic View)](https://qiita.com/sanpo_shiho/

元記事を表示

初心者の初心者による初心者のためのDjangoチュートリアルまとめ⑥ (静的ファイル)

#はじめに
この記事はDjangoの公式チュートリアルを進めていくシリーズものです。
今回は4記事目「はじめての Django アプリ作成、その 6」を進めていきます。

[初心者の初心者による初心者のためのDjangoチュートリアルまとめ① (プロジェクト作成~)](https://qiita.com/sanpo_shiho/items/6f2fbfd9bd3a18414fe6)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ② (Model, Admin)](https://qiita.com/sanpo_shiho/items/4df3b31ea76775f4a918)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ③ (View)](https://qiita.com/sanpo_shiho/items/71b8cdd68d608897d103)
[初心者の初心者による初心者のためのDjangoチュートリアルまとめ④ (Generic View)](https://qiita.com/sanpo_shiho/items/a1f14fd

元記事を表示

Photonqatで光量子計算 (量子テレポーテーション)

$$
\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}
$$

# はじめに
どうやら2020年は量子コンピュータの実用元年的なことが某所で言われているようで。
またQuantum Nativeという言葉も耳にする機会がじわじわ増えていたり。
「西暦2020年を境に世界は量子コンピュータの実用化へ舵を切った。」とでも書くとどこかのSF小説の書き出しみたいですね(素人感)。

私も去年はStrawberry Fieldsおじさんとしていくらか記事を発信させて頂いており、2020年も光量子計算推しでいく予定なのですが、今後は新たな連続量光量子計算ライブラリ「Photonqat」を紹介させて頂こうと思います。

大分毛色が違いますが一応このライブラリ、あのMDR社の「qat」シリーズ3号機となっています。
htt

元記事を表示

XGBoostをやっとインストールできた話

XGBoostを入れようとするとエラーが出てできなかったが、なんとか成功。

以前はAnaconda Promptで以下↓のコマンドを実行してもできなかった。

“`
conda install -c anaconda py-xgboost
“`
XGBoostのインストールには、他のプログラムを入れて上のコードを入力しないといけないと判明したので記録。
インストール方法の備忘録にするので、同じ境遇の方の助けになれば幸いです。

##環境
・Windows 10 (64bit)
・Python 3.6
・Anaconda

#1.gfortranコンパイラを含む圧縮ファイルをダウンロードして解凍する
sourceforgeのHPからgfortranコンパイラを含む”圧縮ファイル”をダウンロードし、それを解凍する

”圧縮ファイル”は[sourceforge.net HP](https://sourceforge.net/projects/mingw-w64/files/?source=navbar)の下のほうに進んでいき、”x86_64-posix-sjlj”(写真赤枠で囲ったも

元記事を表示

関数

“`py:1
def say_hi():
s = ‘Hi’
return s

result = say_hi()
print(result)
“`

“`:1に実行結果
Hi
“`

“`py:2
def what_is_this(color):
if color == ‘赤’:
return ‘トマト’
elif color == ‘緑’:
return ‘きゅうり’
else:
return ‘わかりません。’

r = what_is_this(‘赤’)
g = what_is_this(‘緑’)
w = what_is_this(‘白’)

print(r)
print(g)
print(w)
“`

“`:2の実行結果
トマト
きゅうり
わかりません。
“`

元記事を表示

【小ネタ】Pythonでtimestamp取得

# はじめに
超小ネタで恐縮ですが、表記の手順に関して自分用メモとして

# コード

“`py3
# タイムスタンプ取得

from datetime import datetime
from pytz import timezone
utc_now = datetime.now(timezone(‘UTC’))
jst_now = utc_now.astimezone(timezone(‘Asia/Tokyo’))
ts = jst_now.strftime(“%Y%m%d-%H%M%S”)
print(ts)

“`

# 結果例

“`
20200106-182252
“`

今回は、ユニークなファイル名の一部を作る目的でこのような書式にしましたが、“”%Y%m%d-%H%M%S”“の部分を書き換えれば、いろいろなパターンに応用可能です。

元記事を表示

【Python】変数の定義と使い方

#変数とは
プログラムの可読性を上げるためのもの。
他人が書いたプログラムを読むことは簡単な事ではないが、
他人が理解できるような読みやすいプログラムを書くことは、
自身のコーディングミスの低減に繋がる。
#変数の種類
変数にはいくつか型がある。
例えば、リスト型や辞書型、データフレーム型など状況に応じて適切な変数を利用することで
コーディングがしやすくなる。
これらの型とは別に変数は文字型の変数と数値型の変数の二種類に分けることが出来る。
これらの違いの一つは、演算(+,-,*,/)が使えるかどうかである。
本記事では、文字型の変数、数値型の変数の宣言の仕方を記述する。

#変数の宣言
変数を宣言するときには**変数名**が必要になる。
**=に対して、左側が変数名**である。変数名は自由に決定することが出来る。(厳密には予約語を除く)
一方で、**=に対して、右側が変数名に対する値**となる。
変数は一度宣言したあと、何度でもそのプログラム中で用いることが出来る。
**文字型変数の宣言方法**は、**””ダブルクォーテーション**で囲むことである。
一方で数値型の変数の宣言は、その

元記事を表示

眺めて覚えるC言語 その2 PythonからC言語を呼ぶ(引数) string

“`capi.py
import myModule as capi
print(capi.Message(“こんにちは、日本”))

実行する
capi>python capi.py
こんにちは、日本
こんにちは、日本
“`

“`capilib.c
#include

static PyObject* Message(PyObject* self, PyObject* args){
char* str;
if (!PyArg_ParseTuple(args, “s”,&str)){
return NULL;
}
printf(“%s\n”,str);
return Py_BuildValue(“s”, str);
}
// Function Definition struct
static PyMethodDef myMethods[] = {
{ “Message”, Message, METH_VARARGS, “Prints Message”},
{ NULL }
};
stat

元記事を表示

【Python】print関数

#Print関数でできる事
メッセージや変数の中身を表示することができる。
#メッセージを表示する
メッセージを表示したい場合は、**ダブルクォーテーション**で表示内容を囲むこと!

“`python3:print.py
print(“ここに表示したいメッセージを記入する”)
# output = ここに表示したいメッセージを記入する
“`

#変数の中身を表示する
変数の中身を表示したい場合は、print()内にそのまま記入する。
変数に文字を格納する場合は、**ダブルクォーテーションが必要**。
変数に数値を格納する場合は、**ダブルクォーテーションは不要**。

“`python3:print.py
text=”あいうえお”
print(text)
# output = あいうえお
“`
#メッセージ+変数の中身の表示する方法
いくつかの方法がありますが、ここではその一例を示します。
使う関数は**format()**です。
**format()**は**文章内の{x}にformat()内のx番目の変数を対応させる関数**です。

“`python3:print.py

元記事を表示

眺めて覚えるC言語 その1 PythonからC言語を呼ぶ(hello world)

### pythonにできないことをするには、C言語が便利。
#### GO言語は、C言語に比べ便利で速いが十中八九ポインターでハマる。なぜなら値でインターフェイスされるから(by Valueが基本でby referenceが不得意)ポインターで渡してもindexを取ることができない。
– スピード向上など
– ライブラリ化
– 実験設備を制御したい。
– 直接IOを読み書きしたい。
– C言語用インターフェイスは、用意されているのにPythonのための用意がない。
##では、「眺めて覚える」主旨に基づいて例文を見ていきましょう。
必要なものは、

1. GCC
** gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0**
2. Python
**Python 3.7.4**
3. Visual studio code のような高度なエディタ
**Version: 1.41.1 (system setup)**
**OS: Windows_NT x64 10.0.18362**

# 最初の一歩
適当な

元記事を表示

discord.pyでTaskに引数を渡す

# 前提
– discord.py 1.3.0
– python 3.6

# 注意
この記事に出てくるコードは説明用に記載しているため、実運用を想定したものではありません。
用途に合わせて適切に書き換えてくださいね。

# やりたいこと
`Task`に引数を渡したい

# なぜやりたいか
基本的に定期実行するTaskはbotの起動時に開始することが多いと思う。
ただ、時には、コマンドなどで開始タイミングや送信先チャンネルなどを制御したいことがある。
例えば、 **「今から30分間だけ5分ごとに指定のチャンネルで時報をメンションしてほしい」** みたいな。

ところが、現状discord.pyのドキュメント内には、Task (https://discordpy.readthedocs.io/ja/latest/ext/tasks/index.html) が引数をとるような例がない。

# 方法

まずは、定期実行したいTaskに普通に引数を追加しておく。
例えば上記を例にして、コマンドが入力されたチャンネル内でコマンドを送信した人にメンションを送る場合を考える。
この場合だと、コマン

元記事を表示

AMIバックアップを取るLambdaファンクション(Python3系版)

## 初めに
コチラの記事の2系から3系に上げたときの話です。
https://qiita.com/Hiroyama-Yutaka/items/9fab02438dc22c0b85ea

Python2系のサポートが2019/12末で無くなりました。
一応1年は動くようにしておくけど、3系に上げてくださいね。とAWSからメールが来ております。
その時の修正内容を備忘録的に書いておきたいと思います。

“`Python3
#!/usr/bin/python
# -*- coding: utf-8 -*-

import json

import boto3
from boto3.session import Session

import time
from datetime import datetime as dt

import pprint

TAG_KEY_BACKUP_GENERATION = ‘Backup-Generation’
TAG_KEY_AUTO_BACKU

元記事を表示

discord.pyでcogをnestする

# 前提
– discord.py
– python3.6

この記事中のコードはあくまで説明用の簡略化されたコードなので、ナンセンスなコードしか登場しません。
ご了承ください。

# cogが複雑化してきた
discord.pyのコマンド拡張 (https://discordpy.readthedocs.io/ja/latest/ext/commands/index.html) には、cogといういくつかのコマンドやイベントをひとまとめにする機能があります。
このように

“`python:hoge.py
from discord.ext import commands as c

class CogHogeFuga(c.Cog):
def __init__(self, bot, hoge):
self._bot = bot
self._hoge = hoge

@c.command()
async def hoge1(self, ctx):
await ctx.send(“hoge”)

@c

元記事を表示

OTHERカテゴリの最新記事