Python基础教程1-3章笔记

第一章
  • 1/2=0 # 整除结果为0
    1.0/2.0 #浮点数运算则为0.5

  • from _ future _ import division # 可以执行普通的除法
    python -Qnew # 可以执行普通的除法

  • //整除, 例如: 1//2=0;%取余数;**乘幂

  • 长整型数: 末尾带L,例如: 10000L

  • 十六进制,以0x开头, 例如 0xAF;八进制以0开头,例如 012;

  • 变量名:字母,数字,下划线;不以数字开头;

  • print(42); print 42; #输出
    x=input(“x:”) #输入数据返回给x

  • import math #导入math模块
    from math import sqrt #从math模块导入sqrt函数

  • import cmath #complex math复数,引入后即可进行复数运算
    nan #not a number的缩写;

  • 字符串,可以用单引号或双引号
    字符串示例:’ABC’, “ABC”, “AB’CD”, ‘AB”CD’, ‘AB”CD”EF’, ‘AB\’CD’
    拼接字符串:
    x=”ABC”“DEF”
    x=”ABC“‘DEF’
    x=”ABC”+’DEF’

  • 从数值得到字符串:
    str(123)
    str(123L)
    str(12.3)
    str(4+5)
    repr(123)
    repr(123L)
    repr(12.3)

  • 从键盘输入数据:
    input(), raw_input()
    一般使用raw_input,它可以将所有输入当作原始数据,然后将其放入字符串中。

  • 多行字符串:
    x=”’aa
    bb
    cc”’
    字符串续行:
    x=”aa\
    bb\
    cc”
    表达式续行:
    x=1+2\
    +3
    语句续行:
    print \
    ‘ABC’

  • 原始字符串:r’ABC\DEF’ ==> ‘ABC\DEF’ #
    Unicode字符串: u’ABC123字符串’
    一行多个语句,用分号隔开

第二章
  • 序列中的下标从0开始
    x=’ABC’ ==> x[0]=’A’, x[1]=’B’, x[2]=’C’
    负数索引从右边开始。最后一个元素下标是-1;x[-1]=’C’
    ‘ABC’[0] ==> ‘A’

  • 比如只对输入的第四个字符感兴趣
    fourth = raw_input(‘Year: ‘)[3]
    ==>Year: 2005
    fourth
    ==>’5’

  • 列表分片:x[2:5], x[-3:-1], x[-3:], x[:3], x[:] #列表名字[起始下标:结束下标]
    列表分片+步长: x[0:10:2], x[8:3:-1], x[::2], x[5::-1] #列表名字[起始下标:结束下标:步长]

  • 序列相加:
    [1,2]+[3,4] ==> [1, 2, 3, 4]
    ‘ABC’ + ‘123’ ==> ‘ABC123’

  • 序列乘法(重复):
    ‘ABC’*2 ==> ‘ABCABC’
    [1,2,3]*2 ==> [1, 2, 3, 1, 2, 3]

  • None 空值
    [] 空序列
    初始化序列:x=[None]*3 ==> x=[None, None, None]

  • 成员资格:
    ‘3’ in [‘1’,’2’,’3’] ==> True
    ‘3’ in ‘123’ ==> True

  • 元素个数:len([1,2,3]) ==> 3
    最大值:max([1,2,3]) ==> 3
    最小值:min([1,2,3]) ==> 1

  • 基本列表操作:

    • 把字符串转为列表:
      list(‘ABC’) ==> [‘A’, ‘B’, ‘C’]
    • 连接元素:
      x=list(‘ABC’); ‘-‘.join(x) ==> ‘A-B-C’ #连接字符.join(列表)
    • 赋值:
      x=list(‘ABC’); x[1]=’2’ ==> x=[‘A’, ‘2’, ‘C’]
    • 删除元素:
      x=list(‘ABC’); del x[1] ==> [‘A’, ‘C’]
    • 分片赋值:
      x=list(‘ABC’); x[2:2]=list(‘23’) ==> [‘A’, ‘B’, ‘2’, ‘3’, ‘C’] # 插入新元素
      x=list(‘ABC’); x[1:2]=[] ==> x=[‘A’, ‘C’] # 删除元素
  • 列表方法:

    • x=[1,2]; x.append(3) ==> x=[1, 2, 3] #追加元素
    • x=[1, 2, 3]; x.count(3) ==> 1 #统计元素出现次数
    • x=[1, 2, 3]; y=[8,9]; x.extend(y) ==> x=[1, 2, 3, 8, 9] # 把一个序列的元素追加到另外一个序列的末尾
      [1,2,3]+[4,5,6] ==> [1,2,3,4,5,6] #区别是extend修改了x,连接号+没有修改
    • [1,2,3,4,5,6].index(4) ==> 3 # 查找一个元素的下标
    • x=[1,2,3]; x.insert(2,8) ==> x=[1, 2, 8, 3] #插入元素
    • x=[1,2,3]; x.pop() ==> 3, x=[1, 2] # 返回最后一个元素;并删除最后一个元素
      x=[1,2,3]; x.pop(0) ==> 1, x=[2, 3] # 返回下标为0的元素,并删除该元素
    • x=[1,2,3]; x.remove(2) ==> x=[1, 3] #删除元素2,无返回值
    • x=[1,2,3]; x.reverse() ==> x=[3, 2, 1] #倒置列表,无返回值
    • x=[9,7,8]; x.sort() ==> x=[7, 8, 9] # 从小到大排序;无返回值
      x=[9,7,8]; y=sorted(x) ==> x=[9,7,8] y=[7, 8, 9]
      高级排序:
      x=[9,7,8]; x.sort(cmp) # 采用cmp函数排序
      x=[9,7,8]; x.sort(key=len) # 根据元素的长度排序
      x=[9,7,8]; x.sort(reverse=True) # 反向排序;从大到小
  • 元组不能修改;元组中必须有逗号
    1,2,3 #三个元素的元组
    (1,2,3) #三个元素的元组
    () #空元组
    1, ==> (1,) #1个元素的元组
    (1,) #1个元素的元组
    2*(1,) ==> (1, 1) # 元组乘法/重复

  • tuple函数和list函数基本一样,将一个序列转换为元组。
    tuple([1,2,3]) ==> (1, 2, 3) # 把序列变为元组
    tuple(‘abc’) ==> (‘a’, ‘b’, ‘c’) # 把序列变为元组
    tuple((1,2,3)) ==> (1, 2, 3)
    元组的操作和列表类似,只是元组不能修改;

  • 遍历列表的方法:

    • for item in thelist:
      doSoming(item)

    • for i in range(len(thelist)):
      doSoming(thelist[i])

第三章
  • 所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用。
    字符串是不可以改变的;

  • 格式化输出字符串:使用%,%左侧是格式字符串,%右侧是需要格式化的值
    例如:print ‘%s=%d’ % (‘x’,100) ==> x=100
    使用%% 格式字符串可以输出 %

  • 模板字符串:
    from string import Template
    s=Template(‘$x is 100’);
    s.substitute(x=’ABC’); ==> ‘ABC is 100’

  • python的字符串格式和c语言非常相似;
    %f 浮点数
    %s 字符串
    %d 整数
    -左对齐; 例如,%-10.2f
    +正负数都标出+-符号; 例如,%+5d
    空白 在正数前加上空格; 例如,% 5d
    0 左边用0填充;例如, %010.2f
    小数点; 例如,%10.2f 2位小数
    最小宽度; 例如,%10.2f 宽度为10

  • 字符串常量
    string.digits 数字
    string.letters 字母
    string.lowercase 小写字母
    string.printable 可打印字符
    string.punctuation 标点
    string.uppercase 大写字母

  • 字符串方法:

    • ”ABCDEFG”.find(“BC”) ==> 1 #查找子串; 如果找到返回下标;如果没有找到返回-1
    • “ABCDEFG”.find(“DE”,2,7) # 提供了查找的起止下标范围
    • join 连接字符串
      seq = [‘1’,’2’,’3’];
      sep = ‘+’;
      sep.join(seq) ==>’1+2+3’

      x=list(‘ABC’);
      “=”.join(x) ==> A=B=C

    • ‘ABC’.lower() #转为小写

    • ‘ABCDE’.replace(‘AB’,’12’) ==> ‘12CDE’ # 替换子串
    • ‘A,B,C’.split(‘,’) ==> [‘A’, ‘B’, ‘C’] # 如果不提供划分的字符,则默认为空格,制表,换行等。
    • ’ ABC ‘.strip() ==> ‘ABC’ # 去掉两端的空格
    • ‘—ABC—!’.strip(‘-!’) ==> ‘ABC’ # 去掉两端的指定的字符
    • translate 高级替换,只处理单个字符,可以同时替换多个子串;
      转换之前需要一张转换表,可有maketrans函数来获得。
>>>from string import maketrans
>>> table = maketrans("cs", "kz") #c用k代替,s用z代替
>>> 'this is aan incredible test'.translate(table)
'thiz iz aan inkredible tezt'

translate第二个参数可选,用于指定要删除的字符。例如删除空格’ ’

>>> 'this is aan incredible test'.translate(table,' ')
'thizizaaninkredibletezt'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值