zoukankan      html  css  js  c++  java
  • python基础学习1(数据类型)

    1.源代码

    python源代码文件以py为扩展名,由python程序解释,不需要编译。

    1 #!/usr/bin/python
    2 print "hello"

    2.字节代码

    python源文件经过编译后生成以pyc为扩展名的文件,编译方法:

    1 import py_compile
    2 py_compile.compile('1.py')

    3.优化代码

    经过优化的源文件,以pyo为扩展名,编译方法:

    python -O -m py_compile 1.py

    执行前需要赋予可执行权限,chmod +x 1.py,然后./1.py(或python 1.py),python 1.pyc,python 1.pyo

    变量——python变量和C语言语法差不多,id(变量名)可以获取此变量指向的地址。

    运算符——"//",整除;"**",次方;逻辑运算符:and or not

    输入输出——输出 print;输入 raw_input()。(输入的值为字符串,需要转换为数值型,比如int(raw_input(“please input a number:”)),提示并转换为数值类型)

    数据类型——type()方法输出数据类型。整型(int)、长整型(long)、浮点型(float)、复数型(complex,比如1+2j)、字符型、列表、元组。序列类型(字符串、列表和元组)。

     

    1 a='abcde'
    1 //索引
    2 a[0]//输出'a'
    1 //切片
    2 a[1:4]//输出'bcd'
    3 a[:4]//输出'abcd'
    4 a[4:]//输出'e'
    5 a[::2]//输出'ace',以步长为2取值
    6 a[-1]//输出'e',反向取值

    序列的基本操作:

    1.len() //序列的长度

    2.+ //连接两个序列

    3.* //重复序列(print a*2 输出'abcdeabcde')

    4.in //判断元素是否在序列中

    5.max(),min() //返回最大值、最小值

    6.cmp(tuple1,tuple2) //比较两个序列的大小,返回1则tuple1大,返回-1则tuple2大,返回0则相等。

    元组

    特点:和字符串一样不可变;和C语言结构体类似,可以装多类型数据;属于序列,可以进行索引和切片操作

    创建元组:1.空元组,t1=()   2.只含单一元素的元组,t=(2,)(注意逗号,没有逗号则为int类型)   3.一般元组 t=('Jim',22,'male')

    1 t=('Jim',22,'male')
    2 name,age,gender=t
    3 print name//'Jim'
    4 print age//22
    5 print gender//'male'

    列表

    特点:有序,可变,和C语言的数组类似,但是可以装多种数据类型

    操作:

    1.取值,切片或者索引

    2.添加,list.append()

    3.删除,list.remove(object) 也可以使用系统函数del(list[])

    4.修改,list[]=x

    5.查找,var in list

    字典

    特点:python中唯一的映射类型(哈希表),字典对象是不可变的,但是键对象是不可变的,键值可以是不同数据类型;keys(),values()分别返回键列表和值列表;items()返回包含键值对的元组

    创建字典:

    1.一般方法:dic={'name':'Jim','age':22,'gender':'male'}

    取值dic['name']//'Jim'

    2.使用工厂方法dict()

    dict1=dict(['x':1],['y':2])

    3.内建方法fromkeys(),创建字典中元素具有相同的值,默认为None

    dict2={}.fromkeys(('x','y'),-1)//x和y的值都是-1

    访问字典的值:for k in dict1.keys():或者for k in dict1:

    字典的更新与删除:内建方法update();删除del(dict1['x']), pop(dict1['x']),删除x的键值对并返回x对应的值;dict.clear()删除字典所有元素;del(dict1)删除字典。

    列表方法:

    方法 说明
    append( item) 在列表末尾插入(item )
    count(element ) 返回element在列表中出现的次数
    extend(newlist) 将newlist的元素插入列表末尾
    index(element) 返回element在列表中的索引,如果不存在,则引发ValueError异常
    insert(index,item) 在index位置插入item
    pop( [index] ) index参数为可选的。如无参调用,则会删除并返回列表最后一个元素。如指定index参 数,则删除并返回位置index的元素
    remove( element) 删除首次在列表中出现的element,如果列表不存在element,则引发 ValueError异常
    reverse( ) 当场反转列表内容(不创建反转列表的拷贝)
    sort 当场对列表内容排序。可选参数compare-function是一个函数,它指定了比较条件
      compare-function取得列表的任意两个元素(x和y)。如果x应出现在y之前, 就范围-1;如果x和y的顺序无关紧要,返回0;如果x应出现在y之后,则返回1
    字典的一些方法:
    备注:
         字典方法中的copy( )方法为浅拷贝(含义见说明)。字典深拷贝方法为(假设i为字典):
    w=i[:]
    这表示w字典为i字典的一个深拷贝。
    方法 说明
    clear( ) 从字典删除所有项
    copy( ) 创建并返回字典的浅拷贝(新字典元素为原始字典的引用)
    get(key[,returnvalue]) 返回key的值,若无key而指定了returnvalue,则返回returnvalue 值,若无此值则返回None
    has_key( key ) 如果key存在于字典中,就返回1(真);否则返回0(假)
    items( ) 返回一个由元组构成的列表,每个元组包含一对键-值对
    keys( ) 返回一个由字典所有键构成的列表
    popitem( ) 删除任意键-值对,并作为两个元素的元组返回。如字典为空,则返回KeyError异常
    setdefault(key[,dummvalue]) 具有与get方法类似的行为。如key不在字典中,同时指定了dummvalue,就将键 (key)和指定的值(dummvalue)插入字典,如果没有指定dummvalue,则值为None
    update( newDictionary ) 将来自newDictionary的所有键-值添加到当前字典,并覆盖同名键的值
    values( ) 返回字典所有值组成的一个列表
    iterkeys( ) 返回字典键的一个迭代器
    iteritems( ) 返回字典键-值对的一个迭代器
    itervalues( ) 返回字典值的一个迭代器

    来源:http://my.oschina.net/chape/blog/123250

  • 相关阅读:
    Java实现 LeetCode 284 顶端迭代器
    Java实现 LeetCode 284 顶端迭代器
    Java实现 LeetCode 283 移动零
    Java实现 LeetCode 283 移动零
    Java实现 LeetCode 283 移动零
    Java实现蓝桥杯VIP 算法训练 阶乘末尾
    nginx自定义模块编写-根据post参数路由到不同服务器
    nginx location的管理以及查找
    nginx的请求接收流程(二)
    nginx的请求接收流程(一)
  • 原文地址:https://www.cnblogs.com/94julia/p/3052461.html
Copyright © 2011-2022 走看看