cython
1__doc__ = u"""
2>>> str('test')
3'test'
4>>> z
5'test'
6"""
7
8cimport cython
9
10s = str
11z = str('test')
12
13def c(string):
14"""
15>>> c('testing')
16'testing'
17"""
18return str(string)
19
20class subs(str):
21"""
22>>> subs('testing a subtype')
23'testing a subtype'
24
25# >>> csub('testing a subtype')
26# 'testing a subtype'
27# >>> csubs('testing a subtype')
28# 'testing a subtype'
29"""
30pass
31
32def sub(string):
33"""
34>>> sub('testing a subtype')
35'testing a subtype'
36"""
37return subs(string)
38
39#cdef class subs(str):
40# pass
41
42#def csub(string):
43# return csubs(string)
44
45
46@cython.test_fail_if_path_exists("//SimpleCallNode")
47@cython.test_assert_path_exists("//PythonCapiCallNode")
48def typed(str s):
49"""
50>>> print(typed(None))
51None
52>>> type(typed(None)) is type(typed(None))
53True
54>>> print(typed('abc'))
55abc
56>>> type(typed('abc')) is type(typed('abc'))
57True
58"""
59return str(s)
60
61
62@cython.test_fail_if_path_exists(
63"//SimpleCallNode",
64"//PythonCapiCallNode",
65)
66def typed_not_none(str s not None):
67"""
68>>> print(typed('abc'))
69abc
70>>> type(typed('abc')) is type(typed('abc'))
71True
72"""
73return str(s)
74