暇つぶし2chat TECH
- 暇つぶし2ch294:デフォルトの名無しさん
19/02/20 10:51:51.66 BBElsiq0.net
>>260
俺、いつもエディタ(geditやGeanyやVS code使ってる)の横にターミナル開いといて、
ソース保存→ターミナルで $ python3 xxx.py→エラー→エディタで編集・保存→ターミナルで再実行(↑&Enter)→ エディタで編集・保存....
てな感じでやってるんだけど、エディタから実行したほうがやっぱり便利なんですか?

295:デフォルトの名無しさん
19/02/20 11:03:36.79 spTGKHkg.net
>>282
煽りとかじゃなくて逆に聞きたいんだけど、
vs code使ってターミナルで実行する意味(メリット)がわからないんだけど。
vs codeのブレークポイントとか利用しないって事?

296:デフォルトの名無しさん
19/02/20 13:38:56.65 gRk6WtzR.net
>>113
YouTubeで北神雄大を検索。

297:デフォルトの名無しさん
19/02/20 18:06:26.32 uB83dASb.net
python書くエディタとIDEで人気なのは、pycharmとvscodeかね

298:デフォルトの名無しさん
19/02/20 18:08:20.36 ICk0Y2AW.net
Atom...(小声)

299:デフォルトの名無しさん
19/02/20 18:13:40.84 NaL8/JA7.net
Spyder...(小声)

300:瘋癲の錬金術師
19/02/20 18:17:46.89 gK0qpGCl.net
>>287
あれええな、組み込みターミナルがqtconsoleでインラインプロットもJupyter同様にできる
VSCodeでなんとか使えないかと試したけど無理だった
VSCodeが弱いFortranも書くので環境統一のためnvim+qtconsoleにした

301:デフォルトの名無しさん
19/02/20 18:17:47.79 3A0CDvTh.net
Eclipse にインストールしようとして、エラーが出てからほったらかし(超小声)
そもそも、venv anaconda eclipse が強調して動いてくれるんかよ。

302:デフォルトの名無しさん
19/02/20 19:52:42.43 v7iPz90J.net
>>266-267
意味はある
継承してみれば判る

303:デフォルトの名無しさん
19/02/20 19:54:36.31 v7iPz90J.net
>>270
and は二つ目の条件も成立するかどうか評価するからな

304:デフォルトの名無しさん
19/02/20 19:56:21.10 v7iPz90J.net
>>280
sejukuはクソだから貼らなくていいよ

305:デフォルトの名無しさん
19/02/20 20:30:34.29 0GDprFxB.net
そういや侍エンジニアの騒動は鎮火したのか?

306:デフォルトの名無しさん
19/02/20 20:34:51.41 jOZlK4md.net
pythonでのWEBスクレイピングって、過去の更新情報も見れたりするのかな?

307:デフォルトの名無しさん
19/02/20 21:49:50.49 aaH1DDBC.net
何を浚うか指定できないのか?

308:デフォルトの名無しさん
19/02/20 21:55:37.90 EgtCXVwu.net
>>294
Pythonやスクレイピングは魔法でも超能力でもありません

309:デフォルトの名無しさん
19/02/21 02:54:29.18 kxn9bd4Y.net
The camel has two humps (working title)
Saeed Dehnadi and Richard Bornat School of Computing, Middlesex University, UK
February 22, 2006

310:デフォルトの名無しさん
19/02/21 05:22:18.25 kxn9bd4Y.net
>>295
URLリンク(i.imgur.com)

311:デフォルトの名無しさん
19/02/21 07:26:25.64 8rp9UCEX.net
初心者スレの内容に合うか分からないけど質問させて
最近は作るときに凝集度とか結合度、クラスの責務とかも気になるようになったんだけどじゃあ具体的にどう作るべきかが分からない
何をどう勉強しようか て状態なんだけどデザインパターンを学べばいいのかな?これも大切だけど自分が学びたい内容とは少しずれてるようで…

312:デフォルトの名無しさん
19/02/21 08:55:18.20 Daclfccm.net
>>283
すみません。見え張ってました。VS Codeは数回使ってみだけで、基本的に元通りgedit使っちゃってます。

313:デフォルトの名無しさん
19/02/21 14:34:58.79 y1fIYiTV.net
NIC(ネットワークインターフェイス)が複数あるPCで、
requestsを実行する際にNICを指定してGETなりPOSTなりをしたいのですが、
方法が分かりません、requests自体にその手のパラメータはなさそうですが…。
どなたかお教えください。

314:デフォルトの名無しさん
19/02/21 15:19:27.90 YDJO8R6Z.net
層が全く違うぞ
どういう意味だ?

315:デフォルトの名無しさん
19/02/21 15:38:13.68 1URmNQhh.net
>>301 NICを指定することはできないんじゃないの? そもそも何をしたいの?
複数のNICが同じLANに出ていけばどちらを経由しても行きつく先は同じだけど。
もしこんなことをやりたいのか?
NIC-1 >> LANのIP-1にだけ繋がってる
NIC-2 >> LANのIP-2にだけ繋がってる
それでIP-2につなぎたいからNIC-2を使いたいとか?
だったらNICなんか気にせずに接続しに行けばつながる方にしかつながらない。

316:デフォルトの名無しさん
19/02/21 15:44:20.15 y1fIYiTV.net
>>302
分かりにくかったらすいません…
例として、PCにそれぞれ別のグローバルアドレスを持ったNICが二つあって(AとB)、
あるWebサーバーへの通信(=最終的にやりたいのはrequestsのGET/POST)はNIC-A経由で通信する、
また、別のWebサーバーへはNIC-B経由で通信する、ということをしたいのです。
かえって分かりにくいでしょうか…?

317:デフォルトの名無しさん
19/02/21 15:46:43.29 y1fIYiTV.net
>>303
説明が足りずすいません、上に書いたとおり、NICはそれぞれ別のグローバルIPを持っていて
且つ、通信先はインターネット上のWebサーバーです。
接続先によってNIC(というかソースIP)を使い分けて通信したいのです。

318:デフォルトの名無しさん
19/02/21 15:59:09.52 auY8mpXd.net
>>305
皆の質問の意図を理解できていないよ
なぜ、
>接続先によってNIC(というかソースIP)を使い分けて通信したいのです。
わざわざこんな使い分けをしたいのか、その理由を聞かれている
普通はソースIPを分けなくても接続できるから

319:デフォルトの名無しさん
19/02/21 16:40:54.57 yAj8ZZjm.net
>>305 何か理由があってどうしてもやりたいのなら、ルータなりでIPルーティングをすれば出来るけど。
静的ルーティングの設定 - Linux
URLリンク(qiita.com)
この場合だとNICの選択もできる。

320:デフォルトの名無しさん
19/02/21 16:41:32.97 VKoyYoRj.net
>>306
そんなもんプログラムじゃなくてもっと下層層でやることや

321:デフォルトの名無しさん
19/02/21 17:21:39.12 y1fIYiTV.net
>>307
スクレイピングやWEB-APIを叩くときに、ratelimitが厳しいサイトがあるのでほんの少しそれを緩和したいのです。
ありがとうございます、ルーティングをいじってしまうのは最初に考えたのですが、環境は外部のVPSで(また説明不足ですいません)
基本リモートでいじっているので、そのあたりどうなるのかなぁと、明日また試してみます。
また、調べたところCurlとかだと何かIFを指定するパラがあるようですが、横着ですが今のコードをあまり変えたくなくて。

322:デフォルトの名無しさん
19/02/21 17:42:34.88 MuHdm1tt.net
>>309 じゃ、curl と同じ様にしてみたら?
# curl -I --interface eth0 URLリンク(www.yahoo.co.jp)
#python
def message_api(request):
req = requests.post('URLリンク(www.yahoo.co.jp)' \
--verbose \
--get


323: \ --interface=‘eth0’ --data 'text=おはようございます' \ --data 'appkey=xxxxxxxxx') print(req)



324:デフォルトの名無しさん
19/02/21 20:41:02.67 Xsa0ee+G.net
>>299
pythonで作って学ぶデザインパターンみたいな物がほしいね
オブジェクト指向が何となくわかっても使い方がよくわからん(´・ω・`)

325:デフォルトの名無しさん
19/02/21 21:16:21.39 3FyMMC5r.net
実践 Python 3

326:デフォルトの名無しさん
19/02/21 22:23:48.06 rZ10GU5L.net
>>312
一回マジでしゃぶってもらえませんか

327:デフォルトの名無しさん
19/02/22 00:02:47.01 4wGjWw5c.net
>>304
手動で、
 Aが来たら有線LAN[A]を繋げて
Bが来たら有線LAN(A)を抜いて、有線LAN[B]を繋げる

328:デフォルトの名無しさん
19/02/22 00:57:21.96 tDPXA70g.net
>>309
じゃあサブプロセス使ってcurlで実行しちゃえばいいんじゃないの?

329:デフォルトの名無しさん
19/02/22 01:10:21.20 PLvaKLdQ.net
>>310
ヒドイw

330:デフォルトの名無しさん
19/02/22 13:47:21.78 no4Nr2T0.net
NICを指定してrequestsの件、Pythonで出来ました。
requests_toolbeltというmoduleを組み込むことで、ちょっと搦め手ですが、source IPからNICを
指定してmountすることが出来ます。(ここには参考になる人はいなそうですがw)
以上。

331:デフォルトの名無しさん
19/02/22 21:06:15.39 d1khp6TM.net
ええやん

332:デフォルトの名無しさん
19/02/23 11:43:34.06 +DV3f+Dk.net
伊勢の名物

333:デフォルトの名無しさん
19/02/23 12:26:45.82 lot8ckD6.net
国産のRuby叩かれすぎワロタ

334:デフォルトの名無しさん
19/02/23 12:40:42.89 1QjCNYhv.net
このスレに限るなら、叩かれているのはほとんどRubyガイジのせいだろ
目の前をうろうろする羽虫みたいなもんだ

335:デフォルトの名無しさん
19/02/23 12:48:40.53 +DV3f+Dk.net
自業自得

336:デフォルトの名無しさん
19/02/23 14:39:26.54 lot8ckD6.net
劇場で数十年ぶりに復活したCity Hunter
冴羽獠の愛銃Python3xxと日本でも流行りのPython3の因果関係

337:デフォルトの名無しさん
19/02/24 09:29:08.59 iJEnzY0p.net
デスクトップアプリはpythonとjavascriptどっちがいいんでしょうか

338:デフォルトの名無しさん
19/02/24 10:00:32.60 QKZEiFxx.net
C#

339:デフォルトの名無しさん
19/02/24 10:02:11.33 5XYYe3Vz.net
>>324
Electronがあるから今の流行りは圧倒的にJavaScript
昔ながらのWinアプリが作りたいんならC#

340:デフォルトの名無しさん
19/02/24 10:23:34.56 iJEnzY0p.net
あっちこち手をつけるのも大変なのでjavascriptでやってみます
でもelectronッテメモリ悔いますよねなぜか

341:デフォルトの名無しさん
19/02/24 10:31:16.66 8D34p5sx.net
なぜ32GBモデルにしなかったんだろ俺のバカバカ!ってね

342:デフォルトの名無しさん
19/02/24 12:49:35.63 fR/HEchoE
コードの質問です。
sys.pathの各ディレクトリの関係図を辞書とリストによるツリーのような階層構造で
表現しようと試行錯誤してますが、まったくいいコードが書けませんorz
書ける方がいましたら教えてください。

【sys.path】
['C:\\Users\\81802\\PycharmProjects\\PlayGround',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\lib',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg']

【表現したい形】
{'C:\\Users\\81802\\':
[{'PycharmProjects\\PlayGround\\':
['',
{'PycharmProjects\\PlayGround\\venv\\':
['',
{'lib\\site-packages\\':
['


343:setuptools-39.1.0-py3.7.egg', 'pip-10.0.1-py3.7.egg']}]}]}, {'AppData\\Local\\Programs\\Python\\Python37\\': ['', 'python37.zip', 'DLLs', 'lib']}]}



344:デフォルトの名無しさん
19/02/24 13:10:54.97 fR/HEchoE
329の【表現したい形】は一部誤り。正しくはこちらです。

【表現したい形】
{'C:\\Users\\81802\\':
     [{'PycharmProjects\\PlayGround\\':
          ['',
          {'venv\\':
               ['',
               {'lib\\site-packages\\':
                    ['',
                    'setuptools-39.1.0-py3.7.egg',
                     'pip-10.0.1-py3.7.egg']}]}]},
     {'AppData\\Local\\Programs\\Python\\Python37\\':
          ['',
          'python37.zip',
          'DLLs',
          'lib']}]}

sys.pathのグループ分けをし、
【common_path】
['C:\\Users\\81802',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages']
は得ることまではできました。

345:デフォルトの名無しさん
19/02/24 14:53:09.92 YwY0sV++.net
>>324
python

346:デフォルトの名無しさん
19/02/24 15:01:02.77 h7ByRKin.net
VBの一択だな

347:デフォルトの名無しさん
19/02/24 16:35:42.81 57VgR7IR.net
>>328
そんなにメモリ喰うの?

348:デフォルトの名無しさん
19/02/24 17:24:23.04 7HrBRrfk.net
>>333
win10だと16gだと足りないよ。
ソフトによるけど。

349:デフォルトの名無しさん
19/02/24 17:33:29.69 r06CB5Xe.net
昔ながらのデスクトップPCやサーバー機みたいな拡張とパーツ交換自在な時代なら最初16GBでも後から増設できたのに今時のモバイルなプログラム環境は半田付けされていて購入後に構成変更できないから辛いね

350:デフォルトの名無しさん
19/02/24 17:41:27.91 9Sd/QbRT.net
交換式にしたらスペース食うからねえ。
モバイルでもメモリとストレージは変更出来るってのも既に過去の話だな。
完全に買った時に全て決まるようになってしまった。

351:デフォルトの名無しさん
19/02/24 17:51:55.81 +6ZRRI/z.net
>>335 今時のPCでも、スロット数が少ないから、何年かしたらもうボードから買い換えるしか無いよ。
諦める事だな。
(全てが寿命に近づいてるから捨てる。)
ただ、買った直後にそのPCで動かないのがあったら、諦めて別の方法を探った方が吉。

352:デフォルトの名無しさん
19/02/24 20:14:36.77 r06CB5Xe.net
PCはスマホやタブレット、2 in 1とかにコモディティ化&低価格化してきてるからブラックボックスで使い捨てになるのも仕方ないのかも

353:デフォルトの名無しさん
19/02/24 20:21:36.39 +6ZRRI/z.net
>>338 もう何台もPCを自作してきたが、あとで拡張しようと思って作ってても、いざ拡張する時になると時代遅れで結局捨ててしまう。
だってメモリだって新しいメモリは使えないし、新しいCPUは使えないし、何が拡張だ。
ほとんど全てのパーツが寿命に近づいてるから全てを新しくした方が安心できる。 何度壊れて痛い目にあったことか。

354:デフォルトの名無しさん
19/02/24 20:26:06.19 iK4D+UQi.net
横からだが、今時古いメモリやCPUでもそれほど違わん。
(最近はAMDのお陰で急速にコア数増えたが)
物欲抑えれば全然現役で行ける。
(それでも性能追うのが浪漫なのは否定せんが)

355:デフォルトの名無しさん
19/02/24 20:35:10.14 r06CB5Xe.net
IDEとOfficeとブラウザとテキストエディタとレタッチソフトとiTunesぐらいなら十分すぎるぐらいCPUは進化したけれど
4K以上の動画編集とかVRとかデスクトップ科技計算とかみたいなヘビーユースだとCPUもGPGPUも最先端を追うしかないね

356:デフォルトの名無しさん
19/02/24 20:39:21.47 9Sd/QbRT.net
>>339
あるあるだな。
やはり買うときに思い切って買わないといかんな。
モニタやキーボードはタイミングずらす。車検が被らないように増車したりバイク買う感じ。

357:デフォルトの名無しさん
19/02/24 20:42:46.42 rYs6roSD.net
>>339
>ほとんど全てのパーツが寿命
今年思い知った件
ほんと


358:>>342だは



359:デフォルトの名無しさん
19/02/24 22:22:06.63 mG+2Y3tM.net
pythonのクラスメンバへのアクセスのことで質問です
クラスのメンバに次の2通りの方法でアクセスしたいのです。
(1)ピリオドを使ってアクセスする
(2)辞書のようにアクセスする
それぞれ単独では実現できるのですが、両方同時に成立させる
ことが出来なくて困っています。
最初に(1)のために次のように実装してみます
class Foo():
  def __init__(self, x):
    sel.x = x
  @property
  def x(self):
    return self.x
  @x.setter
  def x(self, x):
    self.x=x
これだとエラーになるためxを_xにすると上手くいきます
しかしそうすると__dict__がxではなく_xをキーとしてしまうため
def __getitem__ を実装してもキーはxではなく_xになるため
f=Foo()とすると
(1)のアクセスは f.x
(2)のアクセスはf["_x"]
ということになってしまうのです。
(1)も(2)も同じキーでアクセスできるように出来ないでしょうか?

360:デフォルトの名無しさん
19/02/24 22:28:23.99 mG+2Y3tM.net
追記ですみません
メンバ変数は値を更新した際に自動的に他の処理も呼びたいため
setterを必要としています。

361:デフォルトの名無しさん
19/02/24 22:34:22.09 dOn5ud/R.net
x.setter()等の仕様がそうだから仕方ないんじゃ?

def __init__(self, x):
  self._x = x

def get_x(self):
  self._x = _x
x = property(get_x,set_x, del_x)
やってないけど

362:デフォルトの名無しさん
19/02/24 22:39:07.56 dOn5ud/R.net
あるいは中に仕込むか
@x.setter
def x(self, x):
  self.x = x
  self._x = x

363:デフォルトの名無しさん
19/02/24 22:43:09.76 2N6WWWAR.net
うちsandybridgeだけど当面買い換える予定ないぞ
グラボは入れ替えたが

364:デフォルトの名無しさん
19/02/25 00:00:08.65 LEqgxgt7.net
>>344
適当に辞書作ってsetattr,getattrをsetitem,getitemにマッピングすればOK
Class Foo():
_dic = {}
def __setitem__(self, key, val):
self._dic[key] = val
def __getitem__(self, key):
return self._dic[key]
__setattr__, __getattr__ = __setitem__, __getitem__
こうすれば
f = Foo()
f['x'] = 10
f.x
でアクセスできる

365:デフォルトの名無しさん
19/02/25 00:10:04.15 PZlQ37TI.net
>>349 なんか黒魔術みたいだな。

366:デフォルトの名無しさん
19/02/25 00:15:42.13 W+H8OHl9.net
いや、辞書への挿入で更新もしたいならそれが正しい
_xはデバッグ用途と思って更新を考えない簡略版で答えた

367:デフォルトの名無しさん
19/02/25 00:24:18.98 PZlQ37TI.net
>>349 全く始めたばかりで何もわかっていないんどけど、みんながpython の内部を改良していくためには必要な情報だけど、こんな事をpythonユーザーに正式に開放してるの?

368:デフォルトの名無しさん
19/02/25 00:31:37.32 LEqgxgt7.net
>>352
公式ドキュメントの組み込み関数にサンプルコードがあるよ
でも自分が学んだのはエキスパートPythonプログラミングという本かな
公式ドキュメントも分かってしまえば分かりやすいけど、無機質な感じがして読みにくい

369:デフォルトの名無しさん
19/02/25 00:32:00.78 uKYGHYXp.net
「暗示するより明示せよ」
がpythonの設計思想のひとつだからな
別に珍しいことでもない
LISPなんかはユーザーが自由に言語設計をいじれすぎて
無数の方言が作られているしな

370:デフォルトの名無しさん
19/02/25 00:38:04.31 SRxcknzj.net
>>349
メンドクセーッ!

371:デフォルトの名無しさん
19/02/25 00:40:49.46 PZlQ37TI.net
>>355 だよな。 言語仕様としてできないものはできないで良いだろ。 言語仕様じゃ無いんだろ?
黒魔術は闇の世界で使う技術。

372:デフォルトの名無しさん
19/02/25 02:53:38.38 9+tyf5TU.net
いや、attr系やitem系操作するのは、
他の言語の演算子のオーバーロードと
同じ感じテイストづし、珍しくも無い。

373:デフォルトの名無しさん
19/02/25 11:22:12.78 Opp/wdL5.net
>>344
Hoge.__dict__ を作るだけでいける

374:デフォルトの名無しさん
19/02/25 20:13:54.92 +kysiU+6.net
Python初学者どころかプログラム初学者なのですがそんな人にも使いやすいIDEはありますでしょうか?ググった所PyCharmやアナコンダなどがありましたが皆様の意見もご参考にさせて頂ければと

375:デフォルトの名無しさん
19/02/25 21:07:11.42 Ey4Q/htY.net
初心者こそpycharmを使うべし
タイポも変数のundefinedもpep違反も全部赤ペン先生で指摘してくれる

376:デフォルトの名無しさん
19/02/25 21:36:21.30 dXFOGwmu.net
有料版使ってる人いるのかな

377:デフォルトの名無しさん
19/02/25 21:39:49.74 h8G0r/CT.net
>>359
PyCharm、VisualStudio

378:デフォルトの名無しさん
19/02/25 21:48:25.21 +kysiU+6.net
>>360>>560
PyCharmですかありがとうございます入れてみます
Visual StudioはVScodeというものですよね?py以外も色々できると聞いて気になってはいたのですがPython3を使うには設定が必要で初心者にはしんどいと聞いて及び腰です、、

379:デフォルトの名無しさん
19/02/25 21:51:26.82 +kysiU+6.net
未来にレスしてしまった
>>362ありがとう御座います

380:デフォルトの名無しさん
19/02/25 22:51:43.04 Huj6YV9p.net
Visual StudioとVisual Studio Codeは別物
前者がIDE、Codeはエディタ
Codeの方は.pyを初回に読み込んだ時にpython拡張インストールした方がいいよと言われるので指示に従えばいいだけ

381:デフォルトの名無しさん
19/02/25 23:50:17.81 +kysiU+6.net
なるほど別物なんですね
vsコミュニティとかもあってややこしいです
教えて頂いたVisual StudioとPyCharmを使えるようになってそれからアナコンダにステップアップして行きたいと思います

382:デフォルトの名無しさん
19/02/26 00:15:19.10 hK50uex+.net
いやWindowsだといきなりAnaconda入れるのが一番無難で簡単で手っ取り早いぞ
そしてAnacondaは開発環境としてVSCodeを推奨してるからVSCodeおすすめ

383:デフォルトの名無しさん
19/02/26 00:26:09.34 hKlKYH4W.net
俺はVSCodeと素Pythonを押すね
Anacondaは最初は使わん機能ばっかだし

384:デフォルトの名無しさん
19/02/26 01:03:36.19 6/9JHzaI.net
Winなのに素python+Atomの俺は圧倒的少数者だと分かった

385:デフォルトの名無しさん
19/02/26 01:12:55.28 pkMMAEQe.net
アナコンダはジュピターノートで書くのはわかっていますがセルの仕様が独特、アナコンダ用のプロンプトがあるなどで初心者向けではないよと言われたのですがそうでもないのですか?

386:デフォルトの名無しさん
19/02/26 07:23:43.12 VSDQz9S9.net
考えるよりダウンロードして簡単なプログラム書いてみなよ。無料なんだし。
少し使ってみて不自由を感じたら他を試せばいい。

387:デフォルトの名無しさん
19/02/26 09:06:58.73 fq9lYmyM.net
vscodeはjupyterみたいにも使えるしね
ブレークポイントつけれたりデバッグ出来るのは初心者には有難い
会社の低スペックPCだとストレス溜まりまくりだからやむなくjupyter使うけど…

388:デフォルトの名無しさん
19/02/26 12:55:41.05 ePz6Ki1y.net
Android用のpython環境をオススメしてください

389:デフォルトの名無しさん
19/02/26 13:49:43.50 8hsOp8y1.net
今はvim上でターミナル使えるようになったから、WindowsでもgVim使ってる
Pythonは公式で配ってるインストーラで入れて、必要ならvenv使う
管理が楽

390:デフォルトの名無しさん
19/02/26 15:10:50.48 lleTMO6w.net
副業で大学教員やってるからPyCharmのPro版を無償で使えてる
PyDevやSpyderにイライラして結局vimで書いてたけど乗り換えた
学生さんはPyCharm使うといいよ

391:デフォルトの名無しさん
19/02/26 15:13:01.67 8+7ktUtN.net
>>373
S4A
以前は Windows + Python2 素のインスコで使ってて
Python3 に乗り換えたときに
(Windows で) Anaconda でインスコして使ってるけど
全然問題無いわ
368 は明らかに事実誤認

392:デフォルトの名無しさん
19/02/26 15:13:46.29 8+7ktUtN.net
typo した
S4A じゃなくて SL4A

393:デフォルトの名無しさん
19/02/26 15:32:01.94 s53snE6v.net
>>373
ない
なぜならば、AndroidでPythonを開発しようということ自体がオススメできないからだ

394:デフォルトの名無しさん
19/02/26 17:21:21.96 1yUj9TwU.net
>>373 自分はAndroidを使っていないけど、良さそうじゃん。
Android上でPython3が利用できるPydroid3がスゴイ
URLリンク(pineplanter.moo.jp)

395:デフォルトの名無しさん
19/02/26 17:27:22.38 1yUj9TwU.net
>>378 あまり堅苦しく考えないで良いじゃん。
いつでもどこでも使えるスマホは、練習用としては使えるよ。 解説書を読みながらちょっと試してみるとか。
Google の colab とか使ってWeb で作る手もあるけど、ネットが繋がっていないと使えなかったり、ちょっともたつく気がする。
ローカルで使えるに越したことはない。

396:デフォルトの名無しさん
19/02/26 17:56:25.83 T0vQDev8.net
>>373
termuxでapt install python

397:デフォルトの名無しさん
19/02/26 19:22:35.54 EZFWpudG.net
多倍長整数演算を高速化する方法はありますか?
numba使うと正しい結果が出ない
たぶん内部で浮動小数点数に置き換えてる

398:デフォルトの名無しさん
19/02/26 19:31:36.49 1yUj9TwU.net
>>382 やったことないけど、浮動小数点数の桁数を指定するんじゃダメ?

399:デフォルトの名無しさん
19/02/26 20:03:11.69 FOtxANKO.net
>>382
多倍長整数なのに実は浮動小数でやっていましたではオイオイだろ

400:デフォルトの名無しさん
19/02/26 20:37:19.08 EZFWpudG.net
どうも整数の間違いでした
今日、階乗を計算していたんですが
20!までは正しいが21!で失敗します
2^63-1を超えるのが原因でしょう

401:デフォルトの名無しさん
19/02/26 21:08:14.74 IBhh82RD.net
組み込み関数のmath.factorial()は正しく21!を返すのに…

402:デフォルトの名無しさん
19/02/26 22:44:26.23 4zwtaCfi.net
>>376
>>378
>>379
>>381
ありがとう
オススメしてもらったpydroid3使ってみたけどエディタで片手でフリック入力出来なかったのとコピペが非常にやりにくかったのです
電子書籍の参考書のサンプルプログラムをコピーして貼り付けする時にやはりどうしてもエディタ画面で両手使うのはしんどかった
SL4Aは開発が止まっているようなので
今回はやめといた

403:デフォルトの名無しさん
19/02/27 07:42:07.40 L5IXP2k2.net
>>378
確かにandroidでpythonを開発するのは超初心者には荒行でしかないわな
でも、やりたいのはandroidのpythonでの開発だからw

404:デフォルトの名無しさん
19/02/27 09:22:59.83 dPGb0bDo.net
お客さんそんなことしても悟りは得られないよ

405:デフォルトの名無しさん
19/02/27 14:31:55.97 6BQDuKk1.net
>>385
再帰で書いてない?
forで書けば上手くいくはず。
Pythonは多倍長整数だからメモリ一杯になるまで大きな数を表現できるので、再帰でスタックが溢れたと思われ。

406:デフォルトの名無しさん
19/02/27 15:12:55.08 qFMaDdKD.net
√2× √6= 2√3
みたいに√つけたまま演算できるライブラリないですかね
勝手に小数点付き数字に変えられてうんざり
3π × 2n= 6nπ
みたいなの�


407:燉~しいです。



408:デフォルトの名無しさん
19/02/27 15:17:26.74 PApWA4xG.net
そういう処理を自動でしたいがためのプログラミング。

409:デフォルトの名無しさん
19/02/27 15:42:22.04 AFI97rHS.net
>>391
scipy
sympy

410:デフォルトの名無しさん
19/02/27 19:01:19.46 CWPXM8YW.net
>>391
Androidの開発環境聞いてきた人と同じひと?
それならないかなぁ

411:デフォルトの名無しさん
19/02/27 20:54:44.82 kap/FwCb.net
djangoで掲示板やら、ブログやら作ってみたんだけど
djangoでできることってこんぐらいしかないの?
なんかやれることがもっとあると思ってたんど、意外と底が浅かった感じがした
djangoでゲームアプリできないの?

412:デフォルトの名無しさん
19/02/27 21:06:17.28 FvpNE2Tw.net
ゲームアプリ作りたいならそれ用のツールを使ったほうが早いんじゃね
pythonだとアドベンチャーゲーム作成ツールのren'pyとかくらいしか知らないけど

413:デフォルトの名無しさん
19/02/27 21:21:26.34 kap/FwCb.net
>>396
あとはpygameとかでやるしかないのか

414:デフォルトの名無しさん
19/02/27 21:23:42.28 FvpNE2Tw.net
ツールに合わせて言語を選ぶのもひとつの選択肢だよ
pythonでゲームも作れなくはないが
UnityとC#を使う方が手っ取り早いと思う

415:デフォルトの名無しさん
19/02/27 22:36:18.56 CtFD2cZF.net
>>395
お前の発想力の問題

416:デフォルトの名無しさん
19/02/27 22:45:24.69 qFMaDdKD.net
>>393
Sympy が良さげですね

417:デフォルトの名無しさん
19/02/28 02:17:13.47 DbAr3TBt.net
sympyないわー

418:デフォルトの名無しさん
19/02/28 02:31:01.44 43+kEwYn.net
Sympyは酷いね…何故SciPyのサイトのトップに掲げられてるのか理解しかねる
Deprecatedなnumpy.Matrixクラス依存で、各種ルーチンにshape制限まである
標準Pythonでないが、どうせコード配布するようなものでなし、Sageを薦める

419:デフォルトの名無しさん
19/02/28 07:34:11.13 VZy78oyi.net
maximaからsympyへ移行したけど評判悪いのか。sageは初めて聞いた、けどjupyter上では使えないのかな。

420:デフォルトの名無しさん
19/02/28 07:51:36.17 43+kEwYn.net
>>403
maximaがバックエンドの一つだよ、拡張Pythonによるmaxima等フリーの各種コンピュータ代数ソフトを詰め込んだ欲張りラッパ
つまり機能的には最強であることは間違いない
Pythonコードもほぼそのまま書ける

421:デフォルトの名無しさん
19/02/28 07:55:03.91 43+kEwYn.net
.nbみたいのも見掛けたな、REPLがグローバルインポートですごく使いやすくなってるんで触らんが

422:デフォルトの名無しさん
19/02/28 11:29:58.64 VA9IyXO4.net
pycファイルがあると良いことあるんですか

423:デフォルトの名無しさん
19/02/28 11:43:46.54 3raA7S0b.net
>>404 コンパイルするための時間が無くなり早くなる、コンパクトになる。

424:デフォルトの名無しさん
19/02/28 13:25:46.66 COpOP1tt.net
>>403
sympy使ってるけど虚数込みの数式処理で伝達関数を導出しているけど困ってはいない
Mathematicaで作った処理を全部試そうとは流石に思わないが、そこそこ行ける

425:デフォルトの名無しさん
19/02/28 14:37:06.17 VA9IyXO4.net
>>407
ありがとうございます

426:デフォルトの名無しさん
19/02/28 14:41:29.11 4d6byY1q.net
クラスとか継承とかどうやって覚えたのよ
コード書きながら覚えるのが手っ取り早い?

427:デフォルトの名無しさん
19/02/28 15:04:31.53 4Fcnv2BB.net

URLリンク(www.amazon.co.jp)

428:デフォルトの名無しさん
19/02/28 15:49:34.46 4d6byY1q.net
>>411
すげえ難しそう

429:デフォルトの名無しさん
19/02/28 15:53:21.03 4Fcnv2BB.net
知らない単語が並んでると難しそうに感じたりするが
中身は大した事ない
糞本読んで無駄な時間使うよりマシだと保証

430:デフォルトの名無しさん
19/02/28 16:03:54.54 K7dGf2QC.net
>>410 この辺りは?
URLリンク(www.amazon.co.jp)

431:デフォルトの名無しさん
19/02/28 16:24:16.52 4d6byY1q.net
>>414
読み放題で無料だから見てみたけどわかりやすいかも

432:デフォルトの名無しさん
19/02/28 18:20:17.96 aNlcuW5k.net
設計図は出来てるけどどう作ればいいかわからなくて困ってます
GUI画面で例えば入力欄Aに10文字Bに10文字A.Bを何文字出すか決める場所(A3なら入力枠Aからランダムに3文字選ぶ)、そしてA出力枠B出力枠にだす ということを目指してるのですがTkinterで出来ますか?これをググれみたいな事があれば教えて頂けると幸いです

433:デフォルトの名無しさん
19/02/28 19:35:45.99 mQj8H4X5.net
>>416
むろんできるぞ
何文字出すか決める入力欄を0.1秒ごとくらいに見張るようにプログラムくめ
んで
何か入力されたら出力する
あるいは
ジェネレートボタンを押したら計算して出力する
みたいな

434:デフォルトの名無しさん
19/02/28 19:49:33.86 aNlcuW5k.net
>>417
出来るんですね!ありがとうございます
Tkinter検索しても細い入力欄に出力一つ、と単純な物ばかりだったのでこれはちがうのかな?と ほんとに初心者なので見張らせるよりはボタン式にしてみます
ちなみtkinterの設計でオススメのサイトはありますか?

435:デフォルトの名無しさん
19/02/28 20:28:35.13 mQj8H4X5.net
tkinterの「設計」サイトはしらんなー

436:デフォルトの名無しさん
19/02/28 20:29:16.48 iWcjMiIh.net
数字列をリスト化したいのです。
内包記述使わずに短い記述教えて下さい。

#入力
3 13 24 45 50
#出力
[3, 13, 24, 45, 50]
#書いてみました ループ使わない方法が分かりませんでした
t_input = input().split()
t_time =[]
for i in range(0,5):
 t_time.append(int(t_input[ i ]))
print(t_time)
#因みに内包表記
t_time = [int(s) for s in input().split()]
print(t_time)

437:デフォルトの名無しさん
19/02/28 20:30:19.88 mQj8H4X5.net
「tkinter python3 ボタン」あたりでggるといいかもしらん

438:デフォルトの名無しさん
19/02/28 20:32:02.62 SMvRd1sf.net
map(int, input.split())

439:デフォルトの名無しさん
19/02/28 20:32:12.00 mQj8H4X5.net
>>420
入力は必ず5データぶんなのか?
ループ使って書いてるほうほう、それだと長いデータきたさいに対応できなくないか

440:418
19/02/28 20:35:59.31 iWcjMiIh.net
>>423
とりあえす5個でお願いします。5個以上も対応可能でも良いです。

441:デフォルトの名無しさん
19/02/28 20:37:14.95 mQj8H4X5.net
>>422がイイ(・∀・)  >>424

442:418
19/02/28 20:50:36.95 iWcjMiIh.net
>>422
mapって初めて知ったけど柔軟に対応出来るんですね
内包記述だと未だ変換の流れが理解できないです もうちょい頑張ってみます
ありがとうございました  

443:デフォルトの名無しさん
19/02/28 20:53:26.78 KtyAfxmO.net
自分も超初心者なので練習
x='1 2 3 4 5'
m=map(int, x.split())
print(x)
print(x.split())
print(list(m))
# 1 2 3 4 5
# ['1', '2', '3', '4', '5']
# [1, 2, 3, 4, 5]

444:デフォルトの名無しさん
19/02/28 20:57:13.41 mQj8H4X5.net
>>421>>418

445:デフォルトの名無しさん
19/02/28 21:46:53.78 2bTQVOdg.net
なぜ for x in イテラブル とせず for x in range(n) でインデックスを取ろうとするのかがわからない
宗教上の理由でもあるのか

446:デフォルトの名無しさん
19/02/28 21:54:52.10 aNlcuW5k.net
>>428
ボタンはなんとかなりそうですけど入力欄から文字拾


447:って指定した数ランダム出力が大変そう、、 頑張ってみます



448:デフォルトの名無しさん
19/02/28 22:45:24.44 q6d6kpjr.net
python3でmapがジェネレータ返すようになったの未だに慣れない

449:デフォルトの名無しさん
19/02/28 22:56:22.40 DbAr3TBt.net
python2のほうがプログラミング自体の初心者には分かりやすかったよな

450:デフォルトの名無しさん
19/02/28 23:54:03.99 /+wdq6fK.net
>>429
イテラブルを知らないからだろ(当然イテラブルであるための条件も知らない)
Pythonはclassを使ったオブジェクト指向言語だけど
でも、はじめからclassを作ってあーだこーだではなくC言語のように使うんだと最初教え込まれるからな。
C#やjavaのようにhello worldを表示するにもclassが出てくるんではなく
Cようにprint(...)ではクラスへの道のりは遠く、で、イテラブルなクラスは
超絶な遠さのところにある感じだからな。
と言うことで、初心者はCのようにfor x in range(n)にしてやるんだぞと教え込まれる。
クラスへまでの道のりは遠いから超初心者スレではクラスの質問はほとんど出ない

451:デフォルトの名無しさん
19/03/01 01:29:34.36 VzgI02J9.net
>>427
自分も超初心者であります!
頑張りまっす!!

452:デフォルトの名無しさん
19/03/01 01:37:09.00 KH61c5UP.net
関数がオブジェクトなのは比較的こんなのでも実感できるのでは?
p = print
p(‘Hello World’)
# Hello World

453:デフォルトの名無しさん
19/03/01 02:18:07.97 8KTg+fim.net
インデックスでアクセスしようがイテラブルの参照でアクセスしようがプログラマの勝手だと思うけどな
Python自体文法の制約でプログラマに自由を与えない思想だから、ルールの押しつけはしょうがないとも思うけど
正直インデントの制約は正気の沙汰とは思えないけどな

454:デフォルトの名無しさん
19/03/01 03:20:06.33 hj2Lx6Rs.net
なら正気の沙汰の言語のスレに行けばいいものを

455:デフォルトの名無しさん
19/03/01 07:00:47.58 OviG+/BX.net
プログラミング言語の設計をしようとする時点で脳のどこかに欠陥を抱えている
正気の沙汰の言語などない

456:デフォルトの名無しさん
19/03/01 07:05:12.14 GYGnZVsf.net
つーかrangeってiterableなんだけど知らないのか?

457:デフォルトの名無しさん
19/03/01 09:21:38.59 VWbcPJmE.net
それなw

458:デフォルトの名無しさん
19/03/01 10:16:21.42 wtu2VuQe.net
さっき初めてPythonのコードを見た初心者なんですが、コピペでインデントずれたら中身読んで手動でインデント直すしかありませんか?

459:デフォルトの名無しさん
19/03/01 11:50:19.46 RkKCNcIA.net
>>441 自分のソースの中に他人のソースをコピーするような場合?
それしかない。 

460:デフォルトの名無しさん
19/03/01 11:57:42.41 oRvPnA6O.net
インデントがずれないようにコピペする

461:デフォルトの名無しさん
19/03/01 12:35:18.99 aHTh+udf.net
shift+tab

462:デフォルトの名無しさん
19/03/01 13:19:46.04 ozM8zBQ9.net
2ちゃんのスペース表示仕様まで変えてしまった言語がPythonである

463:デフォルトの名無しさん
19/03/01 16:55:36.37 KMRxw/mf.net
スペースを短くする一括変換の方が早いと思うな。 特にいやらしいのはタブ記号の混在。最初にタブが入ってたらスペースに変換。

464:デフォルトの名無しさん
19/03/01 19:24:25.32 GYGnZVsf.net
だからインデントもまともにできない初心者はpycharm使っておけって
ズレてたら教えてくれるから

465:デフォルトの名無しさん
19/03/01 21:29:48.58 5XyBzD+m.net
誰がずらだコラァ

466:デフォルトの名無しさん
19/03/01 22:18:46.58 8KTg+fim.net
生え際がシンタックスエラー

467:デフォルトの名無しさん
19/03/01 23:35:13.62 hJuXK+uz.net
>>449
つ 座布団一枚

468:デフォルトの名無しさん
19/03/02 01:41:54.42 0Z7GU3hQ.net
>>447
インデントすらまともにできない奴はプログラミングは無理だから
別なことをしろだろ

469:デフォルトの名無しさん
19/03/02 09:15:34.90 c+fDdYHP.net
pythonのソースコードをフォーマットするのには、みんなautopep8を使ってるのかね

470:デフォルトの名無しさん
19/03/02 10:09:48.63 xbKWWazw.net
ほうほう
俺ちゃんはそんなものしらないので
秀丸とsakuraエディタで手作りです

471:デフォルトの名無しさん
19/03/02 11:49:49.14 nqwTLRnH.net
インデントした区間が終わって一段元に戻るとき
テキストファイルのソースだと空行無くても大丈夫なのに
インタプリタとかIDEのときは空行入れないといけないのが不満
(理由は判るけど)
これなんともならんのかね

472:デフォルトの名無しさん
19/03/02 11:54:02.70 og4HVKiE.net
>>452 便利そうだな。 入れないと損なのか。
URLリンク(githubja.com)

473:デフォルトの名無しさん
19/03/02 13:44:48.85 A7lhNiPK.net
PyConだかで取ってたアンケではyapfが大半だったと思う
次いでautopep8とBlack

474:デフォルトの名無しさん
19/03/02 15:03:01.69 R507/Kbo.net
>>456
URLリンク(github.com)
ここをみて pip install yaps は出来たが、使い方が今一解らん。

475:デフォルトの名無しさん
19/03/02 15:07:05.06 R507/Kbo.net
>>457 悪い悪い、yapf だったね。 シェルコマンドとしてのコンバータとして動くのか。

476:デフォルトの名無しさん
19/03/02 15:10:35.42 R507/Kbo.net
eclipse などのIDEだと入力中に自動整形してくれるのかな。

477:デフォルトの名無しさん
19/03/02 17:33:58.54 qdo3sOAM.net
>>451
sexか?

478:デフォルトの名無しさん
19/03/02 21:35:47.51 la2Rs48k.net
pythonista3を買ってみたけど文字打ったり補完した後に文字打とうとしたら上書きされたりする
描きにくすぎて辛い

479:デフォルトの名無しさん
19/03/02 21:39:59.70 zLUw08oC.net
>>452
flake使ってる

480:デフォルトの名無しさん
19/03/02 23:00:34.12 yB7kTQ7C.net
flakeもフォーマット機能あるんか
linterだと思ってた

481:デフォルトの名無しさん
19/03/03 01:13:01.16 vKWKyL5A.net
>>461 意味不明。 print() が出た後に() の中にカーソルは残ってるから描きやすいと思うけどな。
‘’ を出しても中にカーソルはあるし。 どんな場合?
文字が小さいから特定の文字を訂正したりとか言うときはなかなかカーソル位置を合わせるのがうまくいかないことはあるけどそれはスマホの宿命。 画面が拡大出来ると良いと思うけどな。

482:デフォルトの名無しさん
19/03/03 01:19:51.31 ffCrW6pd.net
tkinterをいじっていて入力ボックスの文字を
command = lambda:test_fanction(txt.get()))で取って
def test_fanction(txt):
 print(random.choice(txt))でランダム一文字ずつだせたはいいんですが
ボックス内の文字を一文字ではなく指定したn文字数ランダムに取り出す
というのとthinker内でそのn文字も指定できるようにしたいということで悩んでます
お力添え願えませんか?

483:デフォルトの名無しさん
19/03/03 01:31:12.61 vKWKyL5A.net
pythonista の中に reformat としてPEP8 が入ってるのに今気づいた。
しかし、PEP8にしろ、yapf にしろ、空白3個と空白4個の混在の場合エラーを出すだけで自動で修正してくれないんだな。
タブサイズは自動的に変更してくれるけど。

484:デフォルトの名無しさん
19/03/03 03:05:14.33 YqozNVoh.net
>>464
例えばpと打ったら補完機能で上にprint()とでるじゃないですか?
そのprint()を押したら何故かpのとこにカーソルがあってそのままaを押したらpがaに変わってarintになるんです。
そこにカーソルがあると次候補や開業も押せない

485:デフォルトの名無しさん
19/03/03 04:47:35.44 vKWKyL5A.net
>>467 そうはならないけどな。() の中にカーソルは来るよ。
壊れてるんじゃないの、消して再ダウンロードしてみたら?

486:デフォルトの名無しさん
19/03/03 08:56:14.39 RP7OXEaJ.net
)))が3つ以上連なると見にくいから)) )にしたりするな、もちろん見にくさによるけど
慣習より読みやすさ

487:デフォルトの名無しさん
19/03/03 09:06:35.38 R+BaZbTo.net
>>465
def test_fanction(txt):
  ここにnを指定してるボックスからnを取得する命令を書け
  n = int(n)
  txt = ''
  for i in range(n):
    txt += random.choice(txt)
  print(txt)
あと、どーでもいいことだが、
(txt.get()))
      ↑ここのとじかっこ一つ余計

488:デフォルトの名無しさん
19/03/03 09:07:38.78 uQiZZFNH.net
というか素人スギ

489:デフォルトの名無しさん
19/03/03 09:07:55.13 uQiZZFNH.net
fanation w

490:デフォルトの名無しさん
19/03/03 09:09:26.05 R+BaZbTo.net
>>470
おおう
txtがゲシュタルト崩壊しとった
訂正
def test_fanction(txt):
  ここにnを指定してるボックスからnを取得する命令を書け
  n = int(n)
  hoge = ''
  for i in range(n):
    hoge += random.choice(txt)
  print(hoge)
より望ましくは、hogeはcharactarsみたいな、意味を持つ語にしてやってくれ

491:デフォルトの名無しさん
19/03/03 09:11:11.71 R+BaZbTo.net
>>471
スレタイを読んでから
美しいお手本回答を見せてくれ

492:デフォルトの名無しさん
19/03/03 09:27:27.29 uQiZZFNH.net
>>474
イヤどす

493:デフォルトの名無しさん
19/03/03 09:36:06.45 R+BaZbTo.net
じゃあ
とりあえず
しゃぶれよ

494:デフォルトの名無しさん
19/03/03 10:06:47.90 uQiZZFNH.net
>>476
しゃぶるくらい別にいいけどさ
言っておくがそれセクハラだぞ

495:デフォルトの名無しさん
19/03/03 10:12:44.52 R+BaZbTo.net
>>477
いいんだw
「とりあえずしゃぶれよ」は5chのお約束ヤジの一つだわな
現実で言ったらたしかにやばいw

496:デフォルトの名無しさん
19/03/03 10:23:46.84 uQiZZFNH.net
>>478
確かにやばいw
が、別にいいんだぜ

497:デフォルトの名無しさん
19/03/03 10:26:05.53 R+BaZbTo.net
>>479
じゃあ
ケツ貸せよ は・・・? (・∀・)ドキドキ!

498:デフォルトの名無しさん
19/03/03 10:28:10.10 uQiZZFNH.net
>>480
それだけは断る!
断じてことわる!!

499:デフォルトの名無しさん
19/03/03 10:28:50.13 R+BaZbTo.net
>>481
だめかー
・・・・・・もしかして→ (´・ω・`)ぢぬし?

500:デフォルトの名無しさん
19/03/03 12:07:09.41 CoMPR6UA.net
>>473
ありがとう御座います
あれからn取得用入力ボックスを作って色々やっていたのですが、test_fanction内でn取得までできるのですか?乞食で申し訳ないのですが書き方を教えて貰っても大丈夫でしょうか?

501:デフォルトの名無しさん
19/03/03 12:41:36.16 CoMPR6UA.net
>>483
連投すいません
自分が考えた事はn取得ボックスsuを作って取得ボックスボタンを作り新しく
def suji_fauction(su):を作ってそこに最初と同じくボタンcommand=lambda:suji(su.get())でnをどうにかしてからtest_fanctionに持って行って取ったtxtからランダムn個抜き出すという事でしたが、どうにかするがどうにもならなかったです 見苦しい長文失礼しました

502:デフォルトの名無しさん
19/03/03 12:51:44.12 pC3Iiu0Z.net
入力されるデータが 1ならx = int(input())いけるんですが
1 1 1とかの時はx = input().split()で毎回使うときにint(x)するしかないのですか

503:デフォルトの名無しさん
19/03/03 13:12:36.69 R+BaZbTo.net
>>483-484
「ここにnを指定してるボックスからnを取得する命令を書け」の行に
インデントに注意して
n = su.get()
って書いて桶

504:デフォルトの名無しさん
19/03/03 13:13:49.16 R+BaZbTo.net
>>485
 >>422がイイ(・∀・)こといってるぞ

505:デフォルトの名無しさん
19/03/03 13:52:46.99 TIqzUsNF.net
>>422がどうでもイイ(・∀・)  >>424

506:デフォルトの名無しさん
19/03/03 13:53:53.23 CoMPR6UA.net
>>486
ありがとうございますできました
頭良いとこんなにあっさり簡単な書き方でやるんですね、、

507:デフォルトの名無しさん
19/03/03 14:01:22.48 R+BaZbTo.net
>>489
できてなにより
Tkinterの .get()についてのとことかもうちょいよくよんだほうがいいとおもうぞ

508:デフォルトの名無しさん
19/03/03 15:05:14.48 Mep2BbSH.net
>>490
defの使い方も怪しいので.get()と合わせて読んでみます
勉強させて頂きました

509:デフォルトの名無しさん
19/03/03 15:20:36.94


510: ID:R+BaZbTo.net



511:デフォルトの名無しさん
19/03/03 19:50:54.96 VNvwXmTw.net
ひろゆきもpythonやってるらしい。

512:デフォルトの名無しさん
19/03/03 19:51:23.37 TIqzUsNF.net
あいつにできるのかよw

513:デフォルトの名無しさん
19/03/03 20:12:32.61 dhbLYAZm.net
perlを相当使ってたみたいだからpythonくらい余裕でしょう

514:デフォルトの名無しさん
19/03/03 20:30:57.29 VNvwXmTw.net
>>494
三日で習得して、awsの履修証明賞もらったから相当覚えいいと思う。

515:デフォルトの名無しさん
19/03/03 20:42:59.22 gg9Mx1QB.net
>>494
恥ずかしくない?

516:デフォルトの名無しさん
19/03/04 05:10:47.25 DAN4+o0x.net
せいぜいがんがれや

517:デフォルトの名無しさん
19/03/04 15:35:02.66 OGwzbJO+.net
ハゲめ

518:デフォルトの名無しさん
19/03/04 17:34:27.74 BFAQ4JyJ.net
ひろゆきプログラミングについて語る
URLリンク(www.youtube.com)

519:デフォルトの名無しさん
19/03/04 18:12:43.10 56/Jbqfw.net
>>500
グロ
死ね

520:デフォルトの名無しさん
19/03/04 22:59:17.85 0UjSVc4r.net
ひろゆきにプログラミングできるのかよw

521:デフォルトの名無しさん
19/03/04 23:38:23.95 9d3FcJ2N.net
プログラミングでのし上がった奴だぞ

522:デフォルトの名無しさん
19/03/05 03:28:01.72 VDry4yCP.net
スレチ
イタチ

523:デフォルトの名無しさん
19/03/05 04:21:05.92 6CrjVVG4.net
老害はとっとと犠牲にして差し上げて

524:デフォルトの名無しさん
19/03/05 05:20:53.55 QbJvjFwd.net
>>499
北神雄太

525:デフォルトの名無しさん
19/03/05 07:33:05.52 zhtHOsGL.net
質問です。
やりたいこと:画面上で動いたものの検知をしたい
ImageGrab.grab().save("frame_pre.png")
frame_pre = cv2.imread("frame_pre.png")
frame_pre = cv2.cvtColor(frame_pre, cv2.COLOR_RGB2GRAY)
while True:
ImageGrab.grab().save("frame_next.png")
frame_next = cv2.imread("frame_next.png")
frame_next = cv2.cvtColor(frame_next, cv2.COLOR_RGB2GRAY)
img_diff = cv2.absdiff(frame_next, frame_pre)
frame_pre = frame_next
という感じにしています。
ですがめちゃくちゃ遅いです。
ImageGrab.grab().save("frame_next.png")で何回も上書き保存しているからだと思いますが
他に方法はありますか?

526:デフォルトの名無しさん
19/03/05 07:35:00.11 Ok/9AxrB.net
よくhogeとか名前つけてる人がいますけどhogeって伝統的なものなんですか?

527:デフォルトの名無しさん
19/03/05 08:07:30.38 0SMIqw+w.net
>>508 そうだよ。 日本では hoge 英語だと、foo , bar が使われる。
URLリンク(dacelo.space)

528:デフォルトの名無しさん
19/03/05 09:13:58.12 DIrFqE8l.net
hoge fuga piyo
foo bar baz

529:デフォルトの名無しさん
19/03/05 09:52:58.71 BXQcWGGg.net
ホゲホゲ

530:デフォルトの名無しさん
19/03/05 10:04:27.98 BMXqmTyM.net
forループのときの「i」とか「j」はなんなんだよ

531:デフォルトの名無しさん
19/03/05 10:34:23.57 DIrFqE8l.net
文句は数学に言え

532:デフォルトの名無しさん
19/03/05 10:36:52.25 DIrFqE8l.net
それともI(愛)の前にHがある
じゃあI(愛)の次に来るJってなんだ?
ということか?

533:デフォルトの名無しさん
19/03/05 11:02:11.75 mnGOhC/5.net
慈愛かなんかじゃねぇの。
自慰とか

534:デフォルトの名無しさん
19/03/05 11:15:27.58 /6VFWsqW.net
>>507
案1. ファイルに書き出さないでBytes.ioを使う
案2. ファイルの書き出す先をRAMディスクにする

535:デフォルトの名無しさん
19/03/05 11:57:14.36 HwCl8Q1J.net
>>507
ファイルじゃなくてメモリ上でやるのはもちろんだし
多少精度は落ちるが
画面をリサイズしてから比較する
予備的に処理入れて
引っかかったものだけ全体比較検査する

536:デフォルトの名無しさん
19/03/05 11:59:44.40 HwCl8Q1J.net
>>514
愛JKだな

537:デフォルトの名無しさん
19/03/05 12:01:27.7


538:6 ID:BXQcWGGg.net



539:デフォルトの名無しさん
19/03/05 16:13:55.69 /w4kwDux.net
oとpするイテレーション

540:デフォルトの名無しさん
19/03/05 18:08:43.40 yUBkGE+g.net
文字からunicodeを取得したいのですが、うまく行きません。お助け下さい
文字列にdecode属性は無いと言われるのですが、何が問題なのでしょうか
URLリンク(i.imgur.com)
参考にしたページは以下です
>>> 'いろは'.decode('utf-8')
u'\u3044\u308d\u306f'
URLリンク(qiita.com)

541:デフォルトの名無しさん
19/03/05 18:21:59.46 Fbwgj3J5.net
pythonエンジニア認定試験とかいうのを受けるんやけどどうやって勉強しよう
模擬試験1個しかないし過去問に似たような問題とか落ちてないよなあ

542:デフォルトの名無しさん
19/03/05 18:31:55.02 7lWO2Eg6.net
>>521
組み込み関数のord()を使うのが正解
for x in "いろは" : print(hex(ord(x)))
で0x3044,0x308d,0x306fが取得できる
単にord(x)だと10進数のやつになる

543:デフォルトの名無しさん
19/03/05 18:32:57.79 fIhIM0AX.net
>>522
プログラミング言語の資格なんてクソの役にも立たないから、気楽に受ければいいよ

544:デフォルトの名無しさん
19/03/05 18:37:17.26 yUBkGE+g.net
>>523
ありがとうございます!できました!

545:デフォルトの名無しさん
19/03/05 18:43:39.13 yG+1nA7g.net
>>516
>>517
ありがとうございます。メモリ上でというのが理想ですが
やり方がわかりません。もっと勉強してきます。

546:デフォルトの名無しさん
19/03/05 18:48:35.51 jEZ1EKzD.net
>>521 ‘いろは’ はstr だからだよ。
s = ‘いろは’
b = s.encode()
とバイト列などにすれば、
b.decode()は出来るよ。 ただ目的とは違うだろうけど。
UTF-8 はデフォルトだがら指定しなくて良い。

547:デフォルトの名無しさん
19/03/05 19:39:23.62 xsrwNvaN.net
>>507
一度保存せずともnp.asarray()でgrabしたのをnumpy配列に変換できるからあとはOpenCVで処理できる

548:デフォルトの名無しさん
19/03/05 20:18:03.67 apIwEZzG.net
m = 1
x = 0.8
print(m,x,m-x)
↑こちらを実行すると 引き算が0.199・・となるんですけど
1 0.8 0.19999999999999996
変数に入れた通りの解答 0.2にするにはどうすればよいのでしょうか?

549:デフォルトの名無しさん
19/03/05 20:41:40.15 7lWO2Eg6.net
>>529
URLリンク(docs.python.org)

550:デフォルトの名無しさん
19/03/05 20:49:10.69 /6VFWsqW.net
>>526
ソースコード見る限りImageGrab.grab()がimageを返しそうだから
frame_pre = ImageGrab.grab()

frame_next = ImageGrab.grab()
として
saveの行とimreadの行を削除してみたらどう?

551:デフォルトの名無しさん
19/03/05 20:58:16.68 CbSwC66k.net
>>529 f文字列を使ったら?
print(x,y, f'{x-y:.1f}' )
# 小数点以下1桁表示

552:デフォルトの名無しさん
19/03/05 21:03:22.55 yUBkGE+g.net
"%s" % "foo"
この%ってprintfみたいな感じと思うのですが、
これはなんというのでしょうか?

553:デフォルトの名無しさん
19/03/05 21:11:42.23 /6VFWsqW.net
>>531
>>528の言う通りnp.asarrayでキャストしないとエラー出た
つまり
frame_pre = np.asarray(ImageGrab.grab())
とする

554:デフォルトの名無しさん
19/03/05 22:16:33.26 fIhIM0AX.net
>>533
廃棄物や老害とでも呼べばいいんじゃないかな
Python3で非推奨になった時代遅れの演算子だから今すぐに忘れなさい

555:デフォルトの名無しさん
19/03/05 22:40:50.70 apIwEZzG.net
>>530 奥が深いんですね 考慮しなきゃいけない事色々あって嵌りそう
>>532 当面f文字列で対応してみます
ありがとうございます!

556:デフォルトの名無しさん
19/03/05 22:43:50.05 yUBkGE+g.net
>>535
非推奨なんですね、ありがとうございます

557:デフォルトの名無しさん
19/03/05 22:50:11.98 7Yqzn8cc.net
>>537
代わりにformat()使おうね

558:デフォルトの名無しさん
19/03/05 23:09:19.30 gSGf6yDl.net
a = [d * 2 for d in 'abcde']
print(a)
abcdeを5こずつ表示とかってできますか?

559:デフォルトの名無しさん
19/03/05 23:23:03.46 eDzk8k/k.net
abcdeを5こずつ表示って
abcde abcde abcde abcde abcde
abcde abcde abcde abcde abcde
.....
と表示したいってことか?

560:デフォルトの名無しさん
19/03/06 00:06:23.49 3F/qov+q.net
>>540
はいです

561:デフォルトの名無しさん
19/03/06 00:10:06.28 XQpJaTFA.net
インタプリンタでこれ実行したらFalseなんですけど何をもってFalseと判断してるのか分かりません
(1,3,5) < (1,2,7)

562:デフォルトの名無しさん
19/03/06 00:10:39.87 R/1sU7PR.net
分岐のコメントってifの上か下、どちらが良いでしょうか
# 処理内容はxxx
if flg
# 処理内容はxxx
処理内容…

563:デフォルトの名無しさん
19/03/06 00:55:19.44 oR6mPeK7.net
>>542
そうですか

564:デフォルトの名無しさん
19/03/06 00:56:10.88 3F/qov+q.net
>>542
falseになる理由を教えてください

565:デフォルトの名無しさん
19/03/06 00:59:18.54 PXi0ytZJ.net
>>545
前から順番に比較していって同じなら次を比較し、異なるならそこで結果を返す
この場合は3と2を比較して3 < 2 は False となる

566:デフォルトの名無しさん
19/03/06 01:37:14.91 Wfp2djOX.net
>>542
(a,b,c) < (d,e,f) は a<d or b<e or c<f と同じ

567:デフォルトの名無しさん
19/03/06 02:12:47.95 ctS44w1M.net
お前ら嘘ばっか教えるんじゃないよ
(1,3,5) < (1,2,7)

135 < 127の比較、当然 135がデカいからFalse
>>542 絶対、信じろ

568:デフォルトの名無しさん
19/03/06 02:23:21.55 Uli2bEJM.net
>>539-541
Ruby なら文字列に、掛け算(*)演算子も定義されているから、これだけ
puts "abc" * 3
#=> abcabcabc

569:デフォルトの名無しさん
19/03/06 05:37:29.57 MPL4boGu.net
リスト内を小さい順に並び替えて行く処理を書いてみた。
URLリンク(ideone.com)
上記ソースをリスト内包表現で実現できそうで色々試したりしましたがうまく行きませんでした。
もしリスト内包表現で表現できるならどう書けばよいのかご提示宜しくお願いします。

570:デフォルトの名無しさん
19/03/06 05:37:46.06 A0Y4tMZt.net
>>547
>>> (1,3,5) < (1,2,7)
False
>>> 1<1 or 3<2 or 5<7
True
>>548
>>> (1,3,5) < (1,2,7,9)
False
>>> 135 < 1279
True

571:デフォルトの名無しさん
19/03/06 07:42:57.04 3F/qov+q.net
>>546
>>547
>>551
ありがとうございます。
理解できました

572:デフォルトの名無しさん
19/03/06 08:25:20.58 bBth0ZZS.net
>>542 正式ドキュメントのチュートリアル 5.8に詳しく書いてある。
要素を最初から辞書的に1つずつ比較。片方の要素がなくなれば終わり。
適切な比較順序がない場合は、インタープリターは TypeError 例外を発生させます。
(1, 2, 3) < (1, 2, 4)
[1, 2, 3] < [1, 2, 4]
'ABC' < 'C' < 'Pascal' < 'Python'
(1, 2, 3, 4) < (1, 2, 4)
(1, 2) < (1, 2, -1)
(1, 2, 3) == (1.0, 2.0, 3.0)
(1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)
(1,2,3)<(1,'2',4) は、エラーになる。

573:デフォルトの名無しさん
19/03/06 08:51:37.17 f/NWPYTA.net
>>549
死ね

574:デフォルトの名無しさん
19/03/06 11:29:05.92 R/1sU7PR.net
withってどういう時に使うのが良いでしょうか
明示的に「これを中心にしたブロックです」と言いたいということでしょうか
変数に入れるのではダメですか?

575:デフォルトの名無しさん
19/03/06 12:44:10.04 qZuvgmSh.net
>>555
例えばファイルの読み書きの時
withを使うとブロックを抜けた時に自動でcloseされる
途中でエラーが出てもちゃんとcloseしてくれる
自前のクラスでも__enter__()と__exit__()を実装しておくとwithに入る時と出る時に呼び出されるので、前処理と後処理を忘れずにしたい時に使える

576:デフォルトの名無しさん
19/03/06 12:47:48.19 R/1sU7PR.net
>>556
ありがとうございます
これは便利ですね

577:デフォルトの名無しさん
19/03/06 12:58:50.97 pP8e2GTT.net
>>> [print(f'u{ord(_):04x}') for _ in 'いろは']
u3044
u308d
u306f
[None, None, None]
>>> [print(f'{_:02x}') for _ in 'いろは'.encode('utf-8')]
e3
81
84
e3
82
8d
e3
81
af
[None, None, None, None, None, None, None, None, None]

578:デフォルトの名無しさん
19/03/06 16:16:53.92 w73Hgmg1.net
>>556
C#のusingと理解すればよき?

579:デフォルトの名無しさん
19/03/06 17:10:04.23 +4ROOaYr.net
>>558 _ って何を表してるんだろうと思ったら、_ 1文字でも変数名として使えるんだね。
こう言う使い方は良いね。

580:デフォルトの名無しさん
19/03/06 18:21:37.77 kGjUBYU2.net
>>539-541
import sys
d='abcde'
c=0
while 1:
  sys.stdout.write(d)
  c+=1
  if c % 5 == 0:
    sys.stdout.write('\n')
  else:
    sys.stdout.write(' ')

581:デフォルトの名無しさん
19/03/06 18:57:59.23 2Etc0l5z.net
>>561 何でそんなしち面倒臭いことするの? そもそもstdoutなんて必要ないだろ。 それに無限ループは絶対にダメ。
そんなことするくらいなら、それこそ
print(' abcde '*5, '\n ')
で済む話。 複数行にしたければお好きなだけループで回せば良い。

582:デフォルトの名無しさん
19/03/06 19:18:18.39 kGjUBYU2.net
>>562
printつかうと余計な改行はいるだろ

583:デフォルトの名無しさん
19/03/06 19:22:31.40 nP+qIuYQ.net
print('abcde', end='')
とか
sys.stdout.write('abcde')
とか
面倒なのは許せ

584:デフォルトの名無しさん
19/03/06 19:24:34.96 2Etc0l5z.net
>>563 1つのprint で書けば済む話。

585:デフォルトの名無しさん
19/03/06 19:30:59.83 2Etc0l5z.net
>>564 ヘェ~、勉強になる。
>>> print(1,end=''),print(2)
12
(None, None)
このNone はなんで出るの? なんなの?

586:デフォルトの名無しさん
19/03/06 19:36:11.71 b/S1njE3.net
>>566
「関数」というのは本来「なんらかの計算をして値を返すもの」
だからどんな関数も必ず何らかの値を返す 単に複数の処理をひとつにまとめただけで値を返す必要のないものでもな
printは画面に文字列を表示するだけのものなので本来は値を返す必要はないんだが
だからってわざわざ関数とは別の仕組みを作るのは面倒臭い
だから「None(値なし)を返す関数」という形式で実装されているわけだ

587:デフォルトの名無しさん
19/03/06 19:40:21.23 b/S1njE3.net
ちなみに一応「値を返す関数」と「値を返さない手続き」を別の枠組みとして扱っているプログラミング言語も存在する
VBAのFunctionとSubがそうだ

588:デフォルトの名無しさん
19/03/06 20:04:28.41 2Etc0l5z.net
勉強になるな。
下手な入門書より2chの方がためになることも多い。 まだ入門書も適当に読み飛ばしてる段階だけど。
2ch の記事は入門者のモチベーションを高めてくれる。

589:デフォルトの名無しさん
19/03/06 21:04:59.01 XsTs8xzo.net
ふーん

590:デフォルトの名無しさん
19/03/06 21:45:22.45 muSUG44X.net
>>373
Pydroid3

591:デフォルトの名無しさん
19/03/06 23:15:48.67 2MUQBf9Y.net
ツンデレ関数 print()

592:デフォルトの名無しさん
19/03/07 00:29:00.90 1sghIh7a.net
オライリーのPythonチュートリアル分かりにくいい
これを元に資格試験を作ってるんだよね?

593:デフォルトの名無しさん
19/03/07 00:35:34.48 FPeGgUJ/.net
>>573
資格試験ってなんだ?
公式サイトの和訳のやつなら
Web版が随時アップデートされてるよ

594:デフォルトの名無しさん
19/03/07 00:53:48.36 l1bMfloe.net
>>573
Pythonに資格試験なんて存在しません
非公式の資格詐欺は知らんけど

595:デフォルトの名無しさん
19/03/07 01:01:50.93 1sghIh7a.net
>>574
>>575
資格試験って言い方が間違ってたらすまん
Python 3 エンジニア認定基礎試験てのを受けるんだけど
それの認定教材がオライリーのやつでwebで見てるんやけど
分かりにくいなって思ったそれだけ

596:デフォルトの名無しさん
19/03/07 01:15:05.56 k6ZLJER9.net
>>573 試験範囲がそこから出されると言うだけの話だよ。
公式チュートリアルと変わりない。 それの書き写しがオライリーのだから。
どちらも全くの初心者には難しいと感じるみたいだから、そう言う人は先ずその前に超初心者用的な入門書をいくつか読んだ方が良いのでは?
その類は対して読むのに時間はかからない。 ネットに落ちてるものでも十分。 ただし、自分で書いて練習することが重要。
jupyter でもなんでも良いから確認する環境を作ること。 読むだけでは身につかない。

597:572
19/03/07 01:20:20.63 FPeGgUJ/.net
>>576
洋書特有の文体だから慣れてないと違和感あるけど
言語のチュートリアルとしては良い方の部類だよ
ただ他の言語をマスターしてることが前提のところあるから
ガチ入門者なら国産の本を勧める
NECがスポンサーの試験か・・・
Pythonに力入れてるイメージはないがどうなんだろ

598:デフォルトの名無しさん
19/03/07 02:47:07.76 7hJ/R58z.net
       .,、- ' `´  ̄ ̄` ''‐ 、
      ,r'´           .`ヽ、
    /.      -t‐'''l´ .`l'‐t、 .\
   /´.        'lliiiill   lliiii!.  ヽ,
  ./       __  i,_,ノ   .i, ,!    ',  な、なんなんですか…?
  {       (´__,)    ,..., ~ (`ヽ l
  .l       - 、..,_    .l_ i  ,、-"'-、 l  ここ、どこですか…?
  .l           `i  .l,_ソ f´    .l
  ',          ノ     .l,     ,'    どうして私、こんなとこに貼られてるんですか…?
   '、       ,.、-'          .,'
   'i、  ー一 '´            /':,
    l ヽ,               ノ  }
    .l  `‐、,_          ._,.-.'   ,'
    l    `‐- 、,........,..、-‐'`     /
    .\_     ノ  l       ,/
      `'''ー‐ '´   ヽ、   _, -'
                 ̄ ̄

599:デフォルトの名無しさん
19/03/07 02:50:45.25 bl19yUau.net
殺人ピンク玉は去れ

600:デフォルトの名無しさん
19/03/07 03:49:17.97 9XzeaP/N.net
>>529
Decimal で文字列使う
URLリンク(i.imgur.com)

601:デフォルトの名無しさん
19/03/07 09:12:07.95 wzWG3iLc.net
3000円もする専門書買うよりさ、わからないことがあったらネットで調べれば無料で答えがみつかるよ。
英文でも翻訳ソフト使えばいいだけだし。
ネットで調べても答えが見つけられないやつは、そもそもプログラミングに向いてないんじゃないか。

602:デフォルトの名無しさん
19/03/07 09:42:09.79 E2eXaClF.net
公式チュートリアルで良いだろ。
Japanese 指定して一括ダウンロードすればPDFが大量にある
その中のtutorial 開くと日本語訳 tutorial (pdf版)が入手できる

603:デフォルトの名無しさん
19/03/07 09:50:54.08 IMd+ImAh.net
ソース嫁からググれカスに移行したが今ではググったらカスばっか。

604:デフォルトの名無しさん
19/03/07 11:38:00.92 Gktreo0e.net
LearnPython.orgやCodeacademyみたいにWeb上でインタラクティブシェル開いて
一つ一つお題を実行させる形式のも良いんじゃない。
読んでるだけじゃなかなか身につかないよ

605:デフォルトの名無しさん
19/03/07 14:15:07.44 N/cPeE83.net
>>567
そういえば
>>> print(1)
1
だとNoneは表示されないのに
>>> print(1, end=''),print(2)
12
(None, None)
のときだけ表示されるのは変だと思わない?

606:デフォルトの名無しさん
19/03/07 14:31:29.61 E2eXaClF.net
>>586 下はタプルだからだろ。

607:デフォルトの名無しさん
19/03/07 15:40:41.57 lgGD2eax.net
>>586
None単体の場合は表示されないようにインタラクティブシェルがなってる
>>> None
>>>

608:デフォルトの名無しさん
19/03/07 16:03:31.61 aOVGrksh.net
>>566
>>> print(1, end='') or print(2)
12

609:デフォルトの名無しさん
19/03/07 16:38:38.56 UepKFInK.net
以下のURLを参考に、フォントファイルから画像を描画しようと思っています
指定した文字がフォントファイルにあるかどうかの判定は、どのようにすれば良いでしょうか?
URLリンク(d.hatena.ne.jp)
それとも一度描画して、真っ白かどうかで判定・・・しかないでしょうか
pprintで取得したところ、参照のような感じと思いますが、以下のようになりました。
<PIL.Image.Image image mode=RGB size=256x256 at 0x13FF7DEE2E8>

610:デフォルトの名無しさん
19/03/07 16:58:16.83 aOVGrksh.net
freetypeならFT_Get_Char_Index

611:デフォルトの名無しさん
19/03/07 17:01:47.98 aOVGrksh.net
ここも参考になるかな
URLリンク(qiita.com)

612:デフォルトの名無しさん
19/03/07 17:34:33.92 UepKFInK.net
>>591-592
ありがとうございます
使い方を教えていただけないでしょうか
引数が二個必要とかいてると思うのですが
URLリンク(www.freetype.org)
実際に二個設定するとエラーがでます
import pprint
import freetype
face = freetype.Face('C:/Users/a/font/src.ttc')
pprint.pprint(freetype.FT_Get_Char_Index(face,"33"))
これはエラーになります
import pprint
import freetype
pprint.pprint(freetype.FT_Get_Char_Index("33"))
OSError: exception: access violation writing 0x000001CA5F00FF01
お助け下さい

613:デフォルトの名無しさん
19/03/07 17:49:06.09 aOVGrksh.net
先にinit呼べ

614:デフォルトの名無しさん
19/03/07 17:53:31.19 aOVGrksh.net
FreeTypeの使い方 URLリンク(qiita.com)
OpenTypeの仕様前編 URLリンク(qiita.com)
OpenTypeの仕様中編 URLリンク(qiita.com)
OpenTypeの仕様後編 URLリンク(qiita.com)

615:デフォルトの名無しさん
19/03/07 19:18:41.40 aOVGrksh.net
FONT_PATH = b'mikaP.ttf'
ft2 = ctypes.windll.freetype
ft2lib = ctypes.c_void_p()
ft2.FT_Init_FreeType(ctypes.byref(ft2lib))
face = ctypes.c_void_p()
font_path = ctypes.create_string_buffer(FONT_PATH)
ft2.FT_New_Face(ft2lib, font_path, 0, ctypes.byref(face))
idx = ft2.FT_Get_Char_Index(face, b'A'[0])
print(f'{idx:04x}') # 0023
idx = ft2.FT_Get_Char_Index(face, ord('あ'))
print(f'{idx:04x}') # 07bd
ft2.FT_Done_Face(face)
ft2.FT_Done_FreeType(ft2lib)
一応動いた

616:デフォルトの名無しさん
19/03/07 19:21:06.42 aOVGrksh.net
idx = ft2.FT_Get_Char_Index(face, ord('鷗'))
print(f'{idx:04x}') # 38c1
idx = ft2.FT_Get_Char_Index(face, ord('𠮟'))
print(f'{idx:04x}') # 0000

617:デフォルトの名無しさん
19/03/07 20:31:42.10 VtililUQ.net
>>581
これ何使ってんの?
スマホだよね?

618:デフォルトの名無しさん
19/03/07 20:32:20.69 VtililUQ.net
>>582
いい本に出逢えばそれに越したことはない

619:デフォルトの名無しさん
19/03/07 21:37:32.00 D1nw//Ty.net
>>598
Pythonista 3
iPad, iPhone のアプリ

620:デフォルトの名無しさん
19/03/08 01:56:52.91 FktPmjXq.net
i = 10
def num(arg=i):
print(arg)
i = 7
num()
iはどちらもグローバル変数ですよね?
関数の中身変えて7の方を出力させることってできますか?

621:デフォルトの名無しさん
19/03/08 02:04:22.64 Nky3or7z.net
def num(arg=None):
arg == i
print(arg)

622:デフォルトの名無しさん
19/03/08 02:05:04.82 Nky3or7z.net
def num(arg=None):
_arg = i
_print(arg)
の誤り

623:デフォルトの名無しさん
19/03/08 02:15:56.15 5FsfaYFV.net
>>601
URLリンク(i.imgur.com)

624:デフォルトの名無しさん
19/03/08 02:20:26.52 5FsfaYFV.net
>>603
URLリンク(i.imgur.com)

625:デフォルトの名無しさん
19/03/08 02:47:32.14 FktPmjXq.net
>>604
ありがとうございます
でも7になる理由がわかりません。
どういった処理になるのか教えて欲しいです、

626:デフォルトの名無しさん
19/03/08 06:55:10.03 49yeJutG.net
>>600
ありがとー

627:デフォルトの名無しさん
19/03/08 11:24:52.69 enrIbZX0.net
>>606
i = 10
def num(arg=i):
 print(arg)
i = 7
num()
この場合は、def を定義するときにarg= でarg のデフォルト値をセットする。
この時の i は 10だろ。 まだ下の行は実行されていないんだから。
i = 10
def num(arg=None):
 arg == i
 print(arg)
i = 7
num()
この時のnum内の実行文は実行されたときに動くんだから、i=7 がセットされた値を参照する事になる。
関数のデフォルト値は関数を定義したときに決定される。 関数内の実行文は実行時に決定される。

628:デフォルトの名無しさん
19/03/08 11:33:20.13 5FsfaYFV.net
>>608
>この時の i は 10だろ。 まだ下の行は実行されていないんだから。

実行されるときの i は7だろ。

629:デフォルトの名無しさん
19/03/08 12:03:17.67 JVGfVyzo.net
問題はprint(arg)が実行される時のargの値でしょ?
def num(arg=i):
の時に、argにはiへの参照が渡されるんじゃ無くて、iの値が渡されるってだけ。

630:デフォルトの名無しさん
19/03/08 13:20:03.26 enrIbZX0.net
>>609 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。
つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。

631:デフォルトの名無しさん
19/03/08 13:35:58.82 5FsfaYFV.net
それこの実行結果の前でも同じこと言えんの?
URLリンク(i.imgur.com)

632:デフォルトの名無しさん
19/03/08 13:36:28.88 0Uig+6Kq.net
仕様ですな
デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、同じ "計算済みの" 値が呼び出しのたびに使用されることを意味します。
URLリンク(docs.python.org)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch