Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
2f72aed1
Kaydet (Commit)
2f72aed1
authored
Haz 19, 2013
tarafından
R David Murray
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
Merge: Tweak programming faq examples so that it (mostly) passes doctest.
üst
15a7d2e8
fdf95030
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
18 deletions
+19
-18
programming.rst
Doc/faq/programming.rst
+19
-18
No files found.
Doc/faq/programming.rst
Dosyayı görüntüle @
2f72aed1
...
...
@@ -214,9 +214,9 @@ Why do lambdas defined in a loop with different values all return the same resul
Assume you use a for loop to define a few different lambdas (or even plain
functions), e.g.::
squares = []
for x in range(5):
squares.append(lambda: x**2)
>>>
squares = []
>>>
for x in range(5):
...
squares.append(lambda: x**2)
This gives you a list that contains 5 lambdas that calculate ``x**2``. You
might expect that, when called, they would return, respectively, ``0``, ``1``,
...
...
@@ -241,9 +241,9 @@ changing the value of ``x`` and see how the results of the lambdas change::
In order to avoid this, you need to save the values in variables local to the
lambdas, so that they don't rely on the value of the global ``x``::
squares = []
for x in range(5):
squares.append(lambda n=x: n**2)
>>>
squares = []
>>>
for x in range(5):
...
squares.append(lambda n=x: n**2)
Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed
when the lambda is defined so that it has the same value that ``x`` had at
...
...
@@ -592,11 +592,11 @@ Comma is not an operator in Python. Consider this session::
Since the comma is not an operator, but a separator between expressions the
above is evaluated as if you had entered::
>>>
("a" in "b"), "a"
("a" in "b"), "a"
not::
>>>
"a" in ("b", "a")
"a" in ("b", "a")
The same is true of the various assignment operators (``=``, ``+=`` etc). They
are not truly operators but syntactic delimiters in assignment statements.
...
...
@@ -744,6 +744,7 @@ it from. However, if you need an object with the ability to modify in-place
unicode data, try using a :class:`io.StringIO` object or the :mod:`array`
module::
>>> import io
>>> s = "Hello, world"
>>> sio = io.StringIO(s)
>>> sio.getvalue()
...
...
@@ -761,7 +762,7 @@ module::
array('u', 'Hello, world')
>>> a[0] = 'y'
>>> print(a)
array('u', 'yello world')
array('u', 'yello
,
world')
>>> a.tounicode()
'yello, world'
...
...
@@ -1060,7 +1061,7 @@ How do I create a multidimensional list?
You probably tried to make a multidimensional array like this::
A = [[None] * 2] * 3
>>>
A = [[None] * 2] * 3
This looks correct if you print it::
...
...
@@ -1615,13 +1616,13 @@ file is automatic if you're importing a module and Python has the ability
(permissions, free space, etc...) to write the compiled module back to the
directory.
Running Python on a top level script is not considered an import and no
``.pyc``
will be created. For example, if you have a top-level module ``abc.py`` that
imports another module ``xyz.py``, when you run abc, ``xyz.pyc`` will be created
since xyz is imported, but no ``abc.pyc`` file will be created since ``abc.py``
isn't being imported.
Running Python on a top level script is not considered an import and no
``.pyc`` will be created. For example, if you have a top-level module
``foo.py`` that imports another module ``xyz.py``, when you run ``foo``,
``xyz.pyc`` will be created since ``xyz`` is imported, but no ``foo.pyc`` file
will be created since ``foo.py``
isn't being imported.
If you need to create
abc.pyc -- that is, to create a .pyc
file for a module
If you need to create
``foo.pyc`` -- that is, to create a ``.pyc``
file for a module
that is not imported -- you can, using the :mod:`py_compile` and
:mod:`compileall` modules.
...
...
@@ -1629,9 +1630,9 @@ The :mod:`py_compile` module can manually compile any module. One way is to use
the ``compile()`` function in that module interactively::
>>> import py_compile
>>> py_compile.compile('
abc.py')
>>> py_compile.compile('
foo.py') # doctest: +SKIP
This will write the ``.pyc`` to the same location as ``
abc
.py`` (or you can
This will write the ``.pyc`` to the same location as ``
foo
.py`` (or you can
override that with the optional parameter ``cfile``).
You can also automatically compile all files in a directory or directories using
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment