美文网首页
python入门引导(二·数据类型)

python入门引导(二·数据类型)

作者: 一只野生猿 | 来源:发表于2017-11-29 01:49 被阅读0次

    上一篇:python入门引导(一·初识)

    python基础知识:语法,变量,数据类型

    一·语法

    缩进

    python语法优美,跟其他语言最大的区别就是,它使用严格的缩进方式来区分代码块,从而保证python代码风格统一,在阅读上不会像C,C++,JAVA等语言一样大括号层次阅读不是那么清爽。
    下面是一个简单的对比:

    # python                                        # C
    if  today == "Friday":                          if (today == "Friday") {
        print("So happy")                                printf("So happy");
    else:                                           } else {
        print("So bad")                                  printf("So bad");
                                                    }
    

    PEP8规范,使用四个空格表示一个缩进

    Use 4 spaces per indentation level

    编写python的时候,我们可以将编辑器的tab建改成四个空格,也可以每次手动空格,心里默念,1,2,3,4, 本人就是这么过来的,泪奔!!!

    二·变量类型

    python常用变量类型有int(整型),str(字符串),float(浮点型),list(列表),tuple(元组),dict(字典),set(集合)

    整型

    数学里的整数,在python里的类型是int

    # 定义一个整型变量,值234
    num1 = 234
    num2 = -234
    

    浮点型

    数学里的小数,在python里的类型是float

    num_f1 = 23.45
    num_f2 = -23.45
    

    字符串

    python类型str,任意使用引号引起来的内容,可以是' ', " ", ''' ''', """ """这里的任意一种形式。

    string1 = 'This is string1'
    string2 = "This is string2"
    string3 = '''This is string3'''
    string4 = """This is string4"""
    

    但是三个引号对的里面的字符串自带格式保持的

    with_format_string = """This is a string with format
      This line with 2 space indent
        This line with 4 space indent
    This line without indent.
    print(with_format_string)
    

    上面的语句会按照原样输出。

    列表

    python类型list,列表就是数组,它是一个有序的序列,列表中每个元素可以存放python的任何数据类型,如:

    list1 = [1, 2, 3, 4, 5] # 整数列表
    list2 = ["word1", "word2", 3, 4, "word5"] # 整数加字符串列表
    list3 = [[1, 3], [2, 4], ["word1", "word2"]] # 列表的列表
    

    元祖

    python类型tuple,这个数据类型和列表差不多,唯一的区别是,元祖是不可变类型,列表是可变类型(关于可变与不可变类型,我会在后面详细讲解)。元祖使用小括号括起来的,如:

    tuple1 = (1, 2, 3, 4, 5)
    tuple2 = ("word1", "word2", 3, 4, "word5")
    tuple3 = ([1, 3], [2, 4], ["word1", "word2"])
    

    元祖用处较少,暂时作为了解。

    字典

    python类型dict,键值对,如:

    student = {
      "name": "Someone",
      "age": 22,
      "favor": ["walk", "running", "jumping"]
    }
    

    通过冒号前面的键来获得冒号后面的值

    集合

    python类型set,集合是一个无序的序列,它存储的数据是不重复的。

    unique_number = set([1, 3, 4, 5, 6, 6, 7, 3])
    print(unique_number)
    # 输出结果 {1, 3, 4, 5, 6, 7}
    

    小结

    上面我们对python的数据类型做了个简单的介绍,我们需要重点掌握的是字符串,列表,字典。下面我用一个简单的小程序来帮组你巩固这几个数据类型的使用。(fruits.py)

    # coding=utf-8 
    # 因为文件中有中文注释,所以代码第一行要指定文件编码
    import sys  # 这是模块的导入,sys是python内置的模块
    
    # 定义了一个字典fruits_dict,包含两个键("apple", "banana"), 
    # 对应的值又是字典,键color对应的值是个字符串列表,shape对应的值是字符串。
    fruits_dict = {
      "apple": {"color": ["red", "green"], "shape": "circle"},
      "banana": {"color": ["yellow"], "shape": "line-bar"}
    }
    
    
    if __name__ == "__main__":
      # sys.argv 是一个列表,存储命令行传入的参数
      # 命令: python3 fruits.py apple,那么sys.argv里面存放 ['fruits.py', 'apple']
      # if判断是否argv长度为2,即使判断用户是否传入了apple
      if len(sys.argv) != 2:
        print("Usage: python fruits.py <fruits_name>")
        # python自带的推出程序的函数,即使下面的程序都不会执行了
        # 括号里面的1,表示本次退出是错误的,程序没有正常运行完
        exit(1) 
      # 将传入的水果名赋值给字符串变量input_fruits
      input_fruits = sys.argv[1]
      # if判断input_fruits变量的值是否在fruits_dict的键中
      # 存在,则打印出水果的属性来
      if input_fruits in fruits_dict:
        # print函数中的%s是python字符串的格式化占位符,表示这里是一个
        # 字符串,在这条print语句中,三个占位符都用的%s,python会自动吧
        # 列表也转换成字符串的
        print("The %s with color: %s, and shape: %s" % (
          input_fruits, 
          fruits_dict[input_fruits]["color"], 
          fruits_dict[input_fruits]["shape"]
        ))
      # 不存在,打印对应信息
      else:
        print("The only have 'apple' and 'banana'")
    
    

    然后在终端运行:

    python fruits.py apple
    # or
    python fruits.py banana
    # or
    python fruits.py orange
    # or
    python fruits.py
    

    上述代码文件中注释较多,是为了让新手免去少许困惑,不要呗吓到奥。
    以上就是本章节的全部内容了,希望读者能有个好的收获,如有不对的地方请多多指教。

    相关文章

      网友评论

          本文标题:python入门引导(二·数据类型)

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