python一加到二十_46 python学习笔记
0 引言
之前用python跑過深度學習的代碼,用過一段時間的jupiter和tensorflow;最近在Ubuntu下搭建起了VSCode + Anaconda的python開發環境,感覺很好用,尤其是用來做算法驗證簡直舒服得一匹。遂單獨開一貼,記錄一下python學習與使用中的一些好玩的點。
1 python中的函數參數
python是弱參數類型語言,這符合當前高級變成語言發展的趨勢。我是從c++新標準中提倡使用的auto開始了解這一趨勢的,后來在《面向對象編程》一課中,寫jsp的時候,用到了var,也是根據初始化參數類型推測變量的類型。如今,python將這一趨勢發揚光大,使得語言變得及其好用,簡直舒服極了!!!
在python的函數定義中,延續了這一特點,使得其函數的定義方式天然就就具有重載性質,顯示出了無與倫比的優美與簡潔,舉例如下。
from shapely.geometry importPointfrom shapely.geometry importLineStringfrom shapely.geometry importPolygonfrom shapely.geometry importMultiPoint#不指定參數類型,實際上相當于無限重載
defoutputAllAttributes(mem):print('geom_type',mem.geom_type)print('area',mem.area)print('bounds',mem.bounds)print('length',mem.length)print('distance',mem.distance)print('representative_point',mem.representative_point)print('\n')deftest():
# Point/LineString/Polygon類型的形參通過同一個函數調用,完美體現面向對象中“重載”的思想
p=Point(0,0)
outputAllAttributes(p)
line= LineString([(0,0), (0,1), (1,1),(1,0)])
outputAllAttributes(line)
poly= Polygon([(0,0), (1,1), (1,2)])
outputAllAttributes(poly)if __name__ == '__main__':
test()
2 Python函數是傳值還是傳引用
看了一貼,鏈接如下。
https://www.cnblogs.com/loleina/p/5276918.html
結論:python不允許程序員選擇采用傳值還是傳引用。Python參數傳遞采用的肯定是“傳對象引用”的方式。這種方式相當于傳值和傳引用的一種綜合。
如果函數收到的是一個可變對象(Number,String, Tuple)的引用,就能修改對象的原始值--相當于通過“傳引用”來傳遞對象。
如果函數收到的是一個不可變對象(List,Dictionary,Set)的引用,就不能直接修改原始對象--相當于通過“傳值'來傳遞對象。
3 python打包與生成.exe文件
https://blog.csdn.net/orangefly0214/article/details/81462245
# 介紹了setuptools的用法
https://www.cnblogs.com/mywolrd/p/4756005.html
# 介紹了將朋友python程序打包成linux/windows可執行文件的操作方法
4 bug修復
(1)python??matplotlib中文顯示有問題。
https://jingyan.baidu.com/article/908080223cd201fd91c80fd5.html
(2)How to get the mpl_toolkits to install
https://github.com/matplotlib/matplotlib/issues/4546/
conda install pyqt #神奇地解決了
5 python編程慣例
https://github.com/jackfrued/Python-100-Days/blob/master/Python%E7%BC%96%E7%A8%8B%E6%83%AF%E4%BE%8B.md
(1)if __name__ == '__main__':
代碼既可以導入,又可以執行
(2)in: 包含和迭代
if x in items:? ? ?# 包含
for x in items:? ?# 迭代
(3)zip組合鍵和值來創建字典
keys = ['1001', '1002', '1003']
values= ['駱昊', '王大錘', '白元芳']
d=dict(zip(keys, values))
print(d)
總結
以上是生活随笔為你收集整理的python一加到二十_46 python学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3爬取网易云歌单数据清洗_网
- 下一篇: 了解c语言程序员(工程师)岗位需要掌握哪