関数にスライスを引数として渡すことは可能でしょうか?
関数を使う度、スライスで渡したい事が起こるのですが、引数として記述するとinvalid errorが出ます。
例として、下記のコードのslice_print関数に数値表記とスライス表記と両方に対応させたいです。
slice_print_Noneのようにすれば可能であることには気づいたのですが、冗長だと思いました。
単純にスライス表記を引数として渡す方法はありませんか?
python
1#!/usr/bin/python3 2# -*- Coding: utf-8 -*- 3 4 5def main(): 6 moji = "hogehoge" 7 slice_print(moji, 1) 8 slice_print(moji, 1:4) # invalid error 9 10 slice_print_None(moji, 1) 11 slice_print_None(moji, 1, 4) # 問題なし 12 13# 引数として受け取ったmojiのsliceをprintする 14def slice_print(moji, slice): 15 print(moji[slice]) 16 17 18def slice_print_None(moji, min_slice, max_slice = None): 19 if max_slice == None: 20 print(moji[min_slice]) 21 22 else: 23 print(moji[min_slice:max_slice]) 24 25if __name__ == '__main__': 26 main() 27

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/05 11:46