美文网首页
Python基础

Python基础

作者: 云木杉 | 来源:发表于2018-12-25 21:44 被阅读0次

    数据类型

    Python中的变量不需要声明。每个变量在使用前必须赋值,变量赋值以后才会被创建
    Numbers / String / List / Tuple /Sets / Dictionaries
    python中数字有四种类型:整数、布尔型、浮点数和复数

    • 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)
    • 可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)

    数字(整数、浮点数、复数)

    • int(整数)如1,只有一种整数类型int,表示为长整形。
    • flost(浮点数)如1.23,3E-2

    • bool( 布尔值)如true(布尔值 可以用and or 和 not运算)
    • 空值 用None表示。
    • 变量赋值 与Java类似 (python为动态语言 不需要要声明变量的类型)
    • 常量 即不可改变的量

    日常演示

    type() 函数可以用来查询变量所指的对象类型(也可以用isinstance来判断)
    两者区别是

    • type()不会认为子类是一种父类类型。

    • isinstance()会认为子类是一种父类类型。

    • print默认输出是换行的,如果实现不换行的话需要在末尾加上end=""
      代码演示

    print( y )
    print('---------')
    # 不换行输出
    print( x, end=" " )
    

    变量

    • Python中的变量不需要声明。每个变量在使用前必须赋值,变量赋值以后该变量才会被创建。
    • 在Python中,变量就是变量,没有类型,我们所说的“类型”是变量所指的内存中对象的类型。

    字符串(String)

    • 单引号或者双引号括起来的文本
    • Python中的字符串有两种索引方式,从左到右以0开始,从右到左以-1开始。
    • Python中的字符串,不能改变
    • 转义符“\”,使用r可以让反斜杠不发生转义。r"this is a line with \n".
    10 / 3 = 3.3333 # 除法运算 
    9 / 3 = 3.0 # 浮点数
    10 / 3 = 3 # 底板除 即取整 
    7 % 3 = 2 # 底板除 即取整 
    

    容器

    • Python支持一种数据结构的基本概念,名为容器(container)。容器基本上就是可包含其他对象的对象。两种主要的容器是序列(如列表和元组)和映射(如字典)。在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。有一种既不是序列也不是映射的容器,它就是集合(set).
    • 序列:序列是一种数据结构,其中的元素带编号(编号从0开始)。列表、字符串和元组
      都属于序列,其中列表是可变的(你可修改其内容),而元组和字符串是不可变的(一旦
      创建,内容就是固定的)。要访问序列的一部分,可使用切片操作:提供两个指定切片起
      始和结束位置的索引。要修改列表,可给其元素赋值,也可使用赋值语句给切片赋值。

    List

    python内置的一种数据类型,是一种有序的集合。可以随时添加删除参数,集合保存的数据可以不为同一种类型。
    特点

    • 查找和插入的时间随着元素的增加而增加;
    • 占用空间小,浪费内存很少。
    • 列表是可以修改的,而元组不可以

    日常方法

    • len(list) 获得list元素的个数
    • list[index]访问当前位置的元素
    • list[-index]访问倒数第N个位置的元素
    • list.insert(1,'jack') 插入到当前位置
    • list.pop() 删除list末尾的元素
    • list.append(data)追加数据
    • del list[index] 删除数据
    • list.extend(list2) 附加到末尾
    classmates = ['Michael', 'Bob', 'Tracy']
    classmates.append(data) #追加数据到末尾
    
    >>> x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
    >>> x.sort(key=len) 
    >>> x
    ['add', 'acme', 'aerate', 'abalone', 'aardvark']
    
    
    >>> x = [4, 6, 2, 1, 7, 9]
    >>> x.sort(reverse=True)
    >>> x
    [9, 7, 6, 4, 2, 1]
    

    Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。

    tuple

    有序列表叫元组,与集合不同的是,一旦初始化就不可改变。因为不可变,所以更安全

    • 不能新增,不能删除,只能查看,不能替换。
    • 可变 是二维数组可变
    >>> t = ('a', 'b', ['A', 'B'])
    >>> t[2][0] = 'X'
    >>> t[2][1] = 'Y'
    >>> t
    ('a', 'b', ['X', 'Y'])
    
    // 将一个序列 转换为元组
    tuple([1,2,3])
    
    

    条件判断

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

    if判断条件简写 只要x是非零数值,非空字符串,非空list,就判断为true,否则为false。

     if x:
        print('true')
    

    input

    • input()返回的数据类型为字符串,字符串不能与整数比较。
    birth = input('birth: ')
    birth2 = int(birth)
    if birth < 2000:
        print('00前')
    else:
        print('00后')
    

    循环

    • for循环
    names = ['Michael','Bob','Tracy','Dody']
    for name in names:
        print(name)
    
    • while循环
    sum = 0
    n = 99
    while n > 0:
        sum = sum + n
        n = n - 1
    print(sum)
    
    • break continue 千万记得缩进 缩进 缩进
    n = 0
    while n < 10:
        n = n + 1
        if n % 2 == 0: # 如果n是偶数,执行continue语句
            continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
        print(n)
    

    set

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

    >>> s = set([1, 1,2,2,3, 3])
    >>> s
    {1, 2, 3}
    # 通过add(key)方法添加元素
    >>> s.add(4)
    >>> s
    #通过remove(key)删除元素
    >>> s.remove(4)
    >>> s
    

    dict

    特点

    • 查找和插入的速度极快,不会随着key的增加而变慢;
    • 需要占用大量的内存,内存浪费多。

    注意

    • 回None的时候Python的交互环境不显示结果
    • dict内部存放的顺序和key放入的顺序是没有关系的。
    • dict的key必须是不可变对象。
    • dict字典 类似于Java中的Map,键值对存储
    • dict是一种拿控件换时间的方法。
    >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    >>> d['Michael']
    # pop(key) 删除一个key
    # 二是通过dict提供的get()方法,如果key不存在,可以返回None
    # 注意:返回None的时候Python的交互环境不显示结果。
    >>>  d.get('Michael')
    95
    
    

    迭代器和生成器

    两个基本方法

    • iter(list) # 创建迭代器对象
    • next(it) 输出迭代器的下一个元素
    
    >>>list=[1,2,3,4]
    >>> it = iter(list)    # 创建迭代器对象
    >>> print (next(it))   # 输出迭代器的下一个元素
    1
    >>> print (next(it))
    2
    >>>
    
    

    逻辑运算符

    • is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
    • 注: id() 函数用于获取对象内存地址。
    
    a = 10
    b = 20
    
    list = [1,2,3,4,5]
    
    if(1 not in list):
        print("存在")
    else:
        print("不存在")
    
    if ( a is b ):
       print ("变量引用对象是同一个")
    else:
       print ("变量引用对象不是同一个")
    
    '''
    if(a and b):
        print("and a = ",a)
    else:
        print("and b = ",b)
    
    if(a or b):
        print("or a = ",a)
    else:
        print("or b = ",b)
    '''
    

    相关文章

      网友评论

          本文标题:Python基础

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