美文网首页
Python 基础

Python 基础

作者: _YZG_ | 来源:发表于2017-12-07 18:40 被阅读11次

    数据类型和变量

    0x表示十六进制
    
    浮点数
    1.23e2 表示123.0
    1.2e-2 表示0.012
    
    整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差
    
    字符串
    
    \ 为转义字符
    r'' 分好内部的字符串默认不转义
    '''...''' 如果字符串内部有很多换行使用
    
    .py文件这么写
    print('''line1
    line2
    line3''')
    
    也可以在'''...'''前面加上r使用 如
    print(r'''hello,\n
    world''')
    
    布尔值
    True、False
    可以用and、or、not运算
    
    空值 None
    
    Python 是动态语言 如
    a  = 123
    a = 'ABC'
    
    
    常量
    PI = 3.14159265359
    
    >>> 10 / 3
    3.3333333333333335
    
    // 称为地板除,两个整数的除法仍然是整数
    >>> 10 // 3
    3
    
    % 余数运算
    >>> 10 % 3
    1
    
    Python的整数和浮点数没有大小限制,但是超出一定范围就直接表示为inf(无限大)
    
    

    字符串

    在最新的Python3中,字符串是以Unicode编码的,也就是说Python的字符串支持多语言
    
    ord()函数获取字符的整数表示
    
    >>> ord('a')
    97
    
    chr()函数把编码转换为对应的字符
    
    >>> chr(97)
    'a'
    
    Python对bytes类型的数据用带b前缀的单引号或双引号表示
    x = b'ABC'
    
    bytes的每个你字符都只占用一个字节
    通过encode()方法可以编码为指定的bytes
    >>> 'ABC'.encode('ascii')
    b'ABC'
    
    >>> '中文'.encode('utf-8')
    b'\xe4\xb8\xad\xe6\x96\x87'
    
    在bytes中,无法显示为ASCII字符的字节,用\x##显示。
    
    
    用decode()方法变为str
    
    >>> b'ABC'.decode('ascii')
    'ABC'
    
    >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
    '中文'
    
    如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:
    >>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
    '中'
    
    
    要计算str包含多少个字符,可以用len()函数:
    >>> len('ABC')
    3
    
    >>> len('中文'.encode('utf-8'))
    6
    
    
    py文件中加入# -*- coding: utf-8 -*- 
    表示按照UTF-8编码读取源代码
    

    格式化

    %d 整数
    %f 浮点数
    %s 字符串
    %x 十六进制整数
    
    >>> 'Hello, %s' % 'world'
    'Hello, world'
    
    >>> 'Age: %s. Gender: %s' % (25, True)
    'Age: 25. Gender: True'
    
    format()
    >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
    'Hello, 小明, 成绩提升了 17.1%'
    
    
    print('提升了{0:.2f} %'.format(r))
    print('%d%%' % 3)
    提升了13.00 %
    3%
    
    

    list

    有序 可变
    classmates = ['Michael', 'Bob', 'Tracy']
    获取list的元素个数
    len(classmates)
    取出元素
    classmates[0]
    
    取出最后一个元素
    classmates[-1]
    倒第二个
    classmates[-2]
    追加
    classmates.append('Adam')
    插入
    classmates.insert(1, 'Jack')
    删除末尾的
    classmates.pop()
    删除指定的
    classmates.pop(i)
    替换
    classmates[1] = 'Sarah'
    元素类型可以不同
    L = ['Apple', 123, True]
    元素也可以是另外一个list
    s = ['python', 'java', ['asp', 'php'], 'scheme']
    s[2][1]
    

    tuple

    有序, 不可变
    元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
    classmates = ('Michael', 'Bob', 'Tracy')
    
    定义一个元素的时候
    t = (1,)
    

    条件判断

    Python的if...elif...else很灵活。
    
    age = 20
    if age >= 18:
        print('your age is', age)
        print('adult')
    
    your age is 20
    adult
    
    elif  是 else if缩写
    
    if x:
        print('True')
    只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
    
    类型转换
    int(s)
    

    循环

    break 和 continue和其他语言都一样
    >>> list(range(5))
    [0, 1, 2, 3, 4]
    
    
    sum = 0
    for x in range(101):
        sum = sum + x
    print(sum)
    
    5050
    
    
    L = ['Bart', 'Lisa', 'Adam']
    for x in L:
        print('Hello, %s' % x)
    
    n = 0
    while len(L) > n:
        print('Hello, %s' % L[n]) 
        n = n + 1
    
    
    
    

    dict

    无序
    key必须是不可变的 tuple里包含list不行
    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    添加
    d['Adam'] = 67
    
    判断key不存在的错误,有两种办法
    1、in
    'Thomas' in d
    False
    2、通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
    d.get('Thomas')
    返回None的时候Python的交互环境不显示结果
    >>> d.get('Thomas', -1)
    -1
    
    删除
    d.pop('Bob')
    

    set

    无value 无重复 无序
    要创建一个set,需要提供一个list作为输入集合:
    >>> s = set([1, 2, 3])
    >>> s
    {1, 2, 3}
    
    添加
    s.add(4)
    删除
    s.remove(4)
    
    交集并集
    >>> s1 = set([1, 2, 3])
    >>> s2 = set([2, 3, 4])
    >>> s1 & s2
    {2, 3}
    >>> s1 | s2
    {1, 2, 3, 4}
    
    

    可变 不可变

    >>> a = ['c', 'b', 'a']
    >>> a.sort()
    >>> a
    ['a', 'b', 'c']
    
    替换
    >>> a = 'abc'
    >>> a.replace('a', 'A')
    'Abc'
    >>> a
    'abc'
    
    
    
    

    相关文章

      网友评论

          本文标题:Python 基础

          本文链接:https://www.haomeiwen.com/subject/cigdixtx.html