Python学习杂记

注释

单行: #

多行: ''' 内容 '''

文档注释; """ 内容 """

#conding: utf-8 #指定编码

数据类型:

基本类型

整型,布尔,浮点,复数
查看数据类型 type(变量名);#输出

复杂类型;

​ 字符串 :'内容', "内容" ,'''内容''' ,"""内容"""
​ 取消’‘的转义: r’/内容’
​ 列表
​ 元组
​ 集合
​ 字典

  • 切片: 字符串 , 列表,元组,集合,字典都可以用切片取值
  • 索引:
    从左向右0开始
    从又往左, 最后一个是 -1
a = 'javapythoncsharpc'
b = a[0:5] # 索引0开始 , 到5-1的位置 , 不包括5
print(a) # javap
b = a[5] # 还是javap
c = a[-1 , -5]
print(arpc)
print(a[-1,2]) #vapythoncsharpc
  • 列表 : []

    • 创建:
      name = list[1,2,3,…]
      name = list(元组/range对象/字符串/可迭代对象)
    • 读取:
      name[0]
    • 增加:
      1: list_a = list_a + [10,45,59]
      2: append():在尾部添加一个新元素
      3: extend(): 将另一个可迭代对象的所有元素添加到列表的尾部
    • 删除:
      del list_a[索引] :
      remove()
      pop() : 默认删除最后一个
    • 其他常用:
      index()返回元素在列表中的精确位置
      count()返回某元素在列表中出现的次数
      in运算
      sort()默认为升序 , 传入reverse=True则降序
      insert(索引,元素)
      python内置函数
      len()返回元素个数
      max()最大值
      min()最小值
      sum()返回列表中的元素和
  • 元组 : () 不可修改
    创建:
    name = (1,2,…)
    tuple() 将其他元素转换为元组
    读取:
    更安全 ,访问速度更快, 一些元组可一作为字典的键,而列表不可以
    常用方法

  • 集合 : {} 不重复

    • 创建:
      set_a = {1,2,…}
      set(列表,元组,range对象)
    • 添加:
      add(1)
      update(集合/列表/)
      pop()
    • 子集, 超集
      < <= issubset()
      > >= issuperset()
      并运行 | union()
      交运行 & intersection()
      差集 - difference()
    • 对称差 ^ symmetric_difference()
  • 字典 : 键值对 {键 : 值}

    • 创建:
      name = {kay : value, kay : value}
      dict() 将已有数据转换为字典
      fromkays() : 创建一个默认的元组 , 字典中的元素都具有相同的值
    • 增加:
      a[‘key1’] = value
      update()将另一个字典全部元素添加到字典
    • 删除:
      del
      popitem()删除并返回一个键值对
    • 读取:
      name[key] 查找key对呀的value
      get()如果指定的键不存在,则返回None , 比上面一种 安全
    • 遍历:
      items()获取字典的键值对列表
      k eys()得到字典的键列表
      values()得到字典的值列表
    • 其他常用:
  • 字符串
    单引号, 双引号, 三引号, 都可以表示字符串,只要他们成对出现, 中间就可以出现其他引号
    占位符: {} , %

  • 方法:
    find() 查找字串
    split() 分割字符串成若干子串, 并返回一个集合
    join() 连接字符串,并在子字符串中插入指定字符串
    lower() 大写转小写
    upper() 转大写
    capitalize() 第一个字母转大写
    title() 每个单词转大写
    repalace() 查找,替换
    strip() 去除字符串前后的空格或其他字符
    rstrip() 去处右边的字符串或其他字符
    lstrip() 去除左边的字符或其他的字符
    isalpha() 是否为字符
    isdigit() 时候数字
    isalnum() 是否数字

语法基础

变量作用范围

global : 全局变量

函数 :

def 函数名(message , count = 3):

​ pass

参数可以有默认值:

可变长参数:

​ 在参数前加上*把参数当作一个元组对待

lambda()匿名函数

lambda 参数列表 : 表达式;

分支

if 条件 :
	代码块
elif 条件 :
	代码快
else:
	代码块

循环:

while bool表达式:
	pass;

for a in range(开始, 结束, 步长):
     pass;

转跳

break , continue

文件

文件基本操作

  • 打开
    name = open(文件名 , 访问方式, 缓存区)

    • 打开方式
      r 只读
      w 只写
      a 追加

      +以读/写方式打开 , 不删除原文件

      b表示打开二进制文件

      缓存:0不使用,1使用,>1缓存大小

  • 关闭
    name.close()


  • read([读取内容大小])读取并返回读取内容
    readline()读取一行,包括\n字符,已经达到文件底部则加一个空字符
    readlines()一次性读取所有内容


  • write(“string”) 写入字符串,没有返回值
    write(stringList)写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符

文件指针

​ f.tell() 返回文件指针的当前位置
​ f.seek(offiset [, whence=0]) 从whence(0代表文件开始 , 1代表开始位置,2代表文件末尾)
​ 偏移offset字节当offset为负数,则向文件开头移动

基于上下文管理的文件操作

​ 代替了资源管理,try…except…finally语句
​ 语法
​ with 上下文表达式 [ as 变量]:
​ with 语句
​ 例
​ with open(‘text.txt’,“a+”) as f
​ f.close()

文件属性

​ os.stat() 读取文件属性
​ 格式化时间time.localtime()

文件操作

copy(src,dst) #复制
if os.path.exits('file.txt'):#判断文件是否存在
    os.rename(name1,name2)#重命名
    os.remove(name1)#删除
    os.move(pathName,pathName)#移动

文件夹的操作

os.mkdir(name)#创建目录
os.rmdir(name)#删除一个目录
os.removedirs(name)#删除多级目录

内容比较

Difflib 模块
Filecmp 模块

面向对象

类的定义

class Name(SupperClassName):
	  __name='里斯'
      #成员变量
      def function(参数列表):
          函数体

私有

在(方法/变量)名称前加__,不能直接调用, 私有只是按照一定规则改变了名称

似乎可以通过 _Name__name来引用私有变量

构造函数 和 析构函数

构造: __init__():创造时调用

析构: __del__():删除时调用

表示当前对象: self

静态变量

​ 不需要显式的定义, 通过类名.变量调用, 与实例.变量互不干扰

静态方法: 用@staticmethod修饰

类方法: 用@classmethod修饰

异常

异常处理

  try:
      代码块
  except Exception as e:
      处理

抛出异常:

raise [Exception [, args [, traceback]]]

你可能感兴趣的:(语法学习,python)