Python基础部分整理

一、Python介绍
  python创始人为:吉多·范罗苏姆(龟叔)。
  1989年开发python
  龟叔: 2005——2012年就职谷歌
  2013——至今就职Dropbox
  python崇尚优美、清晰、简单
语言分为编译型语言和解释型语言
  编译:把程序全部编译成二进制之后进行运行,速度快
  解释:在执行程序时,一条一条解释成二进制,速度慢

  python是解释型动态强类型定义语言

  python优点:优雅 明确 简单
  开发效率高
  高级语言 可移植性 可扩展性 可嵌入性

  python缺点:速度慢 代码不能加密 线程不能利用多CPU

二、基本编码:
  ascii 65——90是A-Z
  97——122是a-z
  256
  8bit代表1字节一个字符
  unicode 16bit代表2字节一个字符 32bit代表品4字节一个字符
  utf-8 英文8bit一个字节一个字符
  欧洲 16bit两个字节一个字符
  亚洲 24bit三个字节一个字符
  gbk 英文 8bit一字节一字符
  中文 16bit两字节一字符

  8bit 1bytes
  1024bytes 1kb
  1024kb 1mb
  1024mb 1gb
  1024gb 1tb

三、python必会知识:
python2中文件开头要写如下抬头,告知用utf-8编码格式进行操作

  -*- coding: utf-8 -*-

变量的定义方法:字母数字下划线的任意组合,不能以数字开头,
  具有可描述性,不能是python中的关键字
  不能是中文,不能是拼音,不能太长
常量的定义方法:全大写,python中没有常量

交互:
  input接收的全是str
  name = input('请输入姓名:')
  print(name)

int型
  32位机器: -2**31 - 2**31-1 -2147483648~2147483647
  64位机器: -2**63 - 2**63-1 -9223372036854775808~9223372036854775807

long型
  python3中不再有long型,只有int


str
  单引号 双引号 三引号都行 除了

  msg = '''
  123
  456
  789
  '''
  print(msg)

字符串只能进行相乘相加运算
  a = '1'
  print(a*3)
  print(a+a)

布尔值
  print(3>5)
  print(5<6)

格式化输出
  %s %d


算术运算:
  + - * / % **
  //返回商的整数部分


比较运算:
  == != <> > < >= <=

赋值运算
  = += -= *= /= %= **= //=

逻辑运算
  and or not
例子:
  a = 4
  b = 5
  print(a and b)
  print(a or b)

  ()>not>and>or

  print(3>4 or 4<3 and 1==1)
  print(1 < 2 and 3 < 4 or 1>2 )
  print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
  print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
  print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
  print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)

  print(8 or 4)
  print(0 and 3)
  print(0 or 4 and 3 or 7 or 9 and 6)
诀窍:
  x or y , x为真,值就是x,x为假,值是y;
  x and y, x为真,值是y,x为假,值是x。

条件语句
  if
  if else
  if elif
  if elif else

  while True or False
条件终止语句:
  break 结束循环 执行循环体后面的语句
  continue 结束本次循环,继续执行下次循环

  while else 中途被break打断不执行else 否则执行else



四、基本数据类型:
  数字 字符串 列表 元组 字典 集合

字符串操作方法
  capitalize 首字母大写
  center 居中
  upper 全大写
  lower 全小写
  swapcase 大小写反转
  title() 非字母隔开的每个单词首字母大写
  startswith 判断以什么开头
  endswith 判断以什么结尾
  index 通过元素找索引 返回报错
  find 通过元素找索引 返回-1
  strip 去除前后端的空格换行制表符
  split 以什么分割 默认空格分割
  join
列表转字符串 list -----> str     使用方式:'分隔符'.join(list)
  replace 替代   replace('old','new')
  len计算字符串长度
  count计算字符串中某个字符出现的次数count('xxx')
格式化输出(三种方式)(例子):
  msg = '我叫{},今年{},爱好{}'.format('123', '456', '789')
  msg2 = '我叫{0},今年{1},爱好{2},姓名{0}'.format('123', '456', '789')
  msg3 = '我叫{name},今年{age},爱好{hobby}'.format(name='123', age='456', hobby='789')
  str.isalnum() 字符串由字母数字组成
  str.isalpha() 字符串由字母组成
  str.isdigit() 字符串由数字组成



元组
  只读列表 只能查询不能修改



列表list操作方法

insert('索引','增加元素')
append(元素) 最后增
extend(元素) 迭代增加

pop(索引) 按照位置删除
del list[:] 按照位置删除 可切片删除
remove(元素) 按照元素删除
clear() 清空列表

list[索引] 索引改
list[:] 切片改 迭代改

list[:]切片查
  for循环查

list其他操作:
  len个数
  count('元素') 计算元素在列表中出现个数
  index(元素) 计算元素第一个出现在列表的索引位置
  sort从小到大
  sort(reverse = True)从大到小
  reverse 列表反向存放




dict字典操作方法
  字典的key 可哈希不可变 比如:数字 字符串 元组

setdefault 有键无值值为none 存在键值对不会更改和覆盖

del 删除
del dict[键] 根据键删除键值对
pop(key)
popitem() 随机删除 py3中默认删掉最后一个 返回值为元组
clear 清空字典

update 两个字典更新 有则覆盖无则添加

dict[键] 根据键查
get(键,'默认返回值可改')

其他操作
  dic = {1:'2',2:'3'}
  item = dic.items()
  print(item,type(item))

  keys = dic.keys()
  print(keys,type(keys))

  values = dic.values()
  print(values,type(values))

字典循环
for key in dic:
print(key)

for item in dic.items():
print(item)

for k,v in dic.items():
print(k,v)


for循环
用户按照顺序循环可迭代对象(list、字典等都是可迭代对象)的内容

enumerate枚举
li = ['Neal','Jack','Alex',]
for i in enumerate(li):
print(i)

for index,name in enumerate(li,1):
print(index,name)

range 指定范围,生成指定数字
range(int可以增加步长)


集合
无序不重发,元素可哈希(不可变),集合本身不可哈希(可变)
特点:去重 关系测试
  去重例子: l = [1,1,2,2,3,3]
        print(set(l))
        最终结果为:[1,2,3]



.add 普通增加
update 迭代着增加

remove(元素) 删除一个元素
pop 随机删除
clear 清空集合
del 删除

其他操作
& intersection 交集
| union 并集
- difference 差集
^ symmetric_difference 反交集
< issubset 子集
> issuperset 超集
frozenset 冻结 把集合变为不可变类型


深浅copy
浅copy:第一层变,第二层级更内层指向同一内存地址,变就变 切片是浅copy
deepcopy深copy:全部指向不同的内存地址,互相独立




五、python文件操作
第一种方式(必须要关闭文件f.close)
  f = open('文件路径',encoding='utf-8',mode='模式,默认读(r)模式')
  f.read() 通过文件句柄操作文件
  f.close 关闭文件
第二种方式(无需太过关注是否要关闭文件)
  with open('文件路径',encoding='utf-8',mode='模式,默认读(r)模式') as f:
  f.read() 通过文件句柄操作文件

文件编码
文件打开方式的编码格式如果不指定,
默认是用当前操作系统环境下的编码方式去打开文件
  windows------gbk
  linux-------utf-8

文件打开模式
  r 只读模式
  w 只写模式
  a 追加写模式

rb、wb、ab b模式是字节操作方式

  r+ 读写
  w+ 写读
  a+ 写读

  r+b 读写
  w+b 写读
  a+b 写读

电脑文件内容的修改原理
  打开原文件
  创建新文件
  把原文件内容修改之后的内容写入新文件
  把原文件删除
  把新文件重命名为原文件的名字
原文地址:https://www.cnblogs.com/ngz311616/p/9157365.html