Cara menggunakan DIFFENCE pada Python

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.

The Python Reference Guide provides beginners with a simple introduction to the basics, and experts will find advanced details they need.

In this you will see the following things below.

- Tutorial
- Library Reference
- Language Reference
- Python Setup and Usage
- Python HOWTOs
- Installing Python Modules
- Distributing Python Modules
- Extending and Embedding
- Python/C API
- FAQs

You will find all this section offline without any internet connection and lean DB easily anywhere and anytime.


Python Conditions and If statements

Python supports the usual logical conditions from mathematics:

  • Equals: a == b
  • Not Equals: a != b
  • Less than: a < b
  • Less than or equal to: a <= b
  • Greater than: a > b
  • Greater than or equal to: a >= b

These conditions can be used in several ways, most commonly in "if statements" and loops.

An "if statement" is written by using the if keyword.

Example

If statement:

a = 33
b = 200
if b > a:
  print("b is greater than a")

Try it Yourself ยป

In this example we use two variables, a and b, which are used as part of the if statement to test whether b is greater than a. As a is 33, and b is 200, we know that 200 is greater than 33, and so we print to screen that "b is greater than a".




Jawaban singkatnya adalah, Python selalu bernilai pass-by-value, tetapi setiap variabel Python sebenarnya adalah pointer ke suatu objek, jadi kadang-kadang terlihat seperti pass-by-reference.

Dalam Python setiap objek dapat berubah atau tidak dapat diubah. mis., daftar, dikte, modul, dan Pandas bingkai data dapat berubah, dan int, string, dan tupel tidak dapat diubah. Objek yang dapat diubah dapat diubah secara internal (mis., Tambahkan elemen ke daftar), tetapi objek yang tidak dapat diubah tidak bisa.

Seperti yang saya katakan di awal, Anda dapat menganggap setiap variabel Python sebagai penunjuk ke objek. Ketika Anda melewatkan variabel ke suatu fungsi, variabel (pointer) di dalam fungsi selalu merupakan salinan dari variabel (pointer) yang dilewatkan. Jadi, jika Anda menetapkan sesuatu yang baru ke variabel internal, semua yang Anda lakukan adalah mengubah variabel lokal untuk menunjuk ke objek yang berbeda. Ini tidak mengubah (bermutasi) objek asli yang ditunjuk variabel, juga tidak membuat variabel eksternal menunjuk ke objek baru. Pada titik ini, variabel eksternal masih menunjuk ke objek asli, tetapi variabel internal menunjuk ke objek baru.

Jika Anda ingin mengubah objek asli (hanya mungkin dengan tipe data yang bisa berubah), Anda harus melakukan sesuatu yang mengubah objek tanpa menetapkan nilai yang sama sekali baru ke variabel lokal. Inilah sebabnya mengapa letgo() dan letgo3() membiarkan item eksternal tidak berubah, tetapi letgo2() mengubahnya.

Seperti yang ditunjukkan oleh @ursan, jika letgo() menggunakan sesuatu seperti ini, maka itu akan mengubah (mengubah) objek asli yang ditunjuk oleh df, yang akan mengubah nilai yang terlihat melalui variabel a global:

def letgo(df):
    df.drop('b', axis=1, inplace=True)

a = pd.DataFrame({'a':[1,2], 'b':[3,4]})
letgo(a)  # will alter a

Dalam beberapa kasus, Anda dapat sepenuhnya melubangi variabel asli dan mengisinya dengan data baru, tanpa benar-benar melakukan penugasan langsung, mis. ini akan mengubah objek asli yang ditunjuk v, yang akan mengubah data yang terlihat saat Anda menggunakan v nanti:

def letgo3(x):
    x[:] = np.array([[3,3],[3,3]])

v = np.empty((2, 2))
letgo3(v)   # will alter v

Perhatikan bahwa saya tidak menugaskan sesuatu secara langsung ke x; Saya menetapkan sesuatu untuk seluruh rentang internal x.

Jika Anda benar-benar harus membuat objek yang sama sekali baru dan membuatnya terlihat secara eksternal (yang kadang-kadang halnya dengan panda), Anda memiliki dua opsi. Opsi 'bersih' adalah hanya untuk mengembalikan objek baru, mis.,

def letgo(df):
    df = df.drop('b',axis=1)
    return df

a = pd.DataFrame({'a':[1,2], 'b':[3,4]})
a = letgo(a)

Pilihan lain adalah menjangkau di luar fungsi Anda dan secara langsung mengubah variabel global. Ini mengubah a untuk menunjuk ke objek baru, dan fungsi apa pun yang merujuk ke a sesudahnya akan melihat objek baru itu:

def letgo():
    global a
    a = a.drop('b',axis=1)

a = pd.DataFrame({'a':[1,2], 'b':[3,4]})
letgo()   # will alter a!

Mengubah variabel global secara langsung biasanya merupakan ide yang buruk, karena siapa pun yang membaca kode Anda akan mengalami kesulitan mencari tahu bagaimana a diubah. (Saya biasanya menggunakan variabel global untuk parameter bersama yang digunakan oleh banyak fungsi dalam skrip, tapi saya tidak membiarkan mereka mengubah variabel global itu.)