http://www.pythonclub.org/python-basic/start
http://my.oschina.net/captaintheron/blog/6437
一、Python 变量类型
Python是有变量类型的,而且会强制检查变量类型。
内置的变量类型有如下几种:
#整型 integer_number = 90 #浮点 float_number = 90.4 #复数 complex_number = 10 + 10j #list 序列 sample_list = [1,2,3,'abc'] #dictionary 字典 sample_dic = {"key":value, 2:3} #tuple 只读的序列 sample_tuple = (1,3,"ab") #嵌套 sample_nest = [(1,2,3),{1:2,3:4,'key':[1,2]},3]
二、一切都是对象
'str str'.split() # ['str', 'str'] # 1..is_integer() # True # is_integer(1) # True # 1.0.is_integer() # False [3,2,1].sort() # [1,2,3] sort([2,1,3]) # [1,2,3]
三、Python 程序流程控制
条件判断结构
flag1 = some_value flag2 = other_value if flag1: do_function_1() elif flag2: do_function_2() else: do_function_3()
循环结构
for i in range(0, 10): print(i) for i in ['a','b','c','dd','eee']: print(i)
四、字符串
表示方法:
* 字符串用单引号、双引号或三重引号进行标识
* 三重引号标识的字符串可任意换行
* 可使用反斜杠对单引号或双引号标识的字符串进行分行
* 在字符串前加"r"后可使转义符号(如"\n"、"\t"等)失效
* 在字符串前加"u"后将定义为 Unicode 字符串(可在字符串中使用 Unicode-Escape 编码)
* "u"和"r"可联合使用,标识为"ur"
运算符:
* 可以使用"+"号来进行连接,如 "abc" + "def"
* 两个字符串值之间会自动连接(只限字符串,变量和表达式不可),如 "str" "ing"
* 可以使用"*"号来进行重复,如 "abc" * 5
* 使用使用函数"len()"返回字符串长度
分割(切片):
* 字符串可使用下标(索引)来查询,如 "word[4],word[0:2],word[2:],word[:4]"
* 下标从0开始
* 查询出的字符串为只读,不能使用字符串索引赋值
* word[:2] + word[2:] 等于 word
* 索引可以为负数,为负数时计数从右边开始
#1.复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 #2.连接字符串 #strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print sStr1 #3.查找字符 #strchr(sStr1,sStr2) sStr1 = 'strchr' sStr2 = 'r' nPos = sStr1.index(sStr2) print nPos #4.比较字符串 #strcmp(sStr1,sStr2) sStr1 = 'strchr' sStr2 = 'strch' print cmp(sStr1,sStr2) #5.扫描字符串是否包含指定的字符 #strspn(sStr1,sStr2) sStr1 = '12345678' sStr2 = '456' #sStr1 and chars both in sStr1 and sStr2 print len(sStr1 and sStr2) #6.字符串长度 #strlen(sStr1) sStr1 = 'strlen' print len(sStr1) #7.将字符串中的小写字符转换为大写字符 #strlwr(sStr1) sStr1 = 'JCstrlwr' sStr1 = sStr1.upper() print sStr1 #8.追加指定长度的字符串 #strncat(sStr1,sStr2,n) sStr1 = '12345' sStr2 = 'abcdef' n = 3 sStr1 += sStr2[0:n] print sStr1 #9.字符串指定长度比较 #strncmp(sStr1,sStr2,n) sStr1 = '12345' sStr2 = '123bc' n = 3 print cmp(sStr1[0:n],sStr2[0:n]) #10.复制指定长度的字符 #strncpy(sStr1,sStr2,n) sStr1 = '' sStr2 = '12345' n = 3 sStr1 = sStr2[0:n] print sStr1 #11.字符串比较,不区分大小写 #stricmp(sStr1,sStr2) sStr1 = 'abcefg' sStr2 = 'ABCEFG' print cmp(sStr1.upper(),sStr2.upper()) #12.将字符串前n个字符替换为指定的字符 #strnset(sStr1,ch,n) sStr1 = '12345' ch = 'r' n = 3 sStr1 = n * ch + sStr1[3:] print sStr1 #13.扫描字符串 #strpbrk(sStr1,sStr2) sStr1 = 'cekjgdklab' sStr2 = 'gka' nPos = -1 for c in sStr1: if c in sStr2: nPos = sStr1.index(c) break print nPos #14.翻转字符串 #strrev(sStr1) sStr1 = 'abcdefg' sStr1 = sStr1[::-1] print sStr1 #15.查找字符串 #python strstr #strstr(sStr1,sStr2) sStr1 = 'abcdefg' sStr2 = 'cde' print sStr1.find(sStr2) #16.分割字符串 #strtok(sStr1,sStr2) sStr1 = 'ab,cde,fgh,ijk' sStr2 = ',' sStr1 = sStr1[sStr1.find(sStr2) + 1:] print sStr1
五、自定义函数
#语句结构: def 变量名(参数列表): 语句体 return 返回值
注意事项:
* 函数必须先定义才能使用,即函数的定义必须在使用它的语句之前
* 调用函数时要在函数名后加"()",否则调用的是函数的地址
* 如果函数中没有"return"语句或"return"语句为空时,返回的值为"None"
* 函数的参数中可直接使用事件定义过的变量名
* Python中的变量皆为全局变量,变量在函数中被修改后,函数外使用时为修改为的值
* 函数中的变量一般为局部变量,但由于列表和字典传递时传递的是地址,所以会修改原变量内容
* 可以在变量前加"global"声明为全局变量。如"global x"
* 函数起始行的多行字符串可以使用"函数名.doc"来调用。适合编写函数说明