mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			953 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			953 B
		
	
	
	
		
			Python
		
	
	
	
	
	
 | 
						|
 | 
						|
"""
 | 
						|
The module for testing variable annotations.
 | 
						|
Empty lines above are for good reason (testing for correct line numbers)
 | 
						|
"""
 | 
						|
 | 
						|
from typing import Optional
 | 
						|
 | 
						|
__annotations__[1] = 2
 | 
						|
 | 
						|
class C:
 | 
						|
 | 
						|
    x = 5; y: Optional['C'] = None
 | 
						|
 | 
						|
from typing import Tuple
 | 
						|
x: int = 5; y: str = x; f: Tuple[int, int]
 | 
						|
 | 
						|
class M(type):
 | 
						|
 | 
						|
    __annotations__['123'] = 123
 | 
						|
    o: type = object
 | 
						|
 | 
						|
(pars): bool = True
 | 
						|
 | 
						|
class D(C):
 | 
						|
    j: str = 'hi'; k: str= 'bye'
 | 
						|
 | 
						|
from types import new_class
 | 
						|
h_class = new_class('H', (C,))
 | 
						|
j_class = new_class('J')
 | 
						|
 | 
						|
class F():
 | 
						|
    z: int = 5
 | 
						|
    def __init__(self, x):
 | 
						|
        pass
 | 
						|
 | 
						|
class Y(F):
 | 
						|
    def __init__(self):
 | 
						|
        super(F, self).__init__(123)
 | 
						|
 | 
						|
class Meta(type):
 | 
						|
    def __new__(meta, name, bases, namespace):
 | 
						|
        return super().__new__(meta, name, bases, namespace)
 | 
						|
 | 
						|
class S(metaclass = Meta):
 | 
						|
    x: str = 'something'
 | 
						|
    y: str = 'something else'
 | 
						|
 | 
						|
def foo(x: int = 10):
 | 
						|
    def bar(y: List[str]):
 | 
						|
        x: str = 'yes'
 | 
						|
    bar()
 |