博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python第二周 学习笔记(1)
阅读量:6909 次
发布时间:2019-06-27

本文共 2974 字,大约阅读时间需要 9 分钟。

深浅拷贝


  • ==比较的是数据内容,如果是True意义为内容相同,引用并不同
  • =操作执行后,前后两个元素的引用地址相同

浅拷贝

copy() -> List

  • 返回一个新的列表
  • 引用类型只拷贝引用地址
    Python第二周 学习笔记(1)

    深拷贝

  • 完全拷贝。包括引用类型
    from copy import deepcopylst2=deepcopy.(lst)

    Python第二周 学习笔记(1)

随机数


import random

randint(a, b)

  • 返回[a, b]之间的整数,闭区间

    choice(seq)

  • 从非空序列的元素中随机挑选一个元素,比如
    random.choice(range(10))

    ,从0到9中随机挑选一个整数。

    random.choice([1,3,5,7])

    randrange ([start,] stop [,step])

  • 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1。
    random.randrange(1,7,2)
  • 前闭后开

    random.shuffle(list) ->None

  • 就地打乱列表元素

    sample(population, k)

  • 从样本空间或总体(序列或者集合类型)中随机取出k个不同的元素,返回一个新的列表

元组


  • 有序的元素集合

    初始化:

    t=tuple()t=()t=(1,)
  • 元组查询与列表类似

  • 元组元素不可修改

    注意:

    对于包含复杂对象的元组,其指向复杂对象的引用地址不可更改,但复杂对象的数据内容可更改

namedtuple

from collections import namedtuplePoint=namedtuple('Point',['x', 'y'])#Point=namedtuple('Point','x y') 第二种写法p1=Point(11,12)print(p1.x,p1.y)

部分源码:

if isinstance(field_names, str):    field_names = field_names.replace(',', ' ').split()field_names = list(map(str, field_names))typename = str(typename)

字符串


  • 字符串对象不可变
  • 使用' '、" "、''' '''包围的字符序列
  • 举例

    s1 = 'string's2 = "string2"s3 = '''this's a "String" '''s4 = 'hello \n magedu.com's5 = r"hello \n magedu.com"s6 = 'c:\windows\nt's7 = R"c:\windows\nt"s8 = 'c:\windows\\nt'sql = """select * from user where name='tom' """
  • 字符串支持使用索引访问
  • 可迭代

join连接

  • "string".join(iterable) -> str
    • 将可迭代对象的每一个元素用string连接起来
    • 返回一个新字符串对象

+

  • 连接两个字符串
  • 返回一个新字符串对象

字符串分割

  • split(sep=None, maxsplit=-1) -> list of strings

    • 从左至右
    • sep 指定分割字符串,缺省的情况下空白字符串作为分隔符
    • maxsplit 指定分割的次数,-1 表示遍历整个字符串
  • rsplit(sep=None, maxsplit=-1) -> list of strings

    • 从右向左
  • splitlines([keepends]) -> list of strings

    • 按照行来切分字符串
    • keepends 指的是是否保留行分隔符
    • 行分隔符包括\n、\r\n、\r等
  • partition(sep) -> (head, sep, tail)
    • 从左至右,遇到分隔符就把字符串分割成两部分,返回头、分隔符、尾三部分的三元组;
    • 如果没有找到分隔符,就返回头、2个空元素的三元组
    • sep 分割字符串,必须指定

字符串大小写

  • upper()
    • 全大写
  • lower()
    • 全小写
    • 大小写,做判断的时候用
  • swapcase()
    • 交互大小写

字符串排版

  • title() -> str
    • 标题的每个单词都大写
  • capitalize() -> str
    • 首个单词大写
  • center(width[, fillchar]) -> str
    • width 打印宽度
    • fillchar 填充的字符
  • zfill(width) -> str
    • width 打印宽度,居右,左边用0填充
  • ljust(width[, fillchar]) -> str
    • 左对齐
  • rjust(width[, fillchar]) -> str
    • 右对齐

字符串修改

  • replace(old, new[, count]) -> str

    • 字符串中找到匹配替换为新子串,返回新字符串
    • count表示替换几次,不指定就是全部替换
  • strip([chars]) -> str
    • 从字符串两端去除指定的字符集chars中的所有字符
    • 如果chars没有指定,去除两端的空白字符
  • lstrip([chars]) -> str
    • 从左开始
  • rstrip([chars]) -> str

    • 从右开始
  • find(sub[, start[, end]]) -> int
    • 在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到返回-1
  • rfind(sub[, start[, end]]) -> int

    • 在指定的区间[start, end),从右至左,查找子串sub。找到返回索引,没找到返回-1
  • index(sub[, start[, end]]) -> int
    • 在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到抛出异常ValueError
  • rindex(sub[, start[, end]]) -> int

    • 在指定的区间[start, end),从左至右,查找子串sub。找到返回索引,没找到抛出异常ValueError
  • count(sub[, start[, end]]) -> int
    • 在指定的区间[start, end),从左至右,统计子串sub出现的次数

字符串判断

  • endswith(suffix[, start[, end]]) -> bool
    • 在指定的区间[start, end),字符串是否是suffix结尾
  • startswith(prefix[, start[, end]]) -> bool
    • 在指定的区间[start, end),字符串是否是prefix开头

is系列

  • isalnum() -> bool
    • 是否是字母和数字组成
  • isalpha()
    • 是否是字母
  • isdecimal()
    • 是否只包含十进制数字
  • isdigit()
    • 是否全部数字(0~9)
  • isidentifier()
    • 是不是字母和下划线开头,其他都是字母、数字、下划线
  • islower()
    • 是否都是小写
  • isupper()
    • 是否全部大写
  • isspace()
    • 是否只包含空白字符

转载于:https://blog.51cto.com/11281400/2092009

你可能感兴趣的文章
原生js实现发短信~chat
查看>>
个人作业——软件工程实践总结作业(天亮了)
查看>>
五、箭头函数
查看>>
Struts2动态结果(${})and全局结果(global-results)
查看>>
java.util 类 TreeSet<E>
查看>>
程序员的思维修炼6——主动学习
查看>>
Mac 终端使用 - 加密 1. MD5 2.Base64
查看>>
【热门技术】解决Win7 下面很多软件安装不兼容的问题
查看>>
【Android】选项卡使用
查看>>
C#基础解析之Ⅰ【前言】
查看>>
CoordinatorLayout滑动抖动问题
查看>>
算法模板——线性欧拉函数
查看>>
价值观
查看>>
Mock.js——数据模板定义
查看>>
vue单页面应用在iOS版微信下自定义分享的问题
查看>>
【BZOJ】1455 罗马游戏
查看>>
python 的urlparse学习
查看>>
vmtouch命令 -
查看>>
spring boot 实际应用(一) 内置tomcat 实现JMX配置
查看>>
MacOS X APK 最新版本 反编译
查看>>