📄 131.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Robots" content="INDEX,NOFOLLOW">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<TITLE>Safari | Python Essential Reference, Second Edition -> Low-Level Functions on Built-in Types</TITLE>
<LINK REL="stylesheet" HREF="oreillyi/oreillyM.css">
</HEAD>
<BODY bgcolor="white" text="black" link="#990000" vlink="#990000" alink="#990000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" cellpadding=5 cellspacing=0 border=0 class="navtopbg"><tr><td><font size="1"><p class="navtitle"><a href="2.html" class="navtitle">Linux/Unix</a> > <a href="0735710910.html" class="navtitle">Python Essential Reference, Second Edition</a> > <a href="121.html" class="navtitle">B. Extending and Embedding Python</a> > <span class="nonavtitle">Low-Level Functions on Built-in Types</span></p></font></td><td align="right" valign="top" nowrap><font size="1"><a href="main.asp?list" class="safnavoff">See All Titles</a></font></td></tr></table>
<TABLE width=100% bgcolor=white border=0 cellspacing=0 cellpadding=5><TR><TD>
<TABLE border=0 width="100%" cellspacing=0 cellpadding=0><TR><td align=left width="15%" class="headingsubbarbg"><a href="130.html" title="Abstract Object Layer"><font size="1">< BACK</font></a></td><td align=center width="70%" class="headingsubbarbg"><font size="1"><a href="popanote.asp?pubui=oreilly&bookname=0735710910&snode=131" target="_blank" title="Make a public or private annnotation">Make Note</a> | <a href="131.html" title="Use a Safari bookmark to remember this section">Bookmark</a></font></td><td align=right width="15%" class="headingsubbarbg"><a href="132.html" title="Defining New Types"><font size="1">CONTINUE ></font></a></td></TR></TABLE>
<a href="5%2F28%2F2002+9%3A10%3A11+PM.html" TABINDEX="-1"><img src=images/spacer.gif border=0 width=1 height=1></a><font color=white size=1>155117184014003188065099048180054212144238241179195140058238111161104058145059051143020002</font><a href="read7.asp?bookname=0735710910&snode=131&now=5%2F28%2F2002+9%3A10%3A11+PM" TABINDEX="-1"><img src=images/spacer.gif border=0 width=1 height=1></a><br>
<FONT>
<h3>Low-Level Functions on Built-in Types</h3>
<p>The functions in Tables B.9 through B.21 can be used to manipulate various built-in types. Functions of the form <tT CLAss="monofont">Py<</tt><I><TT Class="monofont">type</TT></I>
<Tt class="monofont">>_Check()</tt> are used to check the type of an object and return <tt class="monofont">1</tt> if an object is the correct type, <tt cLasS="monofont">0</tt> otherwise. Functions of the form <tT clasS="monofont">Py<</tt><i><TT CLass="monofont">type</tT></I>
<TT clasS="monofont">>_From<</TT><I><tt clASS="monofont">type</Tt></i>
<tt class="monofont">></tt> are used to create a Python object from a C datatype. Functions of the form <tt class="monofont">Py<</tt><I><tt ClasS="monofont">type</tt></i>
<tT claSS="monofont">>_As<</TT><i><tt cLASS="monofont">type</tt></i>
<tT CLAss="monofont">></tt> are used to convert from Python to C. These functions are presented without further description.</P>
<P><TAble border="1" cellspacing="0" CelLpadDing="1" wIdth="100%">
<CAPTion><h5>Table燘.9. Integers</H5></CAPtion><COLGroup SPAN="2">
<tr>
<th valign="top">
<font size="2">
<p><b>Type</B></p>
</fOnt></tH>
<th vaLign="top">
<FONT size="2">
<P><B>Function</B></P>
</font></TH>
</TR>
<tr>
<td VALIgn="top">
<font size="2">
<p><tt class="monofont">long</tt></P>
</foNt></td>
<Td valIgn="top">
<fONT Size="2">
<p><TT CLass="monofont">PyInt_AsLong(PyObject *</tT><I><TT clasS="monofont">iobj</TT></I>
<tt class="monofont">)</tt></p>
</font></td>
</tr>
<tr>
<Td vAligN="top">
<font Size="2">
<P><TT Class="monofont">int</TT></P>
</Font></tD>
<TD ValigN="top">
<FONt size="2">
<p><tt class="monofont">PyInt_Check(PyObject *</tt><i><tt clAss="monofont">obj</Tt></i>
<tT clasS="monofont">)</tt></p>
</FONT></td>
</tr>
<TR>
<TD valiGN="top">
<FOnt siZE="2">
<P><Tt class="monofont">PyObject *</tt></p>
</font></td>
<td valIgn="top">
<Font Size="2">
<p><Tt clASS="monofont">PyInt_FromLong(long)</Tt></p>
</foNT></TD>
</tr>
<tr>
<TD VAlign="top">
<FONT size="2">
<p><tt class="monofont">long</tt></p>
</font></tD>
<td ValiGn="top">
<fonT sizE="2">
<P><TT clasS="monofont">PyInt_GetMax(void)</TT></P>
</font></TD>
</TR>
</colgROUP>
</table></p>
<p><table border="1" ceLlsPaciNg="0" celLpadDING="1" widtH="100%">
<CAPtion><H5>Table燘.10. Long Integers</H5></CAptioN><COLgroup span="2">
<tr>
<th valign="top">
<fOnt Size="2">
<P><b>Type</b></p>
</fOnt></tH>
<TH ValigN="top">
<FONt sizE="2">
<P><B>Function</B></p>
</fonT></TH>
</Tr>
<tr>
<td valign="top">
<font size="2">
<p><Tt cLass="monofont">double</Tt></p>
</foNt></td>
<TD VAlign="top">
<FONT size="2">
<P><TT Class="monofont">PyLong_AsDouble(PyObject *</TT><I><Tt class="monofont">lobj</tt></i>
<tt class="monofont">)</tt></p>
</fOnt></Td>
</tr>
<Tr>
<td vAligN="top">
<FONt sizE="2">
<P><TT clasS="monofont">long</TT></P>
</font></TD>
<TD valign="top">
<font size="2">
<p><tt claSs="monofont">PyLong_AsLong(PyObject *</tT><i><tt Class="monofont">lobj</Tt></i>
<tT CLAss="monofont">)</tt></P>
</FONt></td>
</tR>
<TR>
<Td valIGN="top">
<Font size="2">
<p><tt class="monofont">long long</tt></p>
</foNt></tD>
<td vAlign="top">
<Font SIZE="2">
<p><tt cLASS="monofont">PyLong_AsLongLong(PyObject *</tt><i><tT CLAss="monofont">lobj</tt></I>
<TT Class="monofont">)</tt></p>
</font></td>
</tr>
<tr>
<td vAliGn="top">
<foNt sizE="2">
<p><tt CLASs="monofont">unsigned long</tt></p>
</FONT></td>
<td VALIgn="top">
<foNT SIze="2">
<p><tt class="monofont">PyLong_AsUnsignedLong(PyObject *</tt><i><tt class="monofont">lobj</Tt></i>
<Tt clAss="monofont">)</tt></P>
</fonT></TD>
</Tr>
<tr>
<tD VALign="top">
<fONT Size="2">
<p><TT CLass="monofont">unsigned long long</tt></p>
</font></td>
<td valign="top">
<FonT sizE="2">
<p><tt cLass="monofont">PyLong_AsUnsignedLongLong(PyObject *</TT><I><Tt claSS="monofont">lobj</TT></i>
<tt cLASS="monofont">)</tt></p>
</fONT></Td>
</tr>
<tr>
<td valign="top">
<font sizE="2">
<p><tT claSs="monofont">void *</tt></p>
</Font></TD>
<TD valiGN="top">
<FOnt siZE="2">
<P><Tt claSS="monofont">PyLong_AsVoidPtr(PyObject *</TT><i><tt class="monofont">lobj</tt></i>
<tt class="monofont">)</tt></P>
</foNt></td>
</Tr>
<tr>
<tD valIGN="top">
<Font sIZE="2">
<P><tt clASS="monofont">int</Tt></p>
</foNT></TD>
<td valign="top">
<font size="2">
<p><tt cLasS="monofont">PyLong_Check(PyObject *</tt><i><Tt claSs="monofont">obj</tt></I>
<TT Class="monofont">)</TT></P>
</Font></tD>
</TR>
<Tr>
<td vALIGn="top">
<font size="2">
<p><tt class="monofont">PyObject *</tt></p>
</FonT></td>
<tD valiGn="top">
<foNT SIze="2">
<p><tT CLAss="monofont">PyLong_FromDouble(double)</tt></P>
</FONt></td>
</tR>
<TR>
<Td valign="top">
<font size="2">
<p><tt clAss="monofont">PyObject *</Tt></p>
</fOnt></td>
<Td vaLIGN="top">
<font SIZE="2">
<p><tt cLASS="monofont">PyLong_FromLong(long)</tt></p>
</fONT></Td>
</tr>
<tr>
<td valign="top">
<font sizE="2">
<p><tT claSs="monofont">PyObject *</tt></p>
</Font></TD>
<TD valiGN="top">
<FOnt siZE="2">
<P><Tt claSS="monofont">PyLong_FromLongLong(long long)</TT></p>
</font></td>
</tr>
<tr>
<td valign="top">
<fOnt Size="2">
<P><tt clAss="monofont">PyObject *</tT></P>
</FOnt></td>
<TD VAlign="top">
<FONT size="2">
<P><TT Class="monofont">PyLong_FromUnsignedLong(unsigned long)</tt></p>
</font></td>
</tr>
<tr>
<td vAliGn="top">
<foNt sizE="2">
<p><tt CLASs="monofont">PyObject *</tt></p>
</FONT></td>
<td VALIgn="top">
<foNT SIze="2">
<p><tt class="monofont">PyLong_FromUnsignedLongLong(unsigned long long)</tt></p>
</font></td>
</tR>
<tr>
<Td vaLign="top">
<fOnt sIZE="2">
<P><tt clASS="monofont">PyObject *</Tt></p>
</foNT></TD>
<td vaLIGN="top">
<font size="2">
<p><tt class="monofont">PyLong_FromVoidPtr(void *)</tt></p>
</fOnt></Td>
</tr>
</ColgrOup>
</tABLE></p>
<p><taBLE BordeR="1" CELlspaCING="0" cellpadding="1" width="100%">
<captIon><H5>Table燘.11. Floats</h5></caPtion><ColgROUP span="2">
<TR>
<TH valiGN="top">
<FOnt siZE="2">
<P><B>Type</b></p>
</font></th>
<th valign="top">
<font SizE="2">
<p><b>Function</b></P>
</font></Th>
</tr>
<TR>
<TD valiGN="top">
<FOnt siZE="2">
<P><Tt claSS="monofont">int</TT></p>
</font></td>
<td valign="top">
<font sIze="2">
<P><tt cLass="monofont">PyFloat_Check(PyObject *</tT><i><tt CLASs="monofont">obj</tt></i>
<TT CLass="monofont">)</tT></P>
</FOnt></td>
</TR>
<TR>
<td valign="top">
<font size="2">
<p><tt cLasS="monofont">double</tt></p>
</Font></tD>
<td vALIGn="top">
<fonT SIZe="2">
<p><tt CLASs="monofont">PyFloat_AsDouble(PyObject *</tt><i><TT CLass="monofont">fobj</tt></i>
<tt class="monofont">)</tt></p>
</font></Td>
</tR>
<tr>
<tD valiGn="top">
<foNT SIze="2">
<p><tT CLAss="monofont">PyObject *</tt></P>
</FONt></td>
<tD VALign="top">
<font size="2">
<p><tt class="monofont">PyFloat_FromDouble(double)</tT></p>
</fOnt></tD>
</tr>
</coLgroUP>
</TAble></p>
<P><TABle boRDER="1" cellSPACing="0" cellpadding="1" width="100%">
<cAptIon><h5>Table燘.12. Complex</H5></captIon><cOLGRoup sPAN="2">
<Tr>
<th vALIGn="top">
<fonT SIZe="2">
<p><b>Type</b></p>
</font></th>
<th valign="top">
<fOnt Size="2">
<P><b>Function</b></p>
</fOnt></tH>
</TR>
<Tr>
<td vALIGn="top">
<fonT SIZe="2">
<p><tt CLASs="monofont">Py_complex</tt></p>
</font></td>
<td valign="top">
<foNt sIze="2">
<p><Tt claSs="monofont">PyComplex_AsCComplex(PyObject *</tt><I><TT Class="monofont">cobj</TT></I>
<Tt claSS="monofont">)</TT></p>
</fonT></TD>
</Tr>
<tr>
<td valign="top">
<font size="2">
<p><Tt cLass="monofont">int</Tt></p>
</foNt></td>
<TD VAlign="top">
<FONT size="2">
<P><TT Class="monofont">PyComplex_Check(PyObject *</TT><I><Tt class="monofont">obj</tt></i>
<tt class="monofont">)</tt></p>
</fOnt></Td>
</tr>
<Tr>
<td vAligN="top">
<FONt sizE="2">
<P><TT clasS="monofont">PyObject *</TT></P>
</font></TD>
<TD valign="top">
<font size="2">
<p><tt claSs="monofont">PyComplex_FromCComplex(Py_complex *</tT><i><tt Class="monofont">cobj</Tt></i>
<tT CLAss="monofont">)</tt></P>
</FONt></td>
</tR>
<TR>
<Td valIGN="top">
<Font size="2">
<p><tt class="monofont">PyObject *</tt></p>
</foNt></tD>
<td vAlign="top">
<Font SIZE="2">
<p><tt cLASS="monofont">PyComplex_FromDoubles(double </tt><i><tT CLAss="monofont">real</tt></I>
<TT Class="monofont">, double </tt><i><tt class="monofont">imag</tt></i>
<tt cLasS="monofont">)</tt></p>
</Font></tD>
</tr>
<tR>
<TD ValigN="top">
<FONt sizE="2">
<P><TT clasS="monofont">double</TT></P>
</font></td>
<td valign="top">
<font siZe="2">
<p><Tt clAss="monofont">PyComplex_ImagAsDouble(PyObject *</tt><I><tt cLASS="monofont">cobj</tt></i>
<tT CLAss="monofont">)</tt></P>
</FONt></td>
</tR>
<TR>
<Td valign="top">
<font size="2">
<p><tt clAss="monofont">double</Tt></p>
</fOnt></td>
<Td vaLIGN="top">
<font SIZE="2">
<p><tt cLASS="monofont">PyComplex_RealAsDouble(PyObject *</tt><i><tT CLAss="monofont">cobj</tt></i>
<tt class="monofont">)</tt></p>
</font></tD>
</tr>
</ColgRoup>
</tAble></P>
<P><TAble bORDEr="1" celLSPAcing="0" CELLpadding="1" width="100%">
<caption><h5>Table燘.13. Strings</H5></caPtioN><colgRoup SPAN="2">
<tr>
<th VALIgn="top">
<foNT SIze="2">
<p><b>Type</B></P>
</FOnt></th>
<th valign="top">
<font size="2">
<P><b>Function</b></P>
</fonT></th>
</tr>
<Tr>
<td VALIgn="top">
<foNT SIze="2">
<p><tT CLAss="monofont">char *</tt></P>
</FONt></td>
<td valign="top">
<font size="2">
<p><Tt cLass="monofont">PyString_AsString(PyObject *</Tt><i><tt ClasS="monofont">str</TT></I>
<tt clASS="monofont">)</Tt></p>
</foNT></TD>
</tr>
<tr>
<TD VAlign="top">
<font size="2">
<p><tt class="monofont">PyObject *</Tt></p>
</Font></Td>
<td vAligN="top">
<FONt sizE="2">
<P><TT clasS="monofont">PyString_AsEncodedString(PyObject *</TT><I><tt clASS="monofont">unicode</Tt></i>
<tt class="monofont">, const char *</tt><i><tt class="monofont">encoding</tT></i>
<tT claSs="monofont">, const char *</tt><i><Tt clASS="monofont">errors</Tt></i>
<tt CLASs="monofont">)</tt></p>
</FONT></td>
</tr>
<TR>
<TD valign="top">
<font size="2">
<p><tt claSs="monofont">int</tT></p>
</foNt></td>
<tD valIGN="top">
<Font sIZE="2">
<P><tt clASS="monofont">PyString_Check(PyObject *</Tt><i><tt CLASs="monofont">obj</tt></i>
<tt class="monofont">)</tt></p>
</font></td>
</Tr>
<tR>
<td vAlign="top">
<Font SIZE="2">
<p><tt cLASS="monofont">void</tt></p>
</fONT></Td>
<td vALIGn="top">
<font size="2">
<p><tt class="monofont">PyString_Concat(PyObject **</tt><i><Tt cLass="monofont">str</Tt></i>
<tt ClasS="monofont">, PyObject *</TT><I><tt clASS="monofont">newpart</Tt></i>
<tt CLASs="monofont">)</tt></p>
</FONT></td>
</tr>
<tr>
<td valign="top">
<font siZe="2">
<p><Tt clAss="monofont">void</tt></P>
</fonT></TD>
<Td valIGN="top">
<Font sIZE="2">
<P><tt clASS="monofont">PyString_ConcatAndDel(PyObject **</Tt><i><tt class="monofont">str</tt></i>
<tt class="monofont">, PyObject *</tT><i><tT claSs="monofont">newpart</tt></i>
<Tt clASS="monofont">)</Tt></p>
</foNT></TD>
</tr>
<tr>
<TD VAlign="top">
<FONT size="2">
<p><tt class="monofont">PyObject *</tt></p>
</font></tD>
<td ValiGn="top">
<fonT sizE="2">
<P><TT clasS="monofont">PyString_Decode(const char *</TT><I><tt clASS="monofont">s</Tt></i>
<tt CLASs="monofont">, int </tt><i><tt class="monofont">size</tt></i>
<tt clasS="monofont">, const char *</tt><I><tt cLass="monofont">encoding</tT></i>
<tt CLASs="monofont">, const char *</tt><i><TT CLass="monofont">errors</tT></I>
<TT clasS="monofont">)</TT></P>
</font></td>
</tr>
<tr>
<td valign="top">
<foNt sIze="2">
<p><Tt claSs="monofont">PyObject *</tt></P>
</FONt></td>
<tD VALign="top">
<fONT Size="2">
<p><TT CLass="monofont">PyString_Encode(const Py_UNICODE *</tt><i><tt class="monofont">s</tt></i>
<tt clAss="monofont">, int </Tt><i><tT clasS="monofont">size</tt></i>
<TT CLass="monofont">, const char *</tT><I><TT clasS="monofont">encoding</TT></I>
<tt clASS="monofont">, const char *</Tt><i><tt class="monofont">errors</tt></i>
<tt class="monofont">)</tT></p>
</fOnt></tD>
</tr>
<tr>
<Td vaLIGN="top">
<font SIZE="2">
<p><tt cLASS="monofont">PyObject *</tt></p>
</fONT></Td>
<td valign="top">
<font size="2">
<p><tt ClaSs="monofont">PyString_Format(PyObject *</tt><I><tt clAss="monofont">format</tT></I>
<TT clasS="monofont">, PyObject *</TT><I><tt clASS="monofont">args</Tt></i>
<tt CLASs="monofont">)</tt></p>
</font></td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -