博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Learn day1 变量/数据类型
阅读量:4487 次
发布时间:2019-06-08

本文共 9475 字,大约阅读时间需要 31 分钟。

1.Python 简介

(1) 1989年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido).

(2) python具有非常多并且强大的第三方库,使得程序开发起来得心应手.

(3) Python程序员的信仰:人生苦短,我用python!

开发方向: 机器学习人工智能 ,自动化运维&测试 ,数据分析&爬虫 ,python全栈开发

(4)  Python 版本

  Python 2.x 版本,官方在 2020 年停止支持,原码不规范,重复较多。

  Python 3.x 版本,功能更加强大且修复了很多bug,原码清晰,简单。

(5) 编译型与解释型语言区别

  编译型:一次性,把所有代码编译成机器能识别的二进制码,在运行

  代表语言:c,c++
  优点: 执行速度块
  缺点: 开发速度慢,调试周期长
  解释型:代码从上到下一行一行解释并运行
  代表语言:python,php
  优点: 开发效率快,调试周期短
  缺点: 执行速度相对慢

  *linux 操作系统默认支持python语言,可直接使用

(6) Python的解释器

  a. Cpython(官方推荐)

    把python转化成c语言能识别的二进制码
  b. Jpython
    把python转化成java语言能识别的二进制码
  c. 其他语言解释器
    把python转化成其他语言能识别的二进制码
  d. PyPy
    将所有代码一次性编译成二进制码,加快执行效率(模仿编译型语言的一款python解释器)

2. 注释

(1)注释的分类

  1. 单行注释

    # 单行注释 以#号开头,右边的所有东西都被当做说明文字,程序不进行编译运行。

    例子如下:

    # print(‘hello world’)
   2. 多行注释

     三个单引号 或 三个双引号

      例子如下:

      '''(""")
        这是第一行
        这是第二行
      '''(""")

(2)注释的注意点

  如果外面使用三个单引号,里面使用三个双引号,反之亦然。

 

(3)注释的排错性

  先注释一部分代码,然后执行另外一部分,看看是否报错,逐层缩小报错范围,找到最终错误点。

 3. 变量

 

(1)变量的概念

  变量: 可以改变的量,实际具体指的是内存中的一块存储空间   常量: 就是不可改变的量,python当中没有明确定义常量的关键字,所以约定俗成把变量名大写就是常量,表示不可改变

(2)变量的声明

    #方式1

    a = 1     b = 2     print(a)     print(b)

    #方式2   

    a,b = 3,4     print(a)     print(b)

    #方式3

    a=b=99      print(a,b)

(3)变量的命名

    #字母数字下划线 ,首字符不能为数字
    #严格区分大小写 ,且不能使用关键字
    #变量命名有意义 ,且不能使用中文哦

(4)变量的交换

    #a,b = b,a

(5)不能作为变量名使用

  # 打印python 所有关键字   # import 引入  keyword 模块 有一个属性kwlist 模块.属性 => 获取所有的关键字 拿来直接使用即可.   import keyword   res = keyword.kwlist   print(res) # 如下关键字都不能作为变量名使用 [ 'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',  'def', 'del', 'elif', 'else', 'except', 'finally',  'for', 'from', 'global', 'if', 'import', 'in', 'is',  'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',  'try', 'while', 'with', 'yield'  ] """
    # Number部分 变量的缓存机制 1.对于整型而言,-5~正无穷范围内的相同值 id一致   var1 = 5   var2 = 5   var1 = -6   var2 = -6   print(id(var1),id(var2)) 2.对于浮点数而言,非负数范围内的相同值 id一致   var1 = -5.88   var2 = -5.88   print(id(var1),id(var2)) 3.布尔值而言,值相同情况下,id一致   var1 = True   var2 = True   print(id(var1),id(var2)) 4.复数在 实数+虚数 这样的结构中永不相同(只有虚数的情况例外)   var1 = 4+2j   var2 = 4+2j   print(id(var1) , id(var2))   var1 = 4j   var2 = 4j   print(id(var1),id(var2)) 5.字符串 和 空元组 相同的情况下,地址相同   var1 = "你"   var2 = "你"   print(id(var1) ,id(var2) )   var1 = ()   var2 = ()   print(id(var1) ,id(var2)) 6.列表,元组,字典,集合无论什么情况 id标识都不同 [空元组例外]   var1 = [1,2,3]   var2 = [1,2,3]   print(id(var1),id(var2))   # res = "我爱你" * 3   # print(res)

 4. Python 六大标准数据类型

(1)Number   数字类型 (int  float  bool  complex)(2)str      字符串类型    (3)list     列表类型      (4)tuple    元组类型     (5)set      集合类型     (6)dict     字典类型           
4.1 数字类型 Number ( int )
     intvar = 156   print(intvar)   # type 获取变量的类型 type()   res = type(intvar)   print(res)   # id 或者变量所指向的这个值的内存地址   res = id(intvar)   print(res)   # 二进制整型 0b表示   intvar = 0b1010   print(intvar)   print(type(intvar))   print(id(intvar))   # 八进制整型 0o表示   intvar = 0o10   print(intvar)   # 获取类型   print(type(intvar))   # 获取地址   print(id(intvar))   # 十六进制 0x表示   intvar = 0xff   # 获取类型   print(type(intvar))   # 获取地址   print(id(intvar))
4.2 数字类型 Number ( float bool  complex) (1) float 浮点型 就是小数   # 表示方法1   floatvar = 3.14   print(floatvar)   print( type(floatvar) )   print( id(floatvar) )   # 表示方法2 科学计数法   floatvar = 5.13e4 # 小数点向右移动   floatvar = 5.13e-2# 小数点向左移动   print(floatvar)
(2) bool 布尔型 ( True 真的  False 假的)
  boolvar = True   boolvar = False   print(boolvar)   print(type(boolvar))   print(id(boolvar)) (3) complex 复数   """   复数: 实数 + 虚数   比如 3+4j   3是实数   4j是虚数   什么是j?   如果有一个数,它的平方是-1,那么这个数就是j   科学家认为有,表达高精度类型.   """   # 表达方式1   complexvar = 3-8j   complexvar = 5j   print(complexvar)   print(type(complexvar))   print(id(complexvar))   # 表达方式2 complex 函数,转换成复数   '''   语法:   complex(实数,虚数)   '''   complexvar = complex(4,2)   complexvar = complex(4,-2)   print(complexvar)
4.3 字符串类型 : 用引号引起来的就是字符串   """   # 转义字符: 语法 \ 来进行转义      (1)把有意义的字符变得无意义      (2)把无意义的字符变得有意义   \n => 换行   \r\n => 换行   \r => 把\r后面的字符串直接拉到当前行的行首,   \t => 缩进 (水平制表符) 一般一个\t 是4个空格的间距.   """   1.单引号     strvar = '我爱你亲爱的菇凉,见到你我就心慌'     print(strvar)     print(type(strvar))   2.双引号     strvar = "黑夜给了我黑色的眼睛,但我却用它翻白眼"     strvar = "黑夜给了我黑色的眼睛,\n但我却用它翻白眼"     strvar = "黑夜给了我黑色的\n眼睛,\r但我却用它翻白眼"     strvar = "黑夜给了我黑色的\r\n眼睛,\t但我却用它翻白眼"     strvar = "黑夜给了我黑色的'眼睛',但我却用它翻白眼"     # \ 除了可以把无意义的字符变得有意义,也可以吧有意义的字符变得无意义.     print(type(strvar))   3.三引号 可以支持跨行操作     strvar = """轻轻的我走了,正如我轻轻的来     我轻轻的挥一挥手,不带走一片云彩     """     strvar = '''轻轻的我走了,正如我轻轻的来       我轻轻的挥一挥手,不带走一片云彩     '''     print(strvar)   4.元字符串 r+"字符串" 让转义字符失效     strvar = r"asdfasdf\tsdfsd\n3242"     print(strvar)     strvar = r"E:\ngix相关视频"     print(strvar)   5.字符串的格式化   """   %d 整型占位符   %f 浮点型占位符   %s 字符串占位符   语法: "字符串" % (值1,值2,.....)   """   # %d   strvar = "树则会买了%d个面膜"   %    (10)   print(strvar)   # %2d 默认数字居右   strvar = "郭一萌买了%2d个布加迪威龙" % (7)   print(strvar)   # %-2d 默认数字居左   strvar = "郭一萌买了%-2d个布加迪威龙" % (7)   print(strvar)   # %f 小数点部分自动保存6位小数   strvar = "黄花昨天开工资了,发了%f元" % (9.989)   print(strvar)   # %.2f 小数点保留二位 存在四舍五入   strvar = "黄花昨天开工资了,发了%.2f元" % (9.989)   print(strvar)   # %s 字符串占位符   strvar = "%s" % ("好看的皮囊千篇一律,有趣的灵魂300多斤")   print(strvar)   # 综合案例   strvar = "%s开工资了,发了%.2f元,昨天晚上买了%d个娃娃,心情%s" % ("王成全",99.1234,2,"感觉身体被掏空")   print(strvar)
4.4 容器类型数据 (列表 list 元组 tuple)   4.4.1 list 列表 可获取,可修改,有序 1.定义一个空列表   listvar = []   print(listvar)   print(type(listvar)) 2.获取列表元素   #          0    1    2    3    4  正向索引   listvar = [55,3.155,True,3+9j,"abcdf"]   #          -5   -4  -3    -2   -1  逆向索引   res = listvar[2]   print(res)   # 瞬间拿到列表最后一个元素   res = listvar[-1]   print(res)   # 通用写法 ,用len   '''   len 可以获取容器类型数据的长度,(元素总个数)   '''   res = listvar[4]   print(res)   res = len(listvar)   print(res) # 5   #                   5       -  1 = 4   res = listvar[    len(listvar)-1    ]   print(res) 3.修改列表元素   listvar[0] = "银燕"   print(listvar) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   4.4.2 tuple 元组 可获取,不可修改,有序 1.定义一个空元组 *********   tuplevar = ()   print(tuplevar,type(tuplevar))   # 判断它是否是元组,在于,逗号 *********   tuplevar = ("abc",)   tuplevar = 1,2   print(tuplevar,type(tuplevar))   # 定义一个元组   tuplevar = ("李祥海","王成全","赖廷","银燕","毕杨生") 2.获取元组当中的值   res = tuplevar[2]   print(res) 3.修改元组中的值? 不可以   # tuplevar[0] = 123 error
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4.4.3 str 可获取 不可修改 有序 1.字符串可以通过索引下标取值 2.可获取   #          0 1 2 3 45 6 7 9  正向索引   strvar = "瞅你一眼,浑身哆嗦"   #         -9-8-7-6-5-4-3-2-1 逆向索引   # 获取"眼"字   res = strvar[3]   res = strvar[-6]   print(res) 3.可以修改么? 不可修改   # strvar[3] = 123 error
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4.4.4 集合 set (集合是用来做交叉并补操作的) """自动去重,无序""" 1.定义一个空集合   # setvar = {}  # 这个dict字典类型   # print(setvar,type(setvar))   setvar = set()   print(setvar,type(setvar))   setvar = {"刘德华","张学友","郭富城","王文"}   print( setvar   ,   type(setvar)   )   setvar = {"刘德华","张学友","郭富城","王文","王文"}   print(setvar) 2.集合能够获取值么? 不行   # res = setvar[0] error 3.集合能够修改值么? 不行   # setvar[0] = 199   error   setvar = {1,2,"a",(1,2,3,{"a":1}) }   print(setvar)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4.5 字典dict """ python 3.6版本之前无序 python 3.6版本之后有序(表面上有序,本质上无序) 键值对存储的数据,有序 语法: {键1:值1 , 键2:值2 , 键3:值3 } """ 1. 定义一个空字典   dictvar = {}   print(dictvar, type(dictvar))   dictvar = {"top":"夏侯惇" , "middle":"亚瑟","bottom":"鲁班七号","jungle":"刘备","support":"蔡文姬"} 2. 通过键获取字典中的值   res = dictvar["middle"]   print(res) 3. 修改字典的中的值   dictvar["bottom"]="孙尚香"   print(dictvar) 4. 字典中的键和集合中的值有要求,需要可哈希数据   """   可哈希数据:(不可变数据) Number(int , float , bool ,complex) str , tuple   可哈希数据可以作为字典的键和集合的值,剩下的都不可以   不可哈希数据:(可变数据) list dict set   字典中的键 推荐使用按照变量命名的字符串去声明最为理想;   """   dictvar = {5:1 , 3.78:12 , True:90 , 6+8j:"abc" , "你好":99,(1,2,3):1122}   print(dictvar) 4.6 自动转换类型
  # ### 自动类型转换 (Number => int bool float complex)   """     精度从低->高 排行     bool -> int -> float -> complex     如果两个不同的类型进行运算,     默认低精度向高精度转化   """   # True -> int 1 False -> int 0   # bool + int   res = True + 14   print(res)   # bool + float  # 把False 转换成浮点型0.0 在加上float   res = False + 4.99   print(res)   # bool + complex # 把True 转换成复数1+0j 在加上complex   res = True + 3+4j   print(res)   # int + float # 把int 转换成浮点型7.0 再加上float   res = 7 + 3.66   print(res)   # int + complex # 把int 转换成复数 3+0j 再加上complex   res = 3 + 9-2j   print(res)   # float + complex  把float 转化成复数6.91+0j 再加上complex   res = 6.91 + 11-6j   print(res) 4.7 Number 类型强制类型转换
  # ### Number 部分的强制类型转换 (int float bool complex)     var1 = 23     var2 = 6.78     var3 = True     var4 = 3+2j     var5 = "1234"     var6 = "abcd121"   1.强制转换成int     res = int(var2)     res = int(var3)     res = int(False)     # res = int(var4) error     res = int(var5)     # res = int(var6) error     print(res , type(res))   2.强制转换成float     res = float(var1)     print(res)     res = float(var3)     print(res)     res = float(var5)     print(res)   3.强制转换成complex     res = complex(var1)     print(res)     res = complex(var2)     print(res)     res = complex(var3)     print(res)     res = complex(var5)     print(res)   4.强制转换成bool 要么返回True 真的 要么返回False 假的     res = bool(var4)     res = bool(var6)     res = bool(None)     print(res)     """       布尔类型为假得10种情况       0 0.0 False 0j '' [] () set() {} None       None 代表空的,什么也没有,一般用在变量初始化的时候     """     # 初始化变量的时候用     ab = None

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/NGU-PX/p/11103456.html

你可能感兴趣的文章
虫师Selenium2+Python_11、自动化测试项目实战
查看>>
模拟竖式除法
查看>>
java调用dll
查看>>
图形界面组件实验的一点总结
查看>>
django 1.11.16之环境搭建
查看>>
15.SpringMVC和Spring上下文关系(为什么SpringMVC可以调用到Spring)
查看>>
Syncfusion的社区许可及免费电子书和白皮书
查看>>
JAVA自学作业02
查看>>
蛇形矩阵
查看>>
活动选择
查看>>
7832:最接近的分数
查看>>
初识window phone 7程序
查看>>
思维导图
查看>>
XE6 c++builder Edit垂直居中
查看>>
leetCode 1. Two Sum
查看>>
CSAcademy Beta Round #5 Long Journey
查看>>
关于Java中volatile关键字笔记
查看>>
第四次作业
查看>>
Linux netstat常用命令
查看>>
实用的Portraiture滤镜磨皮教程
查看>>