string_format_modulo.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. print("%%" % ())
  2. print("=%s=" % 1)
  3. print("=%s=%s=" % (1, 2))
  4. print("=%s=" % (1,))
  5. print("=%s=" % [1, 2])
  6. print("=%s=" % "str")
  7. print("=%r=" % "str")
  8. try:
  9. print("=%s=%s=" % 1)
  10. except TypeError:
  11. print("TypeError")
  12. try:
  13. print("=%s=%s=%s=" % (1, 2))
  14. except TypeError:
  15. print("TypeError")
  16. try:
  17. print("=%s=" % (1, 2))
  18. except TypeError:
  19. print("TypeError")
  20. print("%s" % True)
  21. print("%s" % 1)
  22. print("%.1s" % "ab")
  23. print("%r" % True)
  24. print("%r" % 1)
  25. print("%c" % 48)
  26. print("%c" % 'a')
  27. print("%10s" % 'abc')
  28. print("%-10s" % 'abc')
  29. # Should be able to print dicts; in this case they aren't used
  30. # to lookup keywords in formats like %(foo)s
  31. print('%s' % {})
  32. print('%s' % ({},))
  33. # Cases when "*" used and there's not enough values total
  34. try:
  35. print("%*s" % 5)
  36. except TypeError:
  37. print("TypeError")
  38. try:
  39. print("%*.*s" % (1, 15))
  40. except TypeError:
  41. print("TypeError")
  42. print("%(foo)s" % {"foo": "bar", "baz": False})
  43. print("%s %(foo)s %(foo)s" % {"foo": 1})
  44. try:
  45. print("%(foo)s" % {})
  46. except KeyError:
  47. print("KeyError")
  48. # Using in "*" with dict got to fail
  49. try:
  50. print("%(foo)*s" % {"foo": "bar"})
  51. except TypeError:
  52. print("TypeError")
  53. # When using %(foo)s format the single argument must be a dict
  54. try:
  55. '%(foo)s' % 1
  56. except TypeError:
  57. print('TypeError')
  58. try:
  59. '%(foo)s' % ({},)
  60. except TypeError:
  61. print('TypeError')
  62. try:
  63. '%(a' % {'a':1}
  64. except ValueError:
  65. print('ValueError')
  66. try:
  67. '%.*d %.*d' % (20, 5)
  68. except TypeError:
  69. print('TypeError')
  70. try:
  71. a = '%*' % 1
  72. except (ValueError):
  73. print('ValueError')
  74. try:
  75. '%c' % 'aa'
  76. except TypeError:
  77. print('TypeError')
  78. try:
  79. '%l' % 1
  80. except ValueError:
  81. print('ValueError')
  82. try:
  83. 'a%' % 1
  84. except ValueError:
  85. print('ValueError')