Python初学知识点小结

1、注意设置编码,防止中文出错:#coding=utf-8
    输出:print ”hellO"
格式化输出:
print "%s %s test" %("s1" ,"s2")
2、标识符:区分大小写,字符、数字、下划线,数字不能开头,下划线在类中有特殊含义:
   _foo:不能直接访问类的属性,__foo:类的私有属性,__foo__:特殊方法专用标识。
   新型运算符:  /整除   //浮点数整除 20.9//7=2   ** 乘方运算   2**3=8
   字符串运算:连接运算 +  重复运算 *    索引[]
   Ture  数值运算是为1 False数值运算为0 
   
3、缩进:采用缩进和空行代替{}表示代码块,缩进要对齐,否则出现“indent”错误。
4、多行显示:\分割
   total = item_one + \
        item_two + \
        item_three
   语句中包含 [], {} 或 () 括号就不需要使用多行连接符:
   days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']
   多行代码:用;分割
   print 'hello';print 'runoob';
5、字符串:单引号、双引号表示字符串,三引号(''',""" """)可表示多行字符串,或多行注释。
6、注释:#表示一行注释,三引号(''',""" """)可表示多行注释。
   文档注释:模块、类、函数起始的字符串
7、用户输入 raw_input();  raw_input("input some")输出:(1)import sys; x = 'runoob'; sys.stdout.write(x + '\n')(2)print x;#换行输出,print x,y;#不换行输出。
8、命令行参数(后续详解):import sys ; print sys.argv
9、变量不需要声明,变量在内存中赋值时,才会根据类型分配内存空间。
   python支持以下赋值方式:
         a=1                    #整数
b=1.0                  #浮点数
c="string"             #字符串
a=b=c=1                #等价于a=1;b=1;c=1;#其他语言报错
a,b,c=1,1.0,"string"   #等价于a=1;b=1.0;c="string"
   变量类型:
   (1)数字:
      int,long(12123L,0xABC),flaot(1.0),complex-复数(1+2j,complex(1,2))
   (2)字符串:  
      s=“string" s='string'
 字符串->字符串列表:
    字串列表有2种取值顺序:
         >>从左到右索引默认0开始的,最大范围是字符串长度少1.
         >>从右到左索引默认-1开始的,最大范围是字符串开头.
eg:s[0]---'i'
 取子字符串:变量[头下标:尾下标]  #注意取不到下标,返回的是新对象
    eg:s[1:3]---'tr'
 字符串连接:+
    s+"test"---stringtest
 重复操作:  *
    eg: print s*3   #stringstringstring
   (3)列表:采用[]表示,有序集合,支持字符,数字,字符串甚至可以包含列表(即嵌套)。
      分割:变量[头下标:尾下标]
       >>从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
>>加号 + 是列表连接运算符,星号 * 是重复操作。
   (4)元组:采用()表示,是“只读的list”
      错误:tuble[1]="w"
            !TypeError: 'tuple' object does not support item assignment
   (5)字典:采用{}表示,无序的对象集合,不通过偏移只能通过键值取值。
            {K,V}格式:
      tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print tinydict                                           # 输出完整的字典
                print tinydict.keys()                                    # 输出所有键
                print tinydict.values()                                  # 输出所有值
10、数据类型转换
    数值转换:int() flaot() complex()
对象转字符串:str()
   +序列转元组列表:list() tuple()
整数转字符:chr() unichr()
字符转整数:ord() 
   +字符串转数值表达式: eval() 
    查看数据类型:type()  isinstance()
11、运算符
    算术运算符:/除 //整除 % 取余  **幂运算符
比较运算符:==  <> !=
赋值运算符: += %=
位运算符:& 
   +逻辑运算符:and or  not
   +成员运算符:测试是否属于序列、元组、字符串的成员 in   not in  #a in list ;a not  in list
   +身份运算符:判断标识符是否引用同一个对象(内存)is  is not 
   +注意==是比较对象是否相等,is是判断标识符是否指向同一对象,注意区别。类似Java equal(),部分int类型分配同一内存。\
    尽量不要使用is == 相互歧义的代码,这一块代码容易出错。
   优先级:()
12、条件语句:
    if condition:
  ...
elif condition:
  ...
else:
  ...
eg:
  a="hello"
       b="hello world!"
       c=b[0:5]
       if a==c:
          print 'a==c'                 #run 
       if a is not c:
          print "a==c but a is not c"  #run 
       else:
          print"a is c"                #skip
13、循环语句:只存在while for 循环,continue 、break、pass
 (1)while condition:
     ...

 (2)while condition:
     ...            #condition ==ture ,at least run one time
else:
     ...            #only run once time
 (3)for var in seq:       #seq -> (string、list、touple)
          ...
eg:
  for c in "hello"
    print c
  for i  in range(1,10,2): #range;返回一个数的序列,注意左边为上限,取不到。
         print i
 (4) pass 空语句 相当于C中的nop()
14、number:
    类型转换函数:int() flaot() complex() ord()  eval()
数学函数:sqrt() abs() floor() cmp(x,y)
随机函数:random() #0-1随机数;
         uniform(x,y) #随机生成x-y之间的实数
 choice()   #从序列中随机抽取一个数
 shuffle()   #将序列重新排序
三角函数:
        sin() cos() acos()
常量:pi e 
15、字符串
    python中无单字符号,全为字符串。
转义字符:\n \r  \' \" \000
字符串操作:链接+ 重复 *  索引:[] 成员:in not in 原始字符串:在字符串前 r或R r'\n' #转义字符不转义。
格式化字符串:%s %d %c
  eg:print "%s %s"    %   ("hello","world!")
str.format()函数:使用{} :代替%
"{1}{0}".format("world”,"hello")
"{name}{phone}".format(name=“zhang3",phone="10087")
"{0.[0]}{0.[1]}".format(["hello","world"])
"{:.2f}".format(3.1415926) #保留小数点2位
    内建函数:lower()转小写 replace()  upper() encode()
对于汉字若采用unicode时,前面加u,eg :u”黄“
16、列表:
    列表成员数据类型可以不同,采用索引读写。
更新:list[1]=1
删除:del list[1]
连接、重复:+ *
in 、for x in list
函数:len(list)  max()  min() list() cmp(list1,list2)  \\list(seq)#转换函数
方法:list.append()  .count()  .index()   .pop()  .remove() .reverse()  .sort()
列表解析简介:
range(2)  ---[0,1]   
a=[x **2 for x in range(3)]
 
17、列表:
    一个成员的元组需要加“,”否则出错,语句歧义。touble=(1)  touble=(1,)
元组不能修改,但允许del +  *
内置函数:len()  max()  min() cmp() tuple()
18、字典:键值唯一
    增加修改:dic["key"]=value
删除: del dic["key"]
    函数:pop()  len()  type() formkeys(k,v)
19、时间日期 import time
    时间戳:time.time()
时间元组:time.localtime(time.time())
获取格式化时间:time.asctime(time.localtime(time.time()))
格式化日期:time.strftime(format[, t])
           eg:# 格式化成2016-03-20 11:45:39形式
                   print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
                   # 将格式字符串转换为时间戳
                   a = "Sat Mar 28 22:24:24 2016"
                   print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
    获取日历:import calendar
         calendar.month(2017, 10)
函数: time.sleep() time.clock() time.ctime()  calendar.calendar()
模块:datatime pytz datautil
20、函数:
    格式定义:
def functionname(parameters):
   "function description"
function statements
return [exp]
    eg:
def printme( str ):
        "打印传入的字符串到标准显示设备上"
        print str
        return
    形参:数字、字符串、元组(值传递,不可变对象,每次赋值时都会指向创建一个新对象)
实参:字典、列表(可变对象,操作指向同一个地址)
批注:python 修改不可变对象,实际时创造一个新对象,并重新引用之。
参数:
必备参数:传入顺序和数量必须和声明一致:function(name,age)
关键字参数:允许顺序和声明不一致:function(age=18,name="zhang3")
缺省参数:没有参数时,默认值代替def function(name,age=10):
不定长参数:def function(name,*msg):  #加了*的msg代表所有未命名的参数
匿名函数:lambda [arg1 [,arg2,.....argn]]:expression
       eg: lambda arg1,arg2:arg1+arg2;
return: none
全局变量:函数外,global;内部变量:函数内。
21、文件操作:
    hand=open(filename,mode)
close  readlines()
22、错误和异常 
    try / except  raise
23、类
    class  classname(fatherclass[es]):
           "class..."
  a=1...
  def function(self)..    #方法参数不能为空  一般第一个参数为self
  
    __init__(self,a="null parameters"):   #初始化/构造函数
     ...
  
    self 自身的引用 相当于this
创建实例  a=classname()
type() 返回对象类型
24、模块
import sys


*python对象:身份、类型、值
    身份:内存地址  id()
类型: type()
none对象
type:所有对象的继承、
内部类型:
代码对象:通过compile() 获得代码对象,执行exec()执行。
帧对象:
跟踪记录对象:异常时记录
切片对象:sequence[start:end:step]
省略对象:Ellipsis,
XRange对象 
对象比较:是否指向同一对象:is  is not 
repr()   ``  计算并返回字符串

*类型即是类
    2.2版本以后,类型函数也是类,
即为类型工厂函数:
int() float()  type() list() touple()

 













  








 
 
    
 
         



   
 

你可能感兴趣的:(Python)