首先,在之前,我不是一个 Python玩家,我只是一个使用者,需要即取,现在,我要认真学习和记录,正确称为一个Python的玩家。
说明,这明显不是教程,是我自己理解并记录的笔记而已。
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
例子:a=250 #int
b=12345678910L #long,也可以小写l结尾,但是很容易混乱,用大写L吧骚年。
c=0.1 #float
d=-5.32e10 #float,-5.32*10^10
e=35.23E-7 #float,35.23*10^-7
f=2j #complex
g=-1+3j #complex
h=8+7e10j #complex
字符串是由数字、字母、下划线组成的一串字符,和C++基本一样。
str ="pythonissimple"
下标还是从0开始,不像matlab这个“异端”...
取子串很简单,直接起始到结束下一位就可以了,比如print str[6:9],输出的就是iss,也就是输出左闭右开。
也可以用反过来取,作者真是闷骚…比如print str[-5,-1]输出的就是impl.
列表 感觉就像数组,不过一个列表什么都能放。用[]表示列表
比如list1=[1,2,‘python‘,1e-7,3+7i],
取第i个跟c++一样list1[i],比如print list1[2]输出的就是python
取子列表,跟字符串取子串一样,元祖字典什么的是这样取子串的。
值得一提的是,python有+,*分别代表连接两个列表,和重复多少次
比如我与list2=[‘cpp‘,123,‘java‘]
print list1+list2就是[1, 2, ‘python‘, 1e-07, (3+7j), ‘cpp‘, 123, ‘java‘]
print list1*2据是[1, 2, ‘python‘, 1e-07, (3+7j), 1, 2, ‘python‘, 1e-07, (3+7j)]
元祖在我看来,就是一个只读的列表,用()来表示,也就是比如tup1=(1,‘python‘),你不能够tup1[1]=0,列表是可以的。
字典,实际就是一个map映射。字典用"{ }"标识。字典由索引(key)和它对应的值value组成。如果你熟悉stl,这根本就一个道理。
比如 asc2={};asc2[‘a‘]=97,asc2[98]=‘b‘,我们print asc2的结果就是{‘a‘: 97, 98: ‘b‘}
另外,我们也可以直接用声明时候就: acs2={‘a‘: 97, 98: ‘b‘},查询的时候就acs2[‘a‘](弱弱地补充,不能用acs2[‘b‘],这是一个单向映射)
转换: int(x),float.long类似,
str(x)转换成字符串
list(s),tuple(s)就是将序列s转成列表、元祖。
chr(x),整数转成一个字符,ACSII.
ord(x),与chr成逆操作
hex(x),oct(x)十六禁止,八进制
说到进制,想起C编程专家里有一个笑话
程序员为什么分不清万圣节和圣诞节?(程序员的笑话真心太“有趣”了。。。)
因为Oct31=Dec25,Oct是八进制,Dec是十进制。八进制的31,就是3*8+1=25..
Just have a fun!