【Python】C#から機能を逆引きメモ
普段C#を知っていて、Pythonをたまに使う人向けのメモ
文字列の@(逐語的文字列)はr
特殊文字を無視したい場合エスケープ文字を使いますが、パス名など複数出る場合は面倒なのでこの文字列は文字として扱え
と指定することができます。
それをC#では逐語的文字列といいます。
C#
1string myStr = @"C:\foo\bar.png";
Python
1myStr = r"C:\foo\bar.png"
但し、Pythonでは逐語的文字列内でも\
はエスケープになるので\
を末尾につけることはできません。
1# ダブルクォーテーションをエスケープしてしまうのでエラーになる
2print(r"C:\foo\bar\")
3#これならOK
4print(r"C:\foo\bar" + "\\")
5# C:\foo\bar\
Containsは 値 in リスト
リストに存在するかどうかを調べたい場合は
C#
1List<string> myList = new List<string>()
2{
3 "A","B","C","D","E"
4};
5System.Diagnostics.Debug.WriteLine(myList.Contains("B"));
6// true
Python
1mylist = ["A", "B", "C", "D", "E"]
2print("B" in mylist)
3# true
これは文字列から文字が存在するかどうかを調べたい場合も同じです
C#
1string myStr = "HelloWorld";
2System.Diagnostics.Debug.WriteLine(myStr.Contains("Hello"));
3// true
Python
1myStr = "HelloWorld"
2print("Hello" in myStr)
3# true