mirror of
				https://github.com/pocketpy/pocketpy
				synced 2025-10-30 16:30:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			505 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			505 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| a = 1
 | |
| assert a == 1
 | |
| assert *&a == 1
 | |
| b = &a
 | |
| *b = 2
 | |
| assert a == 2
 | |
| 
 | |
| def swap(a,b):
 | |
|     t = *a
 | |
|     *a = *b
 | |
|     *b = t
 | |
| 
 | |
| def f():
 | |
|     a,b = 5,6
 | |
|     swap(&a,&b)
 | |
|     assert a == 6
 | |
|     assert b == 5
 | |
| 
 | |
| f()
 | |
| 
 | |
| a = [1, 2, 3]
 | |
| b = &a
 | |
| b->append(4)
 | |
| assert a == [1, 2, 3, 4]
 | |
| 
 | |
| def add(a, b):
 | |
|     return a+b
 | |
| 
 | |
| p = &add
 | |
| assert p->__call__(1, 2) == 3
 | |
| assert p->__call__.__call__.__call__.__call__.__call__(3, 4) == 7
 | |
| 
 | |
| fun = lambda :6
 | |
| p = &fun
 | |
| assert p->__call__() == 6
 | |
| assert p->__call__.__call__.__call__.__call__.__call__() == 6 |