浅析Python基础知识

    据百度百科所载:python是一种面向对象,解释型,动态数据类型计算机程序设计语言,由Guido van Rossum在1989年发行。python简洁清晰,很方便的与其他语言结合在一起。openstack,谷歌部分爬虫组件,NASA和很多数据处理使用的都是python。python与C/C++语句块的设计思想不同,它的语法强制缩进。另外python也支持了matlab的很多计算方法,比如numpy,matplotlib,而且它是完全免费的吆。

    还是谈一下python的诞生吧,作为Monty Python喜剧的忠实粉丝,Guido van Rossum取了python作为新语言的名字。1989年Guido van Rossum吸收ABC语言的设计思想,开发了python,并且将python彻底开源。它从ABC发展而来,又吸收了shell和C的一些习惯。Python是一个完全面向对象的语言,追求简洁高效。

   本文整理了一些python的基础知识,最后也整理了一些python常见的面试题目。本文的python的具体目录如下:

   一python的变量数据类型和表达式

   二python的语法

   三python的流程控制

   四python的函数

   五python的包与模块

   六python的正则表达式

   七python的文件与目录

   八python的面向对象

   九python的异常处理

   十python的常见面试题目

    

    python的安装和使用请参考https://www.python.org/。python程序既可以解释执行,在追求效率的地方,也可以编译得到python程序的执行文件。具体的编译方法有两种,例如对如下的代码进行编译:

print ‘Hello World’
    
    

    1. 在python的命令行>>>下:

         >>>import py_compile

         >>>py_compile.compile(“test.py”)

    2. 在shell终端输入:

         # python -O -m py_compile test.py

    然后输入如下指令执行:

         # python test.pyc


一、python的变量、数据类型和表达式:

    1. python运算符,python的运算符中指数和lambda函数需要注意

运算符

描述

x+yx-y

加、减,“+”号可重载为连接符

x*yx**yx/yx%y

相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化

<<=>>===<>!=

比较运算符

+=-=*=/=%=**=<<=>>=&=^=|=

自变运算符

x|y

按位或

x^y

按位异或

x&y

按位与

~x

按位取反

x<<x>>y

x向左或向右移y

is, is not

等同测试

in, not in

是否为成员测试

orandnot

逻辑运算符

x[i]x[i:j]x.yx(…)

索引,分片,限定引用,函数调用

(…)[…]{…}‘…’

元组,列表,字典,转化为字符串

二、python的变量:

          python的变量不需要声明,并且支持布尔型、整型、浮点型、字符串、列表、元组、集合、字典等。具体的示例代码如下:

          请注意tuple与list的区别,tuple,list,dic的声明分别为(),[],{},tuple为不可变元组,list可以动态删除和插入(其实我感觉list好像hash map呀)。


    
    
  1. #boolean True/False
  2. data= True
  3. #int float string
  4. data= 1234
  5. data= 1234L
  6. data= 1234.0
  7. data= '123456789'
  8. copy=data[ -1]
  9. copy=data[ 1:]
  10. copy=data[ -1: 2: -1] #when using reversing [end:start:-1]
  11. copy=copy+data
  12. memAddr=id(data) #memAddr gets memory address of data
  13. type(data); # get data's type
  14. cmp(data,copy);
  15. #tuple
  16. data=( 'test', 22, 90)
  17. max(data);
  18. min(data);
  19. name, age, score = data
  20. data[ 2]
  21. #list
  22. data=[ 'test', 22, 90]
  23. #print data[2]
  24. data.append( 8888)
  25. data.remove(data[ 2])
  26. del(data[ 0])
  27. for item in data:
  28. print item
  29. "check" in data;
  30. item = [ 'name', 'age', 'gender']
  31. value = [ 'xiaoyi', '25', 'male']
  32. zip(item, value) # zip() will produce a new list:
  33. dic = { 'name': 'xiaoyi', 'age': 25, 'gender': 'male'}
  34. print dic[ 'name']
  35. dic[ 'append']= 'append_data';
  36. dic.pop( 'append')
  37. ddict = {}.fromkeys(( 'x', 'y'), -1) # built-in mode, default value is the same which is none

三、python流程控制代码:

    python流程控制的语句有 if, for, while。
    1. 如果for循环中没有执行break,那么将会之行for后面的else语句。


    
    
  1. <span style= "color:#000000;"> from __<em>future</em>__ <em> import</em> </span><em><span style= "color:#000000;">division
  2. #concrete division</span></em>
  3. data= 21
  4. if data< 20:
  5. print "small"
  6. elif data< 30:
  7. print "middle"
  8. else:
  9. print "big"
  10. if 1< 2 and 2< 3 or 2< 4 and not 0:
  11. print 'yeah'
  12. for item in "abcdef":
  13. print item
  14. for item in range( 1, 10, 2):
  15. print item
  16. while True:
  17. print 'Hello'
  18. x=raw_input( 'Please input set value for x, or q to exit')
  19. if x == 'q':
  20. break
  21. def add(x,y):
  22. return x+y;
  23. def sub(x,y):
  24. return x-y;
  25. operator={ "+":add, "-":sub}
  26. operator.get( "+")( 1, 2)
  27. operator.get( "-")( 1, 2)
  28. def cal(x, o, y):
  29. print operator.get(o)(x,y)
  30. cal( 2, "+", 3)
  31. for item in range( 0, 100):
  32. if(item== 0):
  33. break;
  34. else:
  35. print "No break";


四、python的函数
    python的函数传参数的时候注意tuple与dic作为参数时的修饰,分别为*和**。lambda函数用来定义简单的单行函数


    
    
  1. def fun(x, *args, **kwargs)://多变量,元祖和字典
  2. print x
  3. print args
  4. print kwargs
  5. fun( 1, 2, 3, 4, y = 10, z = 12) # x = 1, args = (2, 3, 4), kwargs = {'y': 10, 'z': 12}
  6. fun = lambda x,y : x*y # fun is a object of function class 
  7. print fun( 2, 3)
  8. def recursion(n):  //递归
  9.     if n > 1
  10.         return n * recursion(n -1)
  11.     else:
  12.         return n
  13. print recursion( 5);
  14. if __name__== "__main__"://这是python的入口函数

五、python的包与模版

    python可以很方便的直接包含当前目录下的模版,而使用包时,我们可以把多个py文件放到一个文件夹下,并且创建__init__.py文件,然后import 包名.模版名。


    
    
  1. #cal.py
  2. def add( x, y):
  3. return x+y
  4. if __name__== "__main__"://注意这是制定默认的python入口函数
  5. r=add( 2, 3)
  6. print r
  7. #b.py
  8. import cal
  9. result=cal.add( 1, 2)
  10. print result


六、python的正则表达式

    1.     python 正则表达式部分标识符说明:[]任意一个字符,[^abc]表示补集,^可以匹配行首,$可以匹配行尾,-表示范围,\表示转义符,{8}表示前面的规则出现8次,+表示出现一次或者多次,*表示出现零次或者多次,?表示非贪婪匹配,name_re = re.compile(r”xiaoyi”, re.I)表示不分大小写,w代表任意一个字符。

    2. 常用函数:

        search#返回第一个字符或者空。

        findall()#返回一个满足正则的迭代器。

        re.sub(reg, ‘dest’, target)#替换。

        dir(re)#打印re模块的属性和方法。
        re.M多行匹配:

    匹配串里面添加()时,匹配结果优先返回括号里面的内容。


    
    
  1. str = """
  2. hello mystr
  3. mystr hello
  4. hello test
  5. mystr hello
  6. """
  7. re.findall( r'mystr', str, re.M)
  8. re.findall( r'm(.+)r', str, re)

七、python的面向对象

九、异常处理


    
    
  1. try:
  2. python sql;
  3. except Exception as inst:
  4. do execption process;

参考文献:

[1]. python中的dic详解: http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html

[2]. python基础学习笔记:http://blog.csdn.net/zouxy09/article/details/16920541

[3]. python运算符:http://blog.163.com/zhulp0372@yeah/blog/static/11589447920117124348435/

[4]. python装饰器学习入门:http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html

[5]. python 在线编程实验室:http://www.pythoner.cn/labs/

[7]. 中谷教育python学习视频完整版本:http://pan.baidu.com/share/link?uk=2586215667&shareid=447652#path=%252F%25E4%25B8%25AD%25E8%25B0%25B7%25E6%2595%2599%25E8%2582%25B2-Python%25E8%25A7%2586%25E9%25A2%2591%25E6%2595%2599%25E7%25A8%258B%25EF%25BC%2588%25E5%25AE%258C%25E6%2595%25B4%25E7%2589%2588%25EF%25BC%2589

[8]. python 文档: https://www.python.org/doc/



        </div>
            </div>

    据百度百科所载:python是一种面向对象,解释型,动态数据类型计算机程序设计语言,由Guido van Rossum在1989年发行。python简洁清晰,很方便的与其他语言结合在一起。openstack,谷歌部分爬虫组件,NASA和很多数据处理使用的都是python。python与C/C++语句块的设计思想不同,它的语法强制缩进。另外python也支持了matlab的很多计算方法,比如numpy,matplotlib,而且它是完全免费的吆。

    还是谈一下python的诞生吧,作为Monty Python喜剧的忠实粉丝,Guido van Rossum取了python作为新语言的名字。1989年Guido van Rossum吸收ABC语言的设计思想,开发了python,并且将python彻底开源。它从ABC发展而来,又吸收了shell和C的一些习惯。Python是一个完全面向对象的语言,追求简洁高效。

   本文整理了一些python的基础知识,最后也整理了一些python常见的面试题目。本文的python的具体目录如下:

   一python的变量数据类型和表达式

   二python的语法

   三python的流程控制

   四python的函数

   五python的包与模块

   六python的正则表达式

   七python的文件与目录

   八python的面向对象

   九python的异常处理

   十python的常见面试题目

    

    python的安装和使用请参考https://www.python.org/。python程序既可以解释执行,在追求效率的地方,也可以编译得到python程序的执行文件。具体的编译方法有两种,例如对如下的代码进行编译:

print ‘Hello World’
  
  

    1. 在python的命令行>>>下:

         >>>import py_compile

         >>>py_compile.compile(“test.py”)

    2. 在shell终端输入:

         # python -O -m py_compile test.py

    然后输入如下指令执行:

         # python test.pyc


一、python的变量、数据类型和表达式:

    1. python运算符,python的运算符中指数和lambda函数需要注意

运算符

描述

x+yx-y

加、减,“+”号可重载为连接符

x*yx**yx/yx%y

相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化

<<=>>===<>!=

比较运算符

+=-=*=/=%=**=<<=>>=&=^=|=

自变运算符

x|y

按位或

x^y

按位异或

x&y

按位与

~x

按位取反

x<<x>>y

x向左或向右移y

is, is not

等同测试

in, not in

是否为成员测试

orandnot

逻辑运算符

x[i]x[i:j]x.yx(…)

索引,分片,限定引用,函数调用

(…)[…]{…}‘…’

元组,列表,字典,转化为字符串

二、python的变量:

          python的变量不需要声明,并且支持布尔型、整型、浮点型、字符串、列表、元组、集合、字典等。具体的示例代码如下:

          请注意tuple与list的区别,tuple,list,dic的声明分别为(),[],{},tuple为不可变元组,list可以动态删除和插入(其实我感觉list好像hash map呀)。


  
  
  1. #boolean True/False
  2. data= True
  3. #int float string
  4. data= 1234
  5. data= 1234L
  6. data= 1234.0
  7. data= '123456789'
  8. copy=data[ -1]
  9. copy=data[ 1:]
  10. copy=data[ -1: 2: -1] #when using reversing [end:start:-1]
  11. copy=copy+data
  12. memAddr=id(data) #memAddr gets memory address of data
  13. type(data); # get data's type
  14. cmp(data,copy);
  15. #tuple
  16. data=( 'test', 22, 90)
  17. max(data);
  18. min(data);
  19. name, age, score = data
  20. data[ 2]
  21. #list
  22. data=[ 'test', 22, 90]
  23. #print data[2]
  24. data.append( 8888)
  25. data.remove(data[ 2])
  26. del(data[ 0])
  27. for item in data:
  28. print item
  29. "check" in data;
  30. item = [ 'name', 'age', 'gender']
  31. value = [ 'xiaoyi', '25', 'male']
  32. zip(item, value) # zip() will produce a new list:
  33. dic = { 'name': 'xiaoyi', 'age': 25, 'gender': 'male'}
  34. print dic[ 'name']
  35. dic[ 'append']= 'append_data';
  36. dic.pop( 'append')
  37. ddict = {}.fromkeys(( 'x', 'y'), -1) # built-in mode, default value is the same which is none

三、python流程控制代码:

    python流程控制的语句有 if, for, while。
    1. 如果for循环中没有执行break,那么将会之行for后面的else语句。


  
  
  1. <span style= "color:#000000;"> from __<em>future</em>__ <em> import</em> </span><em><span style= "color:#000000;">division
  2. #concrete division</span></em>
  3. data= 21
  4. if data< 20:
  5. print "small"
  6. elif data< 30:
  7. print "middle"
  8. else:
  9. print "big"
  10. if 1< 2 and 2< 3 or 2< 4 and not 0:
  11. print 'yeah'
  12. for item in "abcdef":
  13. print item
  14. for item in range( 1, 10, 2):
  15. print item
  16. while True:
  17. print 'Hello'
  18. x=raw_input( 'Please input set value for x, or q to exit')
  19. if x == 'q':
  20. break
  21. def add(x,y):
  22. return x+y;
  23. def sub(x,y):
  24. return x-y;
  25. operator={ "+":add, "-":sub}
  26. operator.get( "+")( 1, 2)
  27. operator.get( "-")( 1, 2)
  28. def cal(x, o, y):
  29. print operator.get(o)(x,y)
  30. cal( 2, "+", 3)
  31. for item in range( 0, 100):
  32. if(item== 0):
  33. break;
  34. else:
  35. print "No break";


四、python的函数
    python的函数传参数的时候注意tuple与dic作为参数时的修饰,分别为*和**。lambda函数用来定义简单的单行函数


  
  
  1. def fun(x, *args, **kwargs)://多变量,元祖和字典
  2. print x
  3. print args
  4. print kwargs
  5. fun( 1, 2, 3, 4, y = 10, z = 12) # x = 1, args = (2, 3, 4), kwargs = {'y': 10, 'z': 12}
  6. fun = lambda x,y : x*y # fun is a object of function class 
  7. print fun( 2, 3)
  8. def recursion(n):  //递归
  9.     if n > 1
  10.         return n * recursion(n -1)
  11.     else:
  12.         return n
  13. print recursion( 5);
  14. if __name__== "__main__"://这是python的入口函数

五、python的包与模版

    python可以很方便的直接包含当前目录下的模版,而使用包时,我们可以把多个py文件放到一个文件夹下,并且创建__init__.py文件,然后import 包名.模版名。


  
  
  1. #cal.py
  2. def add( x, y):
  3. return x+y
  4. if __name__== "__main__"://注意这是制定默认的python入口函数
  5. r=add( 2, 3)
  6. print r
  7. #b.py
  8. import cal
  9. result=cal.add( 1, 2)
  10. print result


六、python的正则表达式

    1.     python 正则表达式部分标识符说明:[]任意一个字符,[^abc]表示补集,^可以匹配行首,$可以匹配行尾,-表示范围,\表示转义符,{8}表示前面的规则出现8次,+表示出现一次或者多次,*表示出现零次或者多次,?表示非贪婪匹配,name_re = re.compile(r”xiaoyi”, re.I)表示不分大小写,w代表任意一个字符。

    2. 常用函数:

        search#返回第一个字符或者空。

        findall()#返回一个满足正则的迭代器。

        re.sub(reg, ‘dest’, target)#替换。

        dir(re)#打印re模块的属性和方法。
        re.M多行匹配:

    匹配串里面添加()时,匹配结果优先返回括号里面的内容。


  
  
  1. str = """
  2. hello mystr
  3. mystr hello
  4. hello test
  5. mystr hello
  6. """
  7. re.findall( r'mystr', str, re.M)
  8. re.findall( r'm(.+)r', str, re)

七、python的面向对象

九、异常处理


  
  
  1. try:
  2. python sql;
  3. except Exception as inst:
  4. do execption process;

参考文献:

[1]. python中的dic详解: http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html

[2]. python基础学习笔记:http://blog.csdn.net/zouxy09/article/details/16920541

[3]. python运算符:http://blog.163.com/zhulp0372@yeah/blog/static/11589447920117124348435/

[4]. python装饰器学习入门:http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html

[5]. python 在线编程实验室:http://www.pythoner.cn/labs/

[7]. 中谷教育python学习视频完整版本:http://pan.baidu.com/share/link?uk=2586215667&shareid=447652#path=%252F%25E4%25B8%25AD%25E8%25B0%25B7%25E6%2595%2599%25E8%2582%25B2-Python%25E8%25A7%2586%25E9%25A2%2591%25E6%2595%2599%25E7%25A8%258B%25EF%25BC%2588%25E5%25AE%258C%25E6%2595%25B4%25E7%2589%2588%25EF%25BC%2589

[8]. python 文档: https://www.python.org/doc/



        </div>
            </div>

猜你喜欢

转载自blog.csdn.net/weixin_37413035/article/details/82659362