Python3.6 の print関数のお話
暇つぶしにPaizaでPython をいじってた時にブチ当たった言語のバージョン問題のお話。
元々、プログラミングはC言語から始めたもので、C言語のprintf関数の非直感的な所が好きになれず、Swiftに逃げ、Adaにちょっかい出したりして、今の所Pythonに落ち着いている訳ですが、Python 3.6ではver3.5よりもprint関数が改良されていて、かなり直感的になっています。
Pythonの話に移る前に、まずSwiftのprint関数のお話。
Swiftで、print関数のダブルコーテーション(")で括った文字列の中に変数の値を埋め込むには、 \(変数名) にして一緒に記述すれば良いのは有名な話。
iPhone Xダメな所
iPhone X買って2,3日使ってみて全体的に良く出来た端末だと思う(処理速度が速くてポケ森が快適とか)けれど、キーボード選択すごくやり難くなった。
全体的に画面がデカくなってのは凄く良いけれど、その分、言語切り替え(地球マーク)までの距離が遠くて押しにくい&落としそう になる。これはよろしく無い。
↓
あと、MacもiPhoneもSiriは音声入力じゃなくてキーボード入力で使ってるのだけれど、iPhone XだとSiri画面でキーボードの言語切り替えが出来なくなってる。あまり問題は無いけれど、ちょっと違和感。
他には、簡易アクセスがデフォルトではない点。(簡易アクセスとはホームボタンをダブルタップすると画面が半分くらい下がる機能の事)
もちろん、iPhone Xでも簡易アクセスは使えるのだけれど、 設定 > 一般 > アクセシビリティ から設定しておかないと使えない。
また、以前の物理ボタンを2タップではなく、画面Dock部辺りを↓ or ↑にスライドなので、誤タッチが増えた。
全体的にはiPhone 6とかでiPhoneを使ってきた人向け端末という印象もあるけれど、良く出来た良い端末だと思うので、オススメ。
■
iPhone X 買ったら iPhone 6とのバッテリー対決したいなぁ(誰得)と思ったのでバッテリーモニターアプリ作った( ✌︎'ω')✌︎
Swift 3
サンプルコード
import UIKit class ViewController: UIViewController { @IBOutlet weak var BatteryProgress: UIProgressView! // プログレスバー @IBOutlet weak var BatteryView: UILabel! // ラベル override func viewDidLoad() { UIDevice.current.isBatteryMonitoringEnabled = true // バッテリーのモニタリングを可能にする BatteryProgress.setProgress(1.0, animated: true) // アニメーションをつける BatteryProgress.transform = CGAffineTransform(scaleX: 1.0, y: 2.0) //プログレスバーの長さと太さ let CurrentBattery : Float = UIDevice.current.batteryLevel // バッテリの値を取ってくる if (CurrentBattery == -1) { // モニタできないと -1 が帰ってくる BatteryView.text = "ERROR" } else { // モニタできる場合は 0.0 ~ 1.0 の間で値が帰ってくる BatteryView.text = "\(CurrentBattery * 100) %" } super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
OpenCV & Python 3 & コマンドライン引数 で画像をリサイズするプログラム
大学の研究室で畳み込みニューラルネットワークを使った演習を来年1月やるらしいので、そこで使う60枚の画像ファイルを用意したはいいものの、40×40の画像にしなくてはならないので、それをチマチマ縮小するのはメンドくさいと言う事で書いた( ✌︎'ω')✌︎
環境は macOS High Sierra, Python 3.6.1 , OpenCV(version 3.3.0)
#coding: utf-8 import cv2 # OpenCV読み込み import sys # コマンドライン引数を使う為 imageName = sys.argv # コマンドライン引数を変数(配列)に記録 img = cv2.imread(imageName[1]) # 配列2番目に格納されている値から画像を読み出し size = (40,40) # リサイズするサイズ 高、幅 の順 small_image = cv2.resize(src=img,dsize=size) # ココでリサイズ&変数に格納 resizedImageName = "small-[f:id:Hiro2201:20171225200159j:plain]" + imageName[1] # 生成するファイルの名前の作成 cv2.imwrite(filename=resizedImageName,img=small_image) # ファイル書き出し
==================================================================
続きを読む