python勉強記録

Python,Matlab,VBA主に自分用の備忘録

plotlyできれいなグラフを作るplotly-go

import plotly.graph_objects as go

#Figureオブジェクト作成
fig = go.Figure()

#traceを作成
trace1 = go.Scatter(x=[1, 2, 3, 4], y=[1, 4, 9, 16])

#traceをFigureに追加
fig.add_trace(trace1)

#レイアウトの設定
fig.update_layout(title='グラフのタイトル', 
                  width=1000,
                  height=500)

#軸の設定
fig.update_xaxes(title='横軸')
fig.update_yaxes(title='縦軸')

#グラフの表示
fig.show()

 

expressの方はdfじゃないといい感じにプロットできないから実用的でないと感じたのでgoの方を使っていく。

traceがmatplotlibにない考え方

outlookを操作 メール送信画面の表示

import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application")

mail = outlook.CreateItem(0)

mail.to = ''
mail.cc = ''
mail.bcc = ''
mail.subject = ''
mail.bodyFormat = 1
mail.body = '''
'''
mail.Attachments.Add ("C:\\Users\\---\\Dropbox\\Python\\Program\\Book1.csv")

mail.display(True)

おおむね書いてある通り

 

mail.bodtFormatは2とか3にはタスクとかが割り当てられている。

mail.display()で送信画面が出る。

送信は手動でというコンセプトのコード。

送信までPYTHONですることもできるけど、誤爆が怖いからしない。

f文字列

import math

val=700
val2=4000

print(f"私の戦闘力は{val}です")
print(f"円周率は{math.pi: .10f}")
print(f"変数は{val2=}")

使いそうなものを3つピックアップ。

基本が一個目

:で書式を指示できる

.10fは小数点以下10桁の意味

「変数=」と書くと val=1000とか出てくる。

printと組み合わせてデバッグに使う。

javaのhello world

 サンプルコード

  public class ConcatSample1 {
        static public void main(String args[]){
          String str1 = "文字列1";
          String str2 = "文字列2";
          String str = str1 + str2;
          System.out.println("+演算子による文字列の連結 -> " + str);
        }
      }
  

メイン関数がある。

strは+演算子で結合できる。

lambda式

lambda 変数 : 関数

lambda x.y : f(x,y)

無名関数を定義する

func = lambda x: x+x

y=func(2)
print(y)

a=[2,3,4]

z=list(map(lambda x:x+x, a))
print(z)

 

>>>

4
[4, 6, 8]

簡単な関数ならこのように一行で定義できる。

ついでにmapの使い方としては

map(関数 , 引数)でまとめて処理できる

リストとして返ってこないのでlist()をかけてあげる必要がある

 

z=map(lambda x:x+x, a)
print(type(z))

<class 'map'>

 

 

for文を逆に回す

reversed()関数を使う

enumerate()関数との合わせ技も可能

 

しかしどちらもリストを引数にしてgeneratorを返り値にする点に注意する。

 

x = ["my", "unlimited", "sadness"]
for i in reversed(x):
    print(i)

 

x = ["my", "unlimited", "sadness"]
for i, e in reversed(list(enumerate(x))):
    print(i, e)