python基础

python版本切换

进入python时输入py -2是进入python2,输入py -3是进入python3。

pip

首先推荐安装pip这个python包管理工具,它在liunx和windows上都可以使用。有了它,安装各种python模块都很方便。对于python的各种模块,一般直接输入命令 pip install modulename就可以安装成功。
如numpy模块:
pip install numpy

字符
  • python的字符串表示可以用双引号或单引号,都 表示字符串。这种灵活性可以在字符串中包含引号,只要和最外面引号不一样即可。
  • str(var)
    可把var变为字符串类型。
  • int(var)
    可把vat变为整型。
  • var[1:3]
    截取下标1到2的字符。
  • var1 in var
    返回true or false,var1是否在var中。
注释
 1. 单行注释
         + 单行注释是#code。
 2. 多行注释
         + 多行注释是'''code'''(三引号,双引号或单引号都可)
列表

注: 同一列表中可以存在任何类型的元素。
table = ["1","2","3"];

  • 访问最后一个元素:table[-1],倒数第二个table[-2],以此类推。
  • 添加元素
    在列表末尾添加(append)
    table.append(var);
    在任何位置插入元素(insert)
    table.insert(index,var);//添加元素var使他的下标为index;
  • 删除元素(del)
    1. del 删除元素
      del table[index];
    2. pop()弹出并返回列表末尾的元素
      var = table.pop();
    3. pop(index)弹出并返回列表中任一位置的元素
    4. remove(var)根据值删除元素(只删除第一个出现的值)
      table.remove(var)
  • 合并列表(extend)
    list1 = [1,2,3]
    list2 = [4,5,6]
    list = list1.extend(list2);
    list = [1,2,3,4,5,6];
  • 排序
    1. 永久排序
      sort()
      table.sort(); 默认字典序
      table.sort(reverse = True);反字典序
    2. 临时排序,只是为了输出等,不改变原列表的顺序
      sorted()
      sorted(table);//返回排序后的列表
      sorted(table,reverse = True);
  • 列表反转
    reverse()
    table.reverse();
  • 列表长度
    len()
    len(table);
  • 转化为列表
    list()
    比如把一串数字转化为列表:
    n = list(range(1,4,2));//range(1,4,2)是指从1开始每次加2(默认是1)加入数字串,直到数字大于或等于4(不包括4),如果省略第一个参数,那么默认从0开始。
  • 列表解析
    列表解析是一句话生成一个想要的列表:
    squares = [value**2 for value in range(1,11)]
    表达式是value**2,for循环为表达式提供值。整个列表的元素就是所有的value**2。(python中**是乘方运算)
  • 列表切片
    列表切片其实就是截取列表的一部分使之成为一个新的列表
    n = [1,2,3,4,5];
    n = n[1:3];
    意思是取列表n从下标1开始到下标2的这一部分做为一个新的列表赋值给n。
  • 复制列表
    n = [1,2,3,4];
    m = n[:];
    这是正确的复制列表,即取n的整个切片,而
    n = [1,2,3,4];
    m=n;
    是错误的,这里m和n指向同一个列表,没达到复制的目的(注意与其他语言的不同)
  • 判断列表是否为空:
    n = [];
    if(n);//python中列表至少有一个元素时返回true
  • 使用集合函数set()
    集合函数set()去除列表中相同的元素:
    a = [1,2,3,1];
    a = set(a);//集合去除相同的值,保证集合中的元素各不相同
  • 查找列表符合条件的元素个数
    • count()
      list.count(list[0]);//返回list中等于list[0]的元素个数
    • index()
      list.index(value);//查找列表中值等于value的第一个项的索引(下标)
  • 其他列表相关
    • 列表和数字相乘
      [1]*3:上述返回[1,1,1];
      [1,1]*3:上述返回[1,1,1,1,1,1];
元组-不可修改的列表
  • 元组是小括号()表示。
    yz = (200,50);
    即yz元组有两个元素200和50;修改元组的值将会报错;如果需要存储不可变的一组值,可以使用元组。
  • 遍历元组
    和遍历列表一样;
集合
  • set():无序不重复元素集,顾名思义。主要做一些交,并等数学运算。集合和字典一样,都是用{}大括号表示。
    a = [1,2,2,3];
    a = set(a)
    {1,2,3}
字典
  • 字典是一系列的键值对,其中值可以对应数字,字符串,列表乃至字典等任何python对象。
    如:
    • 字典定义:
      1. alien = {'color':'green','points':5};
      2. 利用关键字dict创建字典:
        a=dict(boxstyle ="sawtooth",fc="0.8");
        >>> {'boxstyle': 'sawtooth', 'fc': '0.8'}
    • 访问字典元素:alien['color'];
      1. 添加键值对:
        alien = {'color':'green','points':5};
        alien['x']=0;alien['y']=1;//添加x,y
        :键值对的添加顺序和排列顺序不同,python不关注键值对的存储顺序,只关注键值对之间的关联关系。
      2. 删除键值对
        del alien['x'];
      3. 遍历字典
        • a = ['1':0,'2':3];
          for key,value in a.items():
            print(key);
            print(value);
          这里使用了字典的一个方法item(),它返回一个键值对列表。
        • 当不使用值时,可以只遍历键:
          for key in a.keys():
           print(key);
          这里使用了key()方法,提取键列表。
        • 当不使用键时只使用值时,可以只遍历值:
          for value in a.values():
             print(value);
    • 字典长度
      • len()
循环
  • for name in array:
       print(name);
       print(name.title());
    注:python是按缩进来区分代码块的,而不是一般语言中的大括号{},所以上面的两个print都是在一个for循环。python中的缩进是非常严格的,不该缩进的缩进还将产生语法错误!
  • while
    while a>=5:
     print();
     a--;
条件语句
  • if-elif-else
    if car =="jj":
      print();
    elif car =="dd":
      print();
    else:
      print();
  • and/or
  • in/not in
    判断元素是(否)在列表中:
    >>>n=[1,2,4,8];
    >>>"88" in n:
    >>>true;
输入
  • input()
    message = input(some input information);
    input获取用户的输入并存入message,参数是显示给用户的信息。以用户输入回车结束。可以输入数字,但是字符串输入时必须用引号括起来,否则报错(python2.7)
  • raw_input()
    和input()不同,raw_input输入字符串时不用引号括起来。其他和input()基本一样。
输出
  • print
    print 'aaaaa=%d'% a;
    print 'aaaaa=%d,%d'% (a,b);//多个输出需要加括号
函数
  • 定义:
    def a(b="dd"):
       print();
       return b;
    def 说明这是个函数定义,a是函数名,b是参数并且有个默认值,且为返回值,后面的所有缩进行构成了函数体。
    注意:
    1.python函数的形参列表必须是先列出没有默认值的,再列出有默认值的。
    2.以列表为参数时,函数内对列表的修改都是永久性的.其他参数不一定。如果想传递列表参数而不改变原列表,可以传递列表的副本作为参数,即切片a[:];
  • 调用:
    a("ff");
  • 实参的类型:
    1. 位置实参
      即实参的位置必须与行参的位置一一对应
    2. 关键字实参
      实参的位置不必与行参的位置对应,但必须指明行参的名字, 如:
      函数定义:def a(value,key):
      调用:a(key =“d”,value=“g”);
  • 传递任意数量的实参
    有时我们不知道函数需要接受多少实参,python中允许函数接受任意数量的实参:

    1. 任意数量的非关键字实参
      def a(*value):
      这里形参前加了星号,这样无论调用函数时传入多少实参,函数会把这些实参存入元组value。也就是说这里value是一个元组,他接受任意数量的非关键字实参加入。我们就可以通过遍历这个元组来获得传入的实参。
      注意:任意数量的形参必须放到最后,python把余下的实参都收集到最后一个行参(元组)中。
    2. 任意数量的关键字实参
      def a(**value):
      这里行参前加了两个星号,这样传入任意数量的关键字实参后,都会存入字典value,也就是说这里value是个字典,他接受任意数量的关键字实参加入。
  • 将函数存放到文件中并导入
    可以将函数存放到文件中,使用时导入这个文件。
    比如function.py文件中有一个test()函数:

    1. import function
      这种方式导入时是导入整个文件,调用函数使用function.test()
    2. from function import test
      这种是把特定的函数导入,调用时直接使用test()
    3. from function import *
      这种是把文件中的所有函数导入,与导入整个包类似,不过调用时直接test()
    4. 为了避免有时候函数重名或名字太长,可以给文件或函数起别名:
      • import function as f;
      • from function import test as t;
    5. 在命令行中导入文件后,就可以使用文件中的函数等。但是如果这时你修改了文件,就需要重新导入,即reload(function),注意这个函数必须事先导入过一次文件后才能使用,比如:
      • import function as f;
      • reload(f)
        注意:只能用这种方式import模块后才能用reload,其他方式不行。
  • 导入类
    类的导入和函数的导入类似,和java中包,类的导入也类似。
文件
  • 打开文件
    with open(filename) as fileobjectname:
    加with后python会在不用文件时自动关闭文件,就不用手动调用close关闭文件了。但with打开的文件对象只能在with代码块内部使用。
    这句话的意思是打开filename文件,并把他转化为fileobjectname这个对象。
    注:windows中文件路径应该用反斜杠”\”,而linux中用斜杠”/”.
  • 读取文件
    • 全部读取
      contents = fileobjectname.read();
      注: read()读到文件末尾返回一个空字符串,所以read()读出的内容最后都包含一个空行。可以用函数rstrip()去掉.
    • 逐行读取
      for line in fileobjectname:
        print(line);
    • 将文件各行存入列表(应对with打开的文件对象只能在with代码块中使用)
      lines = fileobjectname.readlines();
      这样返回的lines就是一个包含各行的列表。就可以with代码块之外使用了。
    • 读取文件的一行
      for i in fileobjectname.readline://不像readlines返回所有行的一个列表,readline只返回一行
       print i;//依次读取这一行中的每个字符
      如果想把每一行都读进来,可以用:
      for i in range(32)://假设共有32行
          for j in fp.readline():
      这样就可以把每一行的j读进来了。
  • 写入文件
    with open(filename,'w') as fileobjectname:
    fileobjectname.write(var);
异常
  • try-except-else
    异常可以给用户良好的体验,避免输出traceback。同时可以让程序继续向下面执行。
    例1:
    try:
      print(5/0);
    except ZeroDivisionError:
      print("wrong");
    else:
      print("yes");//这里的else是指当异常不发生时执行else
    例2:
    except ZeroDivisionError:
      pass;
    //python中的pass语句可以让程序遇到异常时什么都不做,直接往下运行。
json
  • 用户一般不想把整个字符串存到文件中,这就需要以一种数据结构存到文件中,方便处理。比如字典和列表,python中,字典和列表的格式和json格式基本一样,所以用json模块存储数据很方便。
    • json.dump(data,fileobjectname)//将数据存入json文件
      例:把列表存入json文件
      number=[2,3,4,5];
      with open(filename,'w') as f:
        json.dump(number,f);
    • json.load(fileobjectname)//把json文件中的数据读出(自动转化为列表或字典或其他格式)
      例:
      with open(filename) as f:
        number = json.load(f);//读出的是一个列表
变量类型
  • type()
    比如a是一个字典则type(a)返回dict
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值