一.  基 础 python

python开头两行注释代码意义:

        #!/usr/bin/python

是用来说明脚本语言是python的,是要用/usr/bin下面的程序(工具)python,这个解释器,来解释python脚本,来运行python脚本的。

# -*- coding: utf-8 -*-

是用来指定文件编码为utf-8的。

注释:以#开头的语句是注释,''' '''  三个单引号是多行注释。

1.   输出: print 'hello python'  

    print语句也可以跟上多个字符串,用逗号“,”隔开

    输入: name = raw_input()

       

2.   数据类型和变量

1)转义字符:转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。Python还允许用r''表示''内部的字符串默认不转义.

2) Python允许用'''...'''的格式表示多行内容.

3) 布尔值可以用andornot运算。

4)空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

5)变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头.

6)等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量.

7)常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:PI = 3.14159265359

         但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变.

Python算术运算符

字符串编码参考:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html

 二.  list 和 tuple 、dict和set

1.list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

1)len()  函数可以获得list元素的个数.

2)append()  可以往list中追加元素到末尾:classmates.append('Adam')

3)insert()  把元素插入到指定的位置:classmates.insert(1, 'Jack')

4)pop()   删除list末尾的元素:classmates.pop();要删除指定位置的元素,用pop(i)方法,其中i是索引位置.

5)用索引来访问list中每一个位置的元素,记得索引是从0开始.如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,可以倒叙取值。

6) list里面的元素的数据类型也可以不同.list元素也可以是另一个list

  2.tuple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

1)当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来。

2)如果要定义一个空的tuple,可以写成(): t = ()。

3)有1个元素的tuple定义时必须加一个逗号, 如:t = (1,)。

4)用classmates[0]classmates[-1]取值,但不能赋值成另外的元素。

  3.dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

1)要避免key不存在的错误,有两种办法,一是通过in判断key是否存在;二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value.

2)pop(key)  要删除一个key,用pop(key)方法,对应的value也会从dict中删除.

3)需要牢记的第一条就是dict的key必须是不可变对象.

 4 .set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

1)通过add(key)方法可以添加元素到set中.

2)通过remove(key)方法可以删除元素.

3)两个set可以做数学意义上的交集、并集等操作.

三.条件判断和循环

1.条件判断

一般默认缩进4个空格。

2.循环

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来。

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

raw_input()读取的内容永远以字符串的形式返回,把字符串和整数比较就不会得到期待的结果,必须先用int()把字符串转换为我们想要的整型

四.函数

1.Python内置了很多有用的函数 :http://docs.python.org/2/library/functions.html#abs

2.定义函数:定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

3.空函数

4.参数检查:数据类型检查可以用内置函数isinstance实现

5.参数:

默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误!

要注意定义可变参数和关键字参数的语法:

     *args是可变参数,args接收的是一个tuple;

     **kw是关键字参数,kw接收的是一个dict。

以及调用函数时如何传入可变参数和关键字参数的语法:

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3))

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})

使用*args**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

 五.高级特性

  1.切片

对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。

2.迭代

如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.itervalues(),如果要同时迭代key和value,可以用for k, v in d.iteritems()

3.列表生成器

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。

    4.生成器

这就是定义generator的另一种方法。如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator:

5.高阶函数

1)变量可以指向函数

结论:函数本身也可以赋值给变量,即:变量可以指向函数。

2)函数名也是变量

对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!

3)传入函数

既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

4)map/reduce

Python内建了map()reduce()函数。

     1> map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回.

2>reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

 5)filter

Python内建的filter()函数用于过滤序列。

map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

6)sorted

Python内置的sorted()函数就可以对list进行排序:

        sorted()函数也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序。比如,如果要倒序排序,我们就可以自定义一个reversed_cmp函数:

     7)返回函数

函数作为返回值,高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。

闭包:

8)匿名函数

关键字lambda表示匿名函数,冒号前面的x表示函数参数。

匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果

 9)装饰器

假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,decorator就是一个返回函数的高阶函数。

    10)偏函数

    functools.partial就是帮助我们创建一个偏函数的,functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

相当于

python2.7.9基础学习的更多相关文章

  1. python入门到精通[三]:基础学习(2)

    摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...

  2. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  3. 0007-20180403-python-自动化基础学习000--while-if 循环实操

    python-自动化基础学习000 Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64 ...

  4. 0001-20180421-自动化第一章-python基础学习笔记

    ======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...

  5. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  6. 零基础学习 Python 之前期准备

    写在之前 从今天开始,我将开始新的篇章 -- 零基础学习 Python,在这里我将从最基本的 Python 写起,然后再慢慢涉及到高阶以及具体应用方面.我是完全自学的 Python,所以很是明白自学对 ...

  7. python基础学习9

    python基础学习 内容概要 字符编码的简介 字符编码的发展史 字符编码的实际应用 文件操作简介 文件读写模式 文件操作模式 文件操作方法 内容详情 字符编码的简介 # 字符编码主要研究的对象是文本 ...

  8. python基础学习8

    python基础学习8 内容概要 字典的内置方法 元组的内置方法 集合的内置方法 垃圾回收机制 内容详情 字典的内置方法 一.类型转换 res = dict(name='jason', pwd=123 ...

  9. python基础学习6

    Python的基础学习6 内容概要 while + else 死循环.while的嵌套 for循环基本使用 range关键字 for循环补充.爬虫 基本数据类型及内置方法 内容详情 while + e ...

随机推荐

  1. Call me evilxr

    我是Evilxr,博客新开第一天:希望自己能坚持下去!之前友友推荐的是oschina,使用了一段时间发现oschina经常抽风,再者自己平时也有关注一些博客觉得cnblogs也不错,开博的初衷是想记录 ...

  2. 全面解析sizeof(下) 分类: C/C++ StudyNotes 2015-06-15 10:45 263人阅读 评论(0) 收藏

    以下代码使用平台是Windows7 64bits+VS2012. sizeof作用于基本数据类型,在特定的平台和特定的编译中,结果是确定的,如果使用sizeof计算构造类型:结构体.联合体和类的大小时 ...

  3. Servlet执行流程和生命周期【慕课网搬】

    Servlet执行流程(GET方式为例) 首先用户客户端浏览器发出Get方式(点击超链接方式)向浏览器发出请求. 服务器接收到客户端点击超链接,接收到GET请求之后,服务器到WEB.xml中<s ...

  4. LINQ 客户端生成自增列

    var testQuery = (from item in TestInfo.GroupBy(t=>t.TestName) select new { TestCode = item.Min(g= ...

  5. N个节点的二叉树有多少种形态

    来源:http://www.cnblogs.com/ShaneZhang/p/4102581.html 这是一道阿里的面试题.其实算不上新鲜,但是我之前没关注过,如今碰到了,就顺便探讨下这个问题吧:) ...

  6. fastdfs 安装配置

      介绍文档   1.安装 # wget # tar xf download # cd FastDFS/ # ./make.sh 运行文件 有报错信息 compilation terminated. ...

  7. Beta版本冲刺——day7

    No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 站立式会议 今日计划表 人员 工作 ...

  8. GP 环境参数名称列表

    Using environment settings In this topic About using environment settings Environment settings summa ...

  9. ubuntu安装php5.3

    sudo -i wget http://in1.php.net/distributions/php-5.3.29.tar.bz2 .tar.bz2 cd php- apt-get install li ...

  10. (转载)iOS开发历程书籍推荐

    http://www.zhihu.com/question/19649679 我来说说我学习的过程:(无耻的使用一个回答 回答了很多问题.^^) 第一步,精读 Stephen G. Kochan 的& ...