Python 基础

1.Python基本认识
2.Python的注释及变量&常量
3.六大标准数据类型
4.数据类型转换
5.变量的缓存机制


一、Python基本认识

1.Python简介

1.拥有非常多且强大的第三方库,使得程序开发起来得心应手
2.开发方向:机器学习人工智能、自动化运维、数据分析&爬虫、全栈开发

2.编译型与解释型语言的区别

编译型:一次性,把所有代码编译成机器能识别的二进制码,再运行
    代表语言:C、C++
    优点:执行速度快
    缺点:开发速度慢,调试周期长

解释型:代码从上到下逐行进行解释运行
    代表语言:Python、PHP
    优点:开发速度快,调试周期短
    缺点:执行速度相对较慢      

二、Python的注释及变量&常量

1.注释

(1).注释的作用
对代码进行解释,方便阅读代码

(2).注释的分类

单行注释
      #

多行注释
      '''  或者 """

快捷键:
    ctrl + q(NodePad++)
    ctrl + \ (Python)

(3).可以利用注释进行代码的排错

2.变量 & 常量

(1).含义:

变量:可以改变的量,具体指代的是内存的一块空间,映射是:多对一
常量:约定俗成的概念,不可改变的量,通常用大写的字母表示

(2).变量的声明

# 赋值:右--->左
a = 1
b = 2

a,b = 3,4

a = b =100
#输出两个变量时,中间用逗号隔开
print(a,b)

(3).变量的命名

  1. 字母、数字、下划线,数字不能开头
  2. 严格区分大小写,且不能为关键字
  3. 命名要有意义,且不能使用中文

(4).变量的交换

a = 1
b = 2

#常规:
tmp = a
a = b
b = tmp

#python中:
a,b = b,a

三、六大标准数据类型

1.属于Number的

(1). int 整型 —— 正、负、0

intvar = 66
type(intvar)    #一个函数,数据类型
id(intvar)     #一个函数,数据所在地址

①二进制  0、1
intvar = 0b1010

②八进制  0~7
intvar = 0o7

③十六进制   0~9 , a-f
intvar = 0xff
255(十),11111111(二)

(2). float 浮点型 —— 小数

floatvar = 5.7
floatvar = 3.14e3      #小数点后移三位
floatvar = 3.14e-2    #小数点前移两位

(3). bool 布尔型 —— True、False

boolvar = True

(4). complex 复数型 —— 3 + 4j

复数 = 实数 + 虚数
complexvar = 3 + 4j
complexvar = -40j

res = complex(3,4)
3 + 4j

j:如果有一个数,它的平方等于-1,那么这个数就是j,科学家认为有,表达高精度的概念

2.属于容器的

(1). str 字符串类型
有序、可获取、不可修改

①引号引起来的就是字符串类型

单引号
strvar = '今天天气真好'

双引号
strvar = "今天天气真好"
      
三引号(支持跨行)
strvar = '''
本来无一物,
何处惹尘埃。
'''

②转义字符:\

1.将无意义的字符变为有意义
    \n      换行
    \t      缩进
    \r\n    换行
    \r      把其后面的内容拉到行首,覆盖一行

2.将有意义的字符变为无意义
strvar = "今天\"天气\"真好"

③元字符串

防止发生转义,在字符串前面加上r
strvar = r"E:\运维linux70\nay1\tabssets"

④格式化字符串

占位符 含义
%d 整数占位符,%2d 占两位(默认靠右),%-2d占两位,靠左
%f 浮点数占位符,%.2f 保留小数点后两位,遵循四舍五入
%s 字符串占位符,万能的,写什么是什么

语法:
"字符串" % (要传入的值)

(2). list 列表
有序、能获取、能修改

# 空列表
listvar = []

# 定义一个不通列表
listvar = [1,3.14,3+4j,True,"abc"]

正向下标  0 1 2 3 4 ...
逆向下标  ... -3 -2 -1

# 获取列表元素 3+4j
res = listvar[2]

# 修改列表元素 1,改为4
listvar[0] = 4

通用-获取最后一个元素

# 获取容器类型元素的个数
res = len(listvar)
print(listvar[res-1])      # 打印最后一个元素

#简写
print(listvar[len(listvar)-1])

(3). tuple 元组
①有序、可获取、不可修改
②逗号(5,)是区分是否是元组的标识符

# 空元组
tuplevar = ()

# 定义一个不同元组
tuplevar = (1,3.14,3+4j,True,"abc")

# 获取元组元素 True
res = tuplevar[3]    # 或者 res = tuplevar[-2]

(4). set 集合
无序、不可获取、不可修改、自动去重

# 空集合
setvar = set()

# 定义一个不同集合
setvar = {1,3.14,3+4j,True,"abc",(1,2,3)}

(5). dict 字典
无序、可获取、可修改、键值对方式存储数据

# 空字典
dictvar = {}

# 定义一个普通字典
dictvar = {"a":1,"b":2,"c":3}

# 获取字典键值 3
res = dictvar["b"]

# 修改字典键值 1 为 10
dictvar["a"] = 10

注意事项:

字典的键和集合的值只能是如下类型:
①Number(int , bool , float , complex)
②容器(str , tuple)

四、数据类型转换

1.Number 类型强制转换
(1). 强制转换成 int类型

res = int(var1)

# 可以转换的数据类型
int
float    # 遵循四舍五入,去掉小数部分
bool    # True=1,False=0
纯数字字符串    # 去掉引号

(2).强制转换成 float类型

res = float(var1)

# 可以转换的数据类型
int    # 后面加 .0
float    
bool    # True=1.0,False=0.0
纯数字字符串    # 去掉引号,变为浮点型

(3).强制转换成 complex类型

res = complex(var1)

# 可以转换的数据类型
int    # 后面加 +0j
float    # 后面加 +0j
bool    # True=1+0j,False=0j
complex
纯数字字符串    # 去表引号,加+0j

(4).强制转换成 bool类型

# 所有类型都可以转换成bool类型
res = bool(var1)

# 结果为False的10种情况
0  ,  0.0  ,  0j  ,  False  
''  ,  []  ,  ()  ,  set()  ,{}
None

2.Number 类型自动转换

①精度由低到高为:
bool-->int-->float-->complex
.
②会按照数据类型精度的高低,自动向精度高的数据类型转换

3.容器 类型强制转换
(1).强制转换成 str类型

一切数据类型都可转换成 str 类型
单纯的在原来的数据类型的两边套上引号

res = str(var1)
print(repr(res))    #原型化输出字符串

(2).强制转换成 list、tuple、set类型(遵循相同规则)

以list为例:
①如果是字符串,把里面的字符一个一个拿出来,作为列表的新元素。
②如果是字典,获取字典中的所有键,形成新的列表。
③如果是其他容器数据,则单纯的把两边的符号换成[]号。

(3).强制转换成 dict类型

可以转换的条件:
①等长的二级容器,并且里面的元素是两个。
②外面是列表、元组时,里面的容器可以是列表或元组。
③外面是集合,里面的容器只能是元组。

1.二级容器
  # 二级列表
  lst = [1,2,3,[4,5,6]]
  # 二级元组
  tup = (1,2,(3,4))
  # 二级集合
  setvar = {1,2,(3,4)}
  # 二级字典
  dic = {"a1":1,"b1":{"c1":3,"d1":4}}

2.怎样获取多级容器的元素
  # 以四级容器为例
  container = [1,2,3,4,("a","b","c","d",{"a1":1,"a2":[10,11,"bingo"]})

  #获取bingo
  res = container[-1][-1]["a2"][-1]
  print(res)

3.等长的二级容器
  lst = [("a",10),("b",20)]

五、变量的缓存机制

节省内存空间,提升代码效率

1.在同一文件(模块)里,变量存储的缓存机制

数据类型 id地址的情况
int (≥ - 5)的范围相同的值,id相同
float 非负数的相同值,id相同
bool 相同的值,id相同
complex 只有虚数 nj 的情况下,相同值,id相同
str & tuple 值相同,id相同
list & set & dict id都不同

注意:只针对Python3.6这一系列版本有效

你可能感兴趣的:(Python 基础)