最近对动态语言比较好奇。所以选择了学习Python这门语言.话不多说开始学习笔记.
一. Python 基础:
1. print对Python进行数据输出, #号后面是队友的输出结果, 通过encoded对字符进行转码,ord获取字符的ASCII, %s,%d与C语言的输出类似,分别表示字符串和整数.
print('Hello World') print 100+200 #300 print 1>2 #false print 1>'2' #false #print 'abc'+2 # 报错 print ord('A') #65 print u'小聪'.encode('utf-8') print 'Name:%s,Age:%d' %('Frank',23) #Name:Frank,Age:23(%d->int,%f->float,%s->string,%x->OXH)
二.Python集合的用法:
学过C#和Java的都知道. 这两门语言中的List,Dictionary,ArrayList是非常常用的,其实在Python中也有对应的List和Dic
1.List的用法. Python中的List通过[] 表示,其中List中可以放不同类型的数据,可以理解为是C#中的List<Object>,其中这里的List有所不同, 好比friendList[-1]其实返回的是friendList[Count- 1], 可以简单的理解为一个圆环,下标的范围是 -Count<=N < Count。其次Python的List也支持sort(),append(),Remove()这些方法,
#List用法 friendList =['Frank','Loch','Hardy']; print friendList #['Frank','Loch','Hardy'] print friendList.count #3 friendList.append(1) print friendList; ##['Frank','Loch','Hardy',1] #若类型,等价于C#中的List<object> print friendList[-1] # 1 print friendList[-2] #Hardy friendList.pop(); print friendList;['Frank','Loch','Hardy']
2.Tuple的用法. Python的Tuple用()表示,对于Tuple的数据一旦被声明,将无法修改,数据是只读的.
#tuple用法 friendTuple =("Frank","Loch","Hardy") friendTuple=(1,2,[3,4]); #tuple的数据无法修改
3.字典的用法.Python的字典用{}表示,与C#不同,在声明的时候如果有多个相同的Key,那么只保存最后一个. del实现对字典的删除,personInfo[keyName] 实现对字典的添加或者修改.keyName存在就修改数据,不存在就进行添加。
#字典 personInfo = {'Frank':23,'Hardy':24,'Loch':26,'Loch':25} print personInfo['Loch'] #25,后面的覆盖前面的. personInfo['Victor'] =23 print personInfo #{'Frank':23,'Loch':25,'Victor':23,'Hardy':24,} del personInfo['Victor'] print personInfo #{'Frank':23,'Loch':25,'Hardy':24,}
4.Set用法,不包含相同元素的List
#Set mySet = set([1,2,3,3,3]) print mySet #set([1,2,3]);
三.Python的循环与判断.
Python中没有像C#和java这种会把一些代码段用{}扩区来,对于Python用 : 号实现了括号的功能.
Note: print与if不在同一列,其实表明print是if这一列的子代码,属于if的{}之内. 不清楚为何要这样设计,不过习惯C#中的括号,真心觉得大括号更有利于代码的可读性.
#判断条件 age =10; tupe用法 if age>60: print '老年人' elif age>18: print '成年人' else: print '未成年人' #循环 numList = [1,2,3,4] for val in numList: print val
总结:以上也就Python最基础的语法,相信有C#基础的一定能够很轻松的看懂,语言这种东西还是要经常用才会熟练,不过小弟只是感兴趣才学的. 主要学习地方我还是重点在Python的网络编程,听说Python网络编程还比较牛逼(可以做网络爬虫),不知道是不是这回事. 还是先学学吧. 个人觉得,至少掌握一门动态语言还是有必要的. 学习一下不同语言之间的差异性.