zoukankan      html  css  js  c++  java
  • Python之基础

    1.数据类型和变量

      

    2.字符串和编码

      对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

      >>> ord('A')

      65

     类似于C语言ASCII码转换

    Python对bytes类型的数据用带b前缀的单引号或双引号表示:

      x=b'ABC'

    要把bytes转变为str,就需要用decode()方法:

    >>> b'ABC'.decode('ascii')
    'ABC'
    >>> b'xe4xb8xadxe6x96x87'.decode('utf-8')
    '中文'

    要计算str包含多少个字符,可以用len()函数:

    >>> len('ABC')
    3
    >>> len('中文')
    2

    格式化

    在python中,采用格式化方式和c语言一致的,用%实现:

    >>> 'Hello, %s' % 'world'
    'Hello, world'
    >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
    'Hi, Michael, you have $1000000.'

     %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

    常见的占位符有:

    %d                                整数

    %f                                浮点数

    %s           字符串

    %x            十六进制整数

    格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

    >>> '%2d-%02d' % (3, 1)
    ' 3-01'
    >>> '%.2f' % 3.1415926
    '3.14'

    如果不知道应该用什么,%s永远是最佳选择

    >>> 'Age: %s. Gender: %s' % (25, True)
    'Age: 25. Gender: True'

    使用list和tuple

    list是一种有序的集合可以随时添加和删除其中的元素。

    例如:

    >>> classmates = ['Michael', 'Bob', 'Tracy']
    >>> print(classmates)

    ['Michael', 'Bob', 'Tracy']

    计算len()函数可以获得list元素个数:

    >>>print(len(classmates))

    3

    >>>print(classmates[1])

    'Bob'

    list是一个可变的有序表,所以,可以往list中追加元素到末尾:

    >>>classmates.append('Adam')

    >>>print(classmates)

    ['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

    用insert()插入指定位置元素

    >>>classmates.insert(1,'Jack')

    要删除list末尾的元素,用pop()方法:

    要删除指定位置元素,用pop(i)方法,其中i是索引位置:

    >>>classmates['Michael', 'Bob', 'Tracy']

    >>>print(classmates)

    >>>classmates.pop(1)
    'Jack'
    >>> classmates
    ['Michael', 'Bob', 'Tracy']

    list元素也可以有另外一个list,比如:

    >>> s = ['python', 'java', ['asp', 'php'], 'scheme']
    >>> len(s)
    4

    >>>print(s[2])

    ['asp', 'php'],

    tuple

    tuple和list非常类似,但是tuple一旦初始化就不能被修改。

    >>>tuple(1,2,3)

    >>>print(t)

    123

    当tuple中存在list时,list中的数据可以被修改。

    >>> t = ('a', 'b', ['A', 'B'])
    >>> t[2][0] = 'X'
    >>> t[2][1] = 'Y'
    >>> print(t)
    ('a', 'b', ['X', 'Y'])

    条件判断

    如果if语句判断是True,就把缩进两行的print语句执行了,否则,什么也不做。

    也可以给if添加一个else语句,意思是,如果if判断是false,不执行if内容,去把else执行了:

    if <条件判断1>: <执行1>
    elif <条件判断2>:
        <执行2>
    elif <条件判断3>:
        <执行3>
    else:
        <执行4>

    例如:
    age = 20
    if age >= 6:
        print('teenager')
    elif age >= 18:
        print('adult')
    else:
        print('kid')

    循环:

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

    names = ['a','b','c']

    for name in names:

      print(name)

    a

    b

    c

    for x in ...循环就是把每个元素带入变量x,然后执行缩进块的语句。

    python提供了一个range()函数,可以生成一个整数序列,在通过list()函数可以转换成list。

    print(list(range(5)))

    [0,1,2,3,4]

    while循环

    只要满足条件就不断的循环,条件不满足时退出循环。

    eg:

    sum = 0
    n = 99
    while n > 0:
        sum = sum + n
        n = n - 2
    print(sum)

     break提前跳出循环

    continue

    在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一个循环。

    使用dict和set

    dict的全称是dictionary类似使用map,使用键-值存储(key-value)存储,具有极快的查找速度。

    names = ['Michael','Bob','Tracy']

    scores = [92,88,90]

    <=>

    >>>d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    >>> d['Michael']
    95

    也可以使用

    >>> d['Adam'] = 67
    >>> d['Adam']
    67

    由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:

    >>> d['Jack'] = 90
    >>> d['Jack']
    90
    >>> d['Jack'] = 88
    >>> d['Jack']
    88

    如果key不存在,dict就会报错:

    >>> d['Thomas']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'Thomas'

    要避免key不存在的错误,有两种方法,一是通过in判断key是否存在:

    >>> 'Thomas' in d
    False

    二是通过dict提供get方法,如果不存在,可以返回None,或者自己指定的value:

    >>>d.get('a')

    >>>d.get('a', -1)

    -1

    注意:返回None的时候Python的交互式命令行不显示结果。

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

    >>> d.pop('Bob')
    75
    >>> d
    {'Michael': 95, 'Tracy': 85}

    请务必注意,dict内部存放的顺序和key放入的顺序没有关系的

    和list比较,dict有以下几个特点:

      查找和插入的速度极快,不会随着key的增加而变慢;

      需要占用大量的内存,内存浪费多。

    而ist相反:

      查找和插入的时间随着元素的增加而增加;

      占用空间小,浪费内存很少。

    正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

    set

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

    要创建一个set,需要提供一个list作为输入集合:

    >>>s = set([1, 2, 3])

    >>>s

    {1,2,3}

    注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

    重复元素在set中自动被过滤:

    >>>s = set ([1,2,2,3,3,3,4,4,4,4])

    >>>s

    {1,2,3}

    通过add(key)方法可以添加元素到set中,可以重复添加但是不会有效果,通过remove(key)方法可以删除元素:

    set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。

    sort()排序函数,可以进行内部排序。

  • 相关阅读:
    [CodeForces
    [CodeChef]RIN(最小割)
    [Bzoj3894]文理分科(最小割)
    [Poj3469]Dual Core CPU(最小割)
    MySQL- 锁(3)
    MySQL- 锁(1)
    MySQL- 锁(2)
    MySQL-中文全文检索
    Solr
    多线程编程-之并发编程:同步容器
  • 原文地址:https://www.cnblogs.com/bianyuanzhe/p/6674850.html
Copyright © 2011-2022 走看看