Pelajar yang telah mempelajari Java tahu bahawa kelas Java boleh mentakrifkan kaedah dan sifat awam (awam) atau swasta (pribadi) Ini terutamanya kerana kami berharap beberapa fungsi dan sifat boleh digunakan oleh orang lain atau hanya boleh digunakan oleh orang lain kegunaan dalaman. Dengan mempelajari tentang modul dalam Python, ia sebenarnya serupa dengan kelas dalam Java Jadi bagaimana kita menyedari bahawa dalam modul, beberapa fungsi dan pembolehubah digunakan oleh orang lain, dan beberapa fungsi dan pembolehubah hanya digunakan di dalam modul?
Dalam Python, ini dicapai melalui awalan _. Nama fungsi dan pembolehubah biasa adalah awam dan boleh dirujuk terus, seperti: abc, ni12, PI, dll. Pembolehubah seperti __xxx__ ialah pembolehubah khas dan boleh dirujuk secara langsung, tetapi mempunyai tujuan khas, seperti di atas Nama __ ialah a pembolehubah khas, dan __author__ juga pembolehubah khas, digunakan untuk menunjukkan pengarang. Ambil perhatian bahawa pembolehubah kami secara amnya tidak menggunakan nama pembolehubah seperti _xxx dan __xxx adalah peribadi dan tidak boleh dirujuk secara langsung, seperti _abc, __abc, dll.; tidak boleh. Oleh kerana tiada cara dalam Python untuk menyekat sepenuhnya akses kepada fungsi atau pembolehubah peribadi, bagaimanapun, fungsi atau pembolehubah peribadi tidak boleh dirujuk daripada tabiat pengaturcaraan.
Contohnya:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- def _diamond_vip(lv): print('尊敬的钻石会员用户,您好') vip_name = 'DiamondVIP' + str(lv) return vip_name def _gold_vip(lv): print('尊敬的黄金会员用户,您好') vip_name = 'GoldVIP' + str(lv) return vip_name def vip_lv_name(lv): if lv == 1: print(_gold_vip(lv)) elif lv == 2: print(_diamond_vip(lv)) vip_lv_name(2)
Hasil output:
尊敬的钻石会员用户,您好 DiamondVIP2
Dalam modul ini, kami mendedahkan fungsi kaedah vip_lv_name, dan logik dalaman lain dilaksanakan dalam fungsi peribadi _diamond_vip dan _gold_vip masing-masing, kerana ia adalah logik pelaksanaan dalaman, pemanggil Tidak perlu mengambil berat tentang kaedah fungsi ini sama sekali, ia hanya mengambil berat tentang memanggil fungsi kaedah vip_lv_name, jadi menggunakan persendirian adalah kaedah enkapsulasi dan abstraksi kod yang sangat berguna
Secara amnya, semua fungsi yang tidak perlu dirujuk dari luar ditakrifkan sebagai peribadi, dan hanya Fungsi luaran yang perlu dirujuk ditakrifkan sebagai awam.
bahagian seterusnya