hex()は渡した数字を16進数に変換してくれる関数。
print(hex(1)) '1' print(hex(10)) '0xa' print(hex(255)) 'oxff'
小数点の場合は、float.hex()を使う
print(float.hex(0.5)) '0x1.0000000000000p-1'
以上
hex()は渡した数字を16進数に変換してくれる関数。
print(hex(1)) '1' print(hex(10)) '0xa' print(hex(255)) 'oxff'
小数点の場合は、float.hex()を使う
print(float.hex(0.5)) '0x1.0000000000000p-1'
以上
Python Dayが意外と続いている。
Markdownでパパっとかけるのが良い。ボタンをポチポチやっていくよりも、サクッと記事を書くことができる。リンクを埋め込んだり、ヘッダー表示が#だけでできたり。
サクッと書けるのが何よりの魅力かもしれない。.md形式なら持ち運びもたやすいだろうし、処理系に依存しないテキストファイルなのが素晴らしい。
行頭1マス開けるのは、もういいや。紙のスペースの制約がないから、段落は一行空白にすればよい。英語も行頭を開ける必要がないからそれをマネしても良いでしょ。
書いていて楽しいのもある。文字を大きくするのもマウスでポチポチやる必要がない。mdエディタは、Typoraを使っている。記号を確定した瞬間から、ビューモードでリアルタイムに表示してくれるため、変換の様子がすぐ分かる。まぁ、変換されなくても大体わかるところもmdの魅力だ。
Python Dayは、とりあえず10日は続けていきたい。パソコンを持ち歩くのは面倒だが。Ipadでできればな。
anyは、渡されたイテラブルの要素の中で、いずれかが真(True)なら、Trueを返す。
イテラブルの要素が空ならばFalseを返す。
下のコードはリファレンスにあるもの。
def any(iterable): for element in iterable: if element: return True return False
elemntにTrueとなる要素がある時点で、returnしていることが分かる。最後までfor文を回していない。
list_ = [1, '2', "a"] print(any(list_)) True list_ = [0, 0, ""] print(any(list_)) False list_ = [0, 1, ""] print(any(list_)) True
以上!
オブジェクトの長さを返す。つまり要素の数。
numbers = [1, 2] print(lne(numbers)) 2
となる。
他のデータ構造では、
numbers = (1, 2, 4) print(lne(numbers)) 3 numbers = {1, 2, 4} #集合表記 print(lne(numbers)) 3 numbers = {"a": 1, "b": 2, "c": 4} print(lne(numbers)) 3 words = "hello" print(len(word)) 5
文字列にも、len()を使える。
以上!
ブール値であるTrueかFalseを返す。
“str”型は、文字列が”False”でもTrueを返す。空” “で無ければTrue.
print(bool('True'))
print(bool('False'))
print(bool('abcdefg'))
すべてTrue
print(bool(''))
False
数値型において”0″ではないものはすべてTrueになる。
print(bool(1))
print(bool(2))
print(bool(100000000))
print(bool(-10000))
全て True
print(bool(0))
print(bool(0.0))
print(bool(0.0000000))
print(bool(0j))
全てFalse
list、dict、tupleにおいて空でないならTrue。
print(bool([1]))
print(bool({a: 1}))
print(bool((1, 3)))
True
print(bool([]))
print(bool({}))
print(bool(()))
False
sum関数は、与えられた要素を合計する関数。
numbers = [1, 2, 3, 4, 5] print(sum(numbers)) 15
タプルや、ジェネレータ式を渡しても良い。
numbers = (i for i in range(1, 10)) print(sum(numbers)) 45 a_tuple =(1, 3) print(sum(a_tuple)) 4
開始の値を第二引数に与えることもできる。
numbers = [1, 2, 3, 4, 5] print(sum(numbers, 10)) 25 #これは、10 + 15になったため。
リストの連結もできる。
numbers = [[1], [2]] print(sum(numbers, [])) [1, 2]
sumはオブジェクト同士の足し算をしているため、このようなことができる。
例えば、リスト同士を足し算すると、
num1 = [1] num2 = [2] print(num1 + num1) [1, 2]
のようになる。
ちなみに文字列の合計?のようにするには、””.join()を使う。
words = ["h", "e", "l", "l", "o"] print("".join(words)) hello
以上!
maxとmin関数について、渡した値やリストやタプルなどの中から、最大値と最小値を取得できる。
print(max(1, 2)) 2 print(min(1, 2)) 1
複数渡すと複数の中から選ばれる。
print(max(1, 2, 10, 100)) 100
リスト渡すこともできる。
numbers = [1, 2, 3, 2, 100, 13] print(max(numbers)) 100
文字列を渡すと・・・
print(max("Z", "U", "A")) Z
文字の場合はアルファベット順になるため、最大値は”Z”になる。
max()やmin()には、キーワード引数として、keyを渡すことができる。
順序づけの関数を指定できる。
例えば、
def _key(n): return int(n) _list = [1, 2, 3, "2", "111"] print(max(_list, key=_key)) print(min(_list, key=_key)) 111 1
このように、数値と文字列が混ざっているリストから、maxやminを取得することができるようになる。
リストの中の要素は_key関数のnに渡して、int型になる。リストの要素をすべてint型に変換してから、maxとminを求めている。
lambda式も使える。こちらのほうがスマート。
_list = [1, 2, 3, "2", "111"] print(max(_list, key=lambda n: int(n))) print(min(_list, key=lambda n: int(n))) 111 1
最初はやはりHelloWorldから。
print("HelloWorld") HelloWorld
print()に文字列”Helloworld”を書くだけ。
変数を使って表現すると、
word = "HelloWorld" print(word)
になる。
print()の中で”f”文字列フォーマットを使うと、
word = "HelloWorld" print(f"{word} Python") HelloWorld Python
こんなかんじ。
数字の場合は、
print(1) 1
こう。クオートで囲む必要がない。
print(1*10) 10
四則演算もできちゃう。
f文字列の中で計算もできる。
print(f"5*10 = {5*10}") 5*10 = 50
.formatよりも見やすく、わかりやすい気がする。
比較してみる。
print(f"5*10 = {5*10}") print("5*10 = {}".format(5*10)) 5*10 = 50 5*10 = 50
うん。直観的で分かりやすい。
リストも表示できる。
numbers = [1, 2, 3] print(numbers) [1, 2, 3]
リストのアンパック表示も以下のように可能。
numbers = [1, 2, 3] print(*numbers) 1 2 3
デフォルトで改行してくれる。
print("a") print("b") a b
以下のようにすることで、改行しないこともできる。
print("a", end="") print("b", end="") ab
以上!
これからの方針など
適当にたくさん書く。テーマを絞ってとか思ったけど、雑にたくさん書いてもいい気がする。まとめていいものを書こうとすると自分のとってはハードルが上がる。現に放置していたわけだし。というかこんなブログでも毎日10人くらいは見てくれる。テキトーにたくさん書いてもいいか。
自己満足は大事だし。アフィリエイトとかも考えたが、めんどくさいし、閲覧者もほとんどいない。適当になんでも書けるのが個人ブログの良いところのはず。昔はブログが流行っていたが、一周回って、流行るかも。twitterじゃ短すぎるし、インスタは写真とコメントだけだ。
Python関係で書こうかな。一日一標準ライブラリを使うとか。行数はその都度可変で。100記事書いたら、まとめてずらっと標準してみたい。
毎日が目標だけど、できなかった一日くらい飛ばす。