成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

有關(guān)Python語法介紹說明

開發(fā) 后端
剛學(xué)Python語法的時候,所以是學(xué)的最新版的3.1,發(fā)現(xiàn)有很多規(guī)則都和2.x的不一樣,最基本的print都改了,恐怕想把以前的工程移植到。

本文主要講述Python語法的相關(guān)文章,怎樣編寫Python語法的一些做法,這些內(nèi)容都是一些門戶網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。

接下來說下我遇到的問題,本來想學(xué)下lambda用法(現(xiàn)在還沒搞明白),就在網(wǎng)上找了個例子,如下(print語法我已經(jīng)改了。

  1. class People:     
  2.     age=0    
  3.     gender='male'    
  4.     def __init__(self, age, gender):       
  5.         self.age = age       
  6.         self.gender = gender     
  7.     def toString(self):     
  8.         return 'Age:'+str(self.age)+'\tGender:'+self.gender     
  9.          
  10. List=[People(21,'male'),People(20,'famale'),People(34,'male'),People(19,'famale')]     
  11. print('Befor sort:')     
  12. for p in List:     
  13.     print(p.toString())     
  14. List.sort(lambda p1,p2:cmp(p1.age,p2.age))     
  15. print('\nAfter ascending sort:')     
  16. for p in List:     
  17.     print(p.toString())     
  18. List.sort(lambda p1,p2:-cmp(p1.age,p2.age))     
  19. print('\nAfter descending sort:')     
  20. for p in List:     
  21.     print(p.toString()) 

重點:Python語法指定含有一個參數(shù)的函數(shù),這個函數(shù)被用來提取各個元素之間比較用的關(guān)鍵字(現(xiàn)在看來,這個用法比用lambda更明了些)根據(jù)這個提示,終于明白了,我要比較List中每個元素大小,每個元素都是People類,用age成員作為比較關(guān)鍵字,所以很簡單聯(lián)想到要給key賦一個方法,這個方法返回People中的age,所以修改后代碼如下:

  1. class People:     
  2.     age=0    
  3.     gender='male'    
  4.     def __init__(self, age, gender):       
  5.         self.age = age       
  6.         self.gender = gender     
  7.     def toString(self):     
  8.         return 'Age:'+str(self.age)+'\tGender:'+self.gender     
  9.          
  10. List=[People(21,'male'),People(20,'famale'),People(34,'male'),People(19,'famale')]     
  11. print('Befor sort:')     
  12. for p in List:     
  13.     print(p.toString())     
  14. List.sort(lambda p1,p2:cmp(p1.age,p2.age))     
  15. print('\nAfter ascending sort:')     
  16. for p in List:     
  17.     print(p.toString())     
  18. List.sort(lambda p1,p2:-cmp(p1.age,p2.age))     
  19. print('\nAfter descending sort:')     
  20. for p in List:     
  21.     print(p.toString()) 

前兩天把《A Byte of Python》大致看了一遍,算是基本可能入門了。動手寫了些很簡單的小例子,對Python語法有個基本的了解。但是還有一些細節(jié)不是很清楚,有些地方可能知其然不知所以然,還有待更深入的學(xué)習(xí)。今天再翻《Dive into python》,發(fā)現(xiàn)寫出書上那么簡潔但是功能強大的程序還是需要一段時間的。

關(guān)于函數(shù)定義:函數(shù)定義不需要定義返回的數(shù)據(jù)類型,不需要指定參數(shù)的類型。在Python 中, 永遠也不需要明確指定任何東西的數(shù)據(jù)類型。舉個例子:char *ret = (x!=0) ? "True" : "False"這行代碼對應(yīng)的python形式就是ret = (x and "True") or "False"(很簡單吧,事實上括號可以去掉)。

運行時,python虛擬機會對賦值符右邊的布爾表達式(注意這里并非三元表達式)求值,返回值是***一個被分析到的值。為什么是“***一個被分析到的”而不是表達式中“***一個”呢?因為布爾表達式有一個短路效應(yīng),比如a or b,如果a為真那么就不會分析b了。#t#

嗯,估計現(xiàn)在大家差不多明白了這行python代碼的原理了。如果x為真,由于字符串“True”也為真,于是返回"True",反之,x為假,那么就沒必要看字符串"True"了(短路效應(yīng)),直接返回"False"。不難看出,三元運算在Python語法中事實上可以通過借用布爾求值表達。然后,有時會有點小問題。舉個例子,char *ret = x ? "" or "VAL"。

根據(jù)前面的例子,我們很自然想到在python里應(yīng)該這樣寫,ret = x and "" or "VAL"。錯了!不管x的布爾求值是真還是假,ret得到的總是"VAL"。奇怪么?不奇怪,因為在python中對空字符串的布爾求值為false,這樣x and ""永遠都是false,所以ret得到的自然總是"VAL"了。

解決這個問題有兩種辦法,***種,也是我喜歡的一種,就是寫成ret = not x and "VAL" or ""。第二種,麻煩一點ret=x and [""] or ["VAL"],然后每次取ret[0]作為返回值,這是因為[""]在布爾求值時值為true。

責(zé)任編輯:chenqingxiang 來源: 清華大學(xué)出版社
相關(guān)推薦

2010-02-01 17:11:45

Python 解釋器

2010-02-23 14:41:28

Python模塊

2010-02-24 17:22:59

Python項目

2010-02-22 16:16:14

Python語法

2010-02-03 17:37:30

Python語法

2010-02-22 14:42:19

Python 控制語句

2010-02-01 16:32:49

Python腳本

2010-02-26 11:20:53

Python應(yīng)用

2010-03-03 17:50:45

Android圖形界面

2009-12-25 17:11:40

ADO方法

2010-03-10 11:26:29

交換機配置

2010-02-02 13:05:58

Python代碼

2010-02-03 13:27:17

Python 特性

2010-03-01 10:39:18

Python源代碼

2010-03-10 16:32:17

光端交換機

2010-02-01 18:06:48

Python Edit

2010-02-02 13:28:46

Python變量

2010-02-22 13:20:58

Python中文問題

2010-02-03 16:03:44

Python系統(tǒng)文件

2010-01-06 16:53:57

JS兩種語法
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国偷自产av一区二区三区 | 精品视频成人 | 久久高清精品 | 成人国产一区二区三区精品麻豆 | 日韩成人 | 日韩欧美久久精品 | 亚洲视频手机在线 | 亚洲狠狠爱一区二区三区 | 蜜臀久久99精品久久久久野外 | 天堂男人av| 四虎影院欧美 | 中文字幕第十五页 | 久久激情网 | www.99热这里只有精品 | 超碰在线免费公开 | 国产精品亚洲成在人线 | 久久手机视频 | 久久久久久久香蕉 | 国产99久久久国产精品 | av在线免费观看不卡 | 国产成人网 | 精品国产乱码久久久久久蜜柚 | 一区二区三区av夏目彩春 | 第一av | 久久精品国产一区二区电影 | 亚洲一区二区三区视频 | hitomi一区二区三区精品 | 四季久久免费一区二区三区四区 | 精品久久久久久久人人人人传媒 | 欧美一级大片免费观看 | 第一色在线 | 成人依人| 成人免费一区二区三区视频网站 | 日韩亚洲视频 | 国产欧美一区二区在线观看 | 91在线一区 | 365夜爽爽欧美性午夜免费视频 | 亚洲精品久久久一区二区三区 | 草比网站 | 99久久久无码国产精品 | 最新国产精品精品视频 |