栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

python学习-1-python基础

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习-1-python基础

因为工作需要,所以重新稍微正式的学习下python,之前就纯粹拿python当伪代码写,实在不尊重,之后只会记录些自己之前没有注意到的知识点,因此本系列并非教学博客,顶多是学习笔记

关于python
  • 代码无法加密
    • c语言发布程序可以不暴露源码,将exe发布出去,java和把jar包打出去,从机器码反推源码不可能
    • 编译型语言可以加密,而python这种解释型语言不可能
  • python可跨平台
python解释器
  • 官方解释器 CPython, 使用c语言开发
    • 当前使用最广
  • PyPy
    • 目标为运行速度,使用JIT技术,对Python代码动态编译
  • balabala
    • 可以将python代码转为java字节码
    • .net等等
python的数据类型
  • 整数

    • python对于整数范围没有限制
    • 十进制
    • 十六进制
      • 0xff
      • 打印出来显示是十进制255
    • 大数
      • 可以使用_隔开: 10_00 == 1000
  • 浮点数

    • python对于浮点数没有大小限制,超过一定范围表示为inf(无限大)
    • 1.24
    • 1.24e9==1.24*10^9
  • 字符串

    • 可用单引号或双引号,一对即可
    • 内部可使用转义符 例’
    • 本身可用表示
      • '‘t’=='t
    • r’’ 表示字符串里默认不转移
      • '‘t’=='t
    • ‘’‘xxx’''中,可以直接使用enter换行表示,不用再输入n
  • 布尔

  • 空值

    • None 类似于null
  • 变量

    • python中的变量不用考虑类型
    • 原因在于python是动态语言,而诸如java之类的静态语言需要类型匹配,因此动态语言使用起来更加灵活
    • 当a = 'ABC’时: python解释器首先在内存中创建一个’ABC’字符串, 然后在内存中创建一个名为a的变量,将其指向该字符串
  • 常量

    • 全部大写的变量名代表常量
    • 只是一个约定,并不是规则,依然可以改变
  • 除法

    • /精确除法
    • //整数除法,地板除
python的编码
  • 最初的127字符 ASCII
  • 为了显示中文,GB2312
  • Unicode将所有语言整合
    • 它是一个标准,在不断发展
    • 需要固定的空间比较大,在只需要打英文时浪费空间
    • 目前都是使用两个字节表示一个字符
  • UTF-8
    • 可变长的编码
    • 用几个bit开头,表示当前是8位还是16位还是24还是32
    • 会浪费一定空间,但在单一短bit语言时,节省大量空间
    • 兼容ASCII
  • 当前计算机内存中,统一使用Unicode
  • 需要保存到硬盘或传输的时候,为了节省空间,转换为UTF-8
  • ord() 字符的整数表示
  • chr() 编码的字符表示
  • python字符串的编码
    • 内存中是Unicode,一个字符对应若干字节
      • 'ABC’用Unicode是3*2个字节
    • 需要传输或保存时,将其转换为bytes(以字节为单位,每个字符一个字节)
    • b’ABC’ 就是一个bytes类型的对象
      • 它是3个字节
    • 这里的bytes对象,就是bit流,byte流实际上,没啥区别
    • 对字符串编码encode(编码方式) --> bytes
    • 对bytes解码decode(编码方式) --> str
    • 对于少量不能解码的,可以用errors=‘ignore’
    • len()可以计算str字符数,也可以计算bytes的字节数
    • py文件的开头
      • #!/usr/bin/env python3 这个在学shell中也遇到过,就是指定解释器的位置,linux中可用
      • # -*- coding: utf-8 -*- 按照utf-8读取源码
字符串格式化输出
  • 用%实现
    • “hello,%s” % “world” == “hello,world”
    • %d 整数
    • %f 浮点数
    • %s 字符串
    • %x 十六进制整数
    • 不确定用什么时,%s永远可以起作用,
    • %的转义为 %%
  • format()
    • ‘hello,{0},成绩提高了{1:.1f}%’.format(‘小明’,17,125) == ‘hello,小明,成绩提高了17.1%’
    • 第一个为占位符序号,:后面是格式
list
  • -1索引表示最后一个 可以类推-2,-3…
  • 删除末尾元素,list.pop()
  • 删除任意元素,list.pop(i)
  • list中可以有list,可以如此使用a[2][1]
tuple
  • 与list十分相似,tuple一旦初始化就不能修改
  • 因为不能修改,所有就更安全
  • 定义tuple t = (1,2)
  • 定义空的tuple t = ()
  • 定义一个只有一个元素的tuple t = (1,) 用,来消除歧义
dict
  • 使用dict.get()方法时,key不存在也不会报错(None)
  • key必须是不可变对象
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/931397.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号