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

Learn day1 变量/数据类型的更多相关文章

  1. JAVA 变量 数据类型 运算符 知识小结

    ---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...

  2. dos命令-环境变量-数据类型-命名规范

    JAVA第一天笔记--dos命令-环境变量-数据类型-命名规范 1.能够阐述JDK和JRE之间区别 JDK(Java Development Kit)是提供给开发人员使用的JAVA开发工具包(java ...

  3. Go-获取变量数据类型

    package main import ( "fmt" "reflect" //这个包里的TypeOf方法获取变量数据类型 ) func main(){ b : ...

  4. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  5. Python. Day1. 之初识 变量数据类型

    稍后添加 一  介绍 二  变量

  6. JavaScript 变量,数据类型

    这篇笔记呢,咱记录下变量和数据类型的基础知识,因为两者有联系 所以放在一起记录 1 如何声明变量 变量声明使用var关键字,下面举一些变量声明的例子: <!DOCTYPE html> &l ...

  7. Swift学习--常量.变量.数据类型的使用(一)

    一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们 ...

  8. 变量-数据类型-对象-如何编写python脚本

    标识符的命名规则变量是标识符的例子. 标识符 是用来标识 某样东西 的名字.在命名标识符的时候,你要遵循这些规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’).标识 ...

  9. Day01_变量,数据类型_程序交互_流程控制

    python执行的两种方式: 1,交互的方式:  优点:可以及时调试程序,调试方法  缺点: 无法永久保存代码 2,保存在文件中执行  优点:可以永久保存代码,在执行的时候调用  缺点:不能即时调试代 ...

随机推荐

  1. PageObject课程培训记录

    前言 昨晚的培训课程讲了PO设计模式,对于PO模式我们需要去了解关于为什么要使用PO,而不使用PO是什么情况?什么是PO模式?PO怎么去使用? 第一,为什么要使用PO,而不使用PO是什么情况? 我们先 ...

  2. Vue编写的页面部署到springboot网站项目中出现页面加载不全问题

    问题描述: 在用Vue脚手架 编写出一个页面之后, 部署到后台项目中, 因为做的是一个页面 按理来说 怎么都能够在服务器上运行 , 我也在自己的node环境测试 , 在同学的springboot上运行 ...

  3. python数据结构之二叉树的建立实例

    先建立二叉树节点,有一个data数据域,left,right 两个指针域 # coding:utf-8 class TreeNode(object): def __init__(self,left=N ...

  4. C\C++中strcat()函数

    转载:https://blog.csdn.net/smf0504/article/details/52055971 C\C++中strcat()函数                           ...

  5. 小程序将base64的多张图片,传到tp5后台

    zhu要是前端传过来的数据是base64的数据库存储不了base64的数据,因存储量太过于大,因此后台要将base64的数据转换成,34124323534.jpg等格式的,数据库才可将其存储 源码暂时 ...

  6. Oracle报错>记录被另外一个用户锁定

    原因 当一个用户对数据进行修改时,若没有进行提交或者回滚,Oracle不允许其他用户修改该条数据,在这种情况下修改,就会出现:"记录被另外一个用户锁定"错误. 解决 查询用户.数据 ...

  7. S3C6410触摸屏驱动分析

    一. device的注册1.0 两个注册//在smdk6410_machine_init中既注册了touchscreen的私有信息也注册了ts资源 1 在arch/arm/mach-s3c64xx/m ...

  8. 实验报告系列:实验一 HTML语言的简单网页制作

    实验一 HTML语言的简单网页制作 一.实验目的: 1.掌握常用的HTML语言标记: 2.利用文本编辑器建立HTML文档,制作简单网页. 3.学习将其它格式的文档转换成HTML格式的文档 二.实验内容 ...

  9. 多测师讲解_python_pycharm基本实用操作__保存代码_

    pycharm中中保存代码的方式: 方式一: 方式二: 第一步: 第二步:

  10. 阿里百秀后台管理项目笔记 ---- Day01

    摘要 在此记录一下阿里百秀项目的教学视频的学习笔记,部分页面被我修改了,某些页面效果会不一样,基本操作是一致的,好记性不如烂笔头,加油叭!!! step 1 : 整合全部静态页面 将静态页面全部拷贝到 ...