Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / html / python / api / objects.html
CommitLineData
920dae64
AT
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4<link rel="STYLESHEET" href="api.css" type='text/css' />
5<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
6<link rel='start' href='../index.html' title='Python Documentation Index' />
7<link rel="first" href="api.html" title='Python/C API Reference Manual' />
8<link rel='contents' href='contents.html' title="Contents" />
9<link rel='index' href='genindex.html' title='Index' />
10<link rel='last' href='about.html' title='About this document...' />
11<link rel='help' href='about.html' title='About this document...' />
12<link rel="next" href="exceptions.html" />
13<link rel="prev" href="includes.html" />
14<link rel="parent" href="intro.html" />
15<link rel="next" href="refcounts.html" />
16<meta name='aesop' content='information' />
17<title>1.2 Objects, Types and Reference Counts </title>
18</head>
19<body>
20<DIV CLASS="navigation">
21<div id='top-navigation-panel' xml:id='top-navigation-panel'>
22<table align="center" width="100%" cellpadding="0" cellspacing="2">
23<tr>
24<td class='online-navigation'><a rel="prev" title="1.1 Include Files"
25 href="includes.html"><img src='../icons/previous.png'
26 border='0' height='32' alt='Previous Page' width='32' /></A></td>
27<td class='online-navigation'><a rel="parent" title="1. Introduction"
28 href="intro.html"><img src='../icons/up.png'
29 border='0' height='32' alt='Up One Level' width='32' /></A></td>
30<td class='online-navigation'><a rel="next" title="1.2.1 Reference Counts"
31 href="refcounts.html"><img src='../icons/next.png'
32 border='0' height='32' alt='Next Page' width='32' /></A></td>
33<td align="center" width="100%">Python/C API Reference Manual</td>
34<td class='online-navigation'><a rel="contents" title="Table of Contents"
35 href="contents.html"><img src='../icons/contents.png'
36 border='0' height='32' alt='Contents' width='32' /></A></td>
37<td class='online-navigation'><img src='../icons/blank.png'
38 border='0' height='32' alt='' width='32' /></td>
39<td class='online-navigation'><a rel="index" title="Index"
40 href="genindex.html"><img src='../icons/index.png'
41 border='0' height='32' alt='Index' width='32' /></A></td>
42</tr></table>
43<div class='online-navigation'>
44<b class="navlabel">Previous:</b>
45<a class="sectref" rel="prev" href="includes.html">1.1 Include Files</A>
46<b class="navlabel">Up:</b>
47<a class="sectref" rel="parent" href="intro.html">1. Introduction</A>
48<b class="navlabel">Next:</b>
49<a class="sectref" rel="next" href="refcounts.html">1.2.1 Reference Counts</A>
50</div>
51<hr /></div>
52</DIV>
53<!--End of Navigation Panel-->
54
55<H1><A NAME="SECTION003200000000000000000"></A><A NAME="objects"></A>
56<BR>
571.2 Objects, Types and Reference Counts
58</H1>
59
60<P>
61Most Python/C API functions have one or more arguments as well as a
62return value of type <tt class="ctype">PyObject*</tt>. This type is a pointer
63to an opaque data type representing an arbitrary Python
64object. Since all Python object types are treated the same way by the
65Python language in most situations (e.g., assignments, scope rules,
66and argument passing), it is only fitting that they should be
67represented by a single C type. Almost all Python objects live on the
68heap: you never declare an automatic or static variable of type
69<tt class="ctype">PyObject</tt>, only pointer variables of type <tt class="ctype">PyObject*</tt> can
70be declared. The sole exception are the type objects<a id='l2h-9' xml:id='l2h-9'></a>;
71since these must never be deallocated, they are typically static
72<tt class="ctype">PyTypeObject</tt> objects.
73
74<P>
75All Python objects (even Python integers) have a <i class="dfn">type</i> and a
76<i class="dfn">reference count</i>. An object's type determines what kind of object
77it is (e.g., an integer, a list, or a user-defined function; there are
78many more as explained in the <em class="citetitle"><a
79 href="../ref/ref.html"
80 title="Python
81Reference Manual"
82 >Python
83Reference Manual</a></em>). For each of the well-known types there is a macro
84to check whether an object is of that type; for instance,
85"<tt class="samp">PyList_Check(<var>a</var>)</tt>" is true if (and only if) the object
86pointed to by <var>a</var> is a Python list.
87
88<P>
89
90<p><br /></p><hr class='online-navigation' />
91<div class='online-navigation'>
92<!--Table of Child-Links-->
93<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a>
94
95<UL CLASS="ChildLinks">
96<LI><A href="refcounts.html">1.2.1 Reference Counts</a>
97<UL>
98<LI><A href="refcountDetails.html">1.2.1.1 Reference Count Details</a>
99</ul>
100<LI><A href="types.html">1.2.2 Types</a>
101</ul>
102<!--End of Table of Child-Links-->
103</div>
104
105<DIV CLASS="navigation">
106<div class='online-navigation'>
107<p></p><hr />
108<table align="center" width="100%" cellpadding="0" cellspacing="2">
109<tr>
110<td class='online-navigation'><a rel="prev" title="1.1 Include Files"
111 href="includes.html"><img src='../icons/previous.png'
112 border='0' height='32' alt='Previous Page' width='32' /></A></td>
113<td class='online-navigation'><a rel="parent" title="1. Introduction"
114 href="intro.html"><img src='../icons/up.png'
115 border='0' height='32' alt='Up One Level' width='32' /></A></td>
116<td class='online-navigation'><a rel="next" title="1.2.1 Reference Counts"
117 href="refcounts.html"><img src='../icons/next.png'
118 border='0' height='32' alt='Next Page' width='32' /></A></td>
119<td align="center" width="100%">Python/C API Reference Manual</td>
120<td class='online-navigation'><a rel="contents" title="Table of Contents"
121 href="contents.html"><img src='../icons/contents.png'
122 border='0' height='32' alt='Contents' width='32' /></A></td>
123<td class='online-navigation'><img src='../icons/blank.png'
124 border='0' height='32' alt='' width='32' /></td>
125<td class='online-navigation'><a rel="index" title="Index"
126 href="genindex.html"><img src='../icons/index.png'
127 border='0' height='32' alt='Index' width='32' /></A></td>
128</tr></table>
129<div class='online-navigation'>
130<b class="navlabel">Previous:</b>
131<a class="sectref" rel="prev" href="includes.html">1.1 Include Files</A>
132<b class="navlabel">Up:</b>
133<a class="sectref" rel="parent" href="intro.html">1. Introduction</A>
134<b class="navlabel">Next:</b>
135<a class="sectref" rel="next" href="refcounts.html">1.2.1 Reference Counts</A>
136</div>
137</div>
138<hr />
139<span class="release-info">Release 2.4.2, documentation updated on 28 September 2005.</span>
140</DIV>
141<!--End of Navigation Panel-->
142<ADDRESS>
143See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
144</ADDRESS>
145</BODY>
146</HTML>