python基础day03笔记

2018.7.4

day02回顾

运算符
  + - * / // % **
  > < >= <= == !=
  is  is not
  not, and, or
  + -
表达式
  1
  1 + 2
  -5
  100 + 200 < 300 + 400
  abs(-100)
  x + 100 if x < 5 else x + 200
语句
  赋值语句:
    a = 100 + 200
  del 语句
    del a
  表达式语句:
    print("hello")
  if 语句:
    if score >= 60:
        print("及格")
    else:
        print("不及格")




哪些函数?
  abs(x)  
  round(数字, 位数)
  pow()


  int(x)
  float(x)
  complex(x)
  bool(x)
    None, False, 0, 0.0, 0j, '', [], (), {}


  input('提示语')
  print(1, 2, 3, 4, sep='#', end='\n\n')


  if 语句
      if 真值表达式:
          语句1
      elif 真值表达式2:
          语句2
      ...
      else:
         语句3


  if-else 条件表达式
    左表达式 if 真值表达式 else 右表达式


  r = "及格" if score >= 60 else '不及格'


  r = '不及格' if score < 60 else '及格'


pass 语句
布尔运算符
  not 布尔非


  and 布尔与


  or 布尔或












day03笔记


字符串 str
  作用:
    用来记录文本(文字)信息
  字符串的表示方式:
    在非注释中,凡是用引号括起来的部分都是字符串
    '    单引号
    "    双引号
    '''  三单引号
    """  三双引号
  空字符串的字面值表示方法
    ''
    ""
    ''''''
    """"""
  非空字符串的表示方法:
    'hello'
    "world"
    '''hello'''
    """world"""




单引和双引号的区别:
  单引号内的双引号不算结束符
  双引号内的单引号不算结束符
  示例:
    print("I'm a teacher!")  # I'm a teacher
    print('I am "weimingze"')  # I am "weimingze"
三引号字符串的作用:
  三引号字符串中的换行会自动转换为换行符
  三引号内可以包含单引号和双引号


  示例:
    s = 'welcome to beijing!\nI like python!\nI am Studing!'
    print(s)
    s2 = '''welcome to beijing!
    I like python!
    I am Studing!'''
    print(s2)


隐式字符串字面值拼接
   s = "I'm a teacher!"  'My name is "weimingze"'


思考:
  如果一个字符串同时包含如下字符该怎么办?
     '   "  '''  """ 


用转义序列代表特殊字符
  字符串字面值中,用字符反斜杠(\)后跟一些字符代表特殊的一个字符


反斜杠转义字符表:
   \'   单引号(')
   \"   双引号(")
   \\   一个反斜杠
   \n   换行
   \r   返回光标至行首
   \t   水平制表符
   \v   垂直制表符
   \f   换页
   \b   倒退
   \0   空字符,字符值为零
   \xXX  XX为两位十六进制表示的字符
   \uXXXX   XXXX为四个十六进制表示的Unicode16字符
   \UXXXXXXXX   8个十六进制表示的Unicode32字符


ASCII 编码:
  ASCII字符表:
  $ man ascii<回车>


常用的ASCII字符编码:
  字符   十进制   十六进制
  '0'     48      0x30
  'A'     65      0x41
  'a'     97      0x61


Unicode
   统一编码,分为Unicode16 和Unicode32






序列的概念
  字符串就是序列


求序列的长度的函数len
   len(x)  返回字符串的字符个数


练习:
  试求出以下字符串含有多少个字符?
  '1234abcd'  # 8
  '5\'4"'     # 4
  '\"A\x34\U00006041'  # 4
  '\b\n\td\r'
  '\\nn\\x41'




raw 字符串(原始字符串)
  格式:
    r'字符串内容'
    r"字符串内容"
    r'''字符串内容'''
    r"""字符串内容"""
  作用:
    让转义符号 \ 无效
  示例:
    s = 'C:\newfile\test.py'
    print(s)
    print(len(s))
    s = r'C:\newfile\test.py'
    print(s)
    print(len(s))




字符串的运算
  + 加号运算符用于拼接字符串
  * 运算符用于生成重复的字符串:
  示例:
    s = "ABC" + "DEF"  # s = 'ABCDEF'
    s2 = '123' * 3  # s2 = '123123123'
    s3 = 2 * 'ABC'  # s3 = 'ABCABC'
  注: 字符串只能和整数相乘


  += *= 运算符,与其它赋合赋值运算符规则相同


练习:
  写一个程序,打印一个高度为4行的矩形方框
    要求输入一个整形数字,此整数代表矩形的宽度,输出此矩形
  如:
    请输入矩形宽度: 10
    ##########
    #        #
    #        #
    ##########
    请输入矩形宽度: 5
    #####
    #   #
    #   #
    #####


in / not in 运算符:
  作用:
    用于判断某个字符串是否在 相当前字符中出现过。如果出现过返回True,否则返回False
  语法:
    对象 in 字符串
  示例:
    s = 'welcome to tarena!'
    'to' in s  # True
    'weimingze' in s # False
    'e t' in s  # True


字符串的比较运算
  运算符:
    > >= < <= == !=
  规则:
    依次按编码值进行比较,直到最短的字符串结束为止
  示例:
    'A'  < 'B'      # True
    'ABC'  > 'ABB'  # True
    'ABC'  > 'ACB'  # False
    'AB'  < 'ABC'   # True
    'ABC'  > '123'  # True
    'ABC' == 'abc'  # False
    'ABCD' != 'DCBA' # True






字符串的索引操作
  python的字符串是不可以改变的字符序列


索引 index
  语法:
    字符串[整数表达式]
  说明:
    python 序列都可以用索引来访问序列中的对象
    python 序列的正向索引是多0开始的,第二个索引为1, 最后一个索引为len(s)-1
    python 序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第2个,以此类推,第一个是-len(s)
  示例:
    s = 'ABCDE'
    print(s[0])  # A
    print(s[1])  # B
    print(s[4])  # E
    print(s[-1]) # E
    print(s[-5]) # A
练习:
  输入一个字符串,打印如下内容:
    1. 打印这个字符串的第一个字符
    2. 打印这个字符串的最后一个字符
    3. 如果这个字符串的长度是奇数,打印中间这个字符
    注:
      求字符串的长度的函数len(s)






切片 slice
  作用:
    从一个字符串序列中取出相应的元素重新组成一个字符串序列
  语法:
    字符串序列[(开始索引b):(结束索引e)(:(步长s))]
  
    注:
      小括号()括起的部分代表可省略
  说明:
    1. 开始索引是切片开始切下的位置,0代表第一个元素,1代表第二个元素,-1代表最后一个
    2. 结束索引是切片的终止索引(但不包含终止点)
    3. 步长是切片每次获取完当前元素后移动的方向和偏移量
      1)没有步长,相当于取值完成后向右移动一个索引的位置(默认为1)
      2) 当步长为正数时,取正向切片:
         步长默认为1,开始索引默认为0,结束索引默认为len(s)
         步长代表一下次索引的取值的增长值
      3) 当步长为负整数时,取反向切片
        默认的起始位置是最后一个元素,终止位置是第一个元素的前一个位置
  示例:
    s = "ABCDE"
    a = s[1:4]  # a = 'BCD'
    a = s[3:5]  # a = 'DE'
    a = s[3:]   # a = 'DE'
    a = s[:3]   # a = 'ABC'
    a = s[0:3]  # a = 'ABC'
    a = s[1:1]  # a = ''
    a = s[4:2]  # a = ''
    a = s[0:5:2]  # a = 'ACE'
    a = s[1::2]   # a = 'BD' 
    a = s[::2]    # a = 'ACE'
    a = s[::-1]   # a = 'EDCBA'
    a = s[::-2]   # a = 'EDCBA'
    a = s[4:0:-2] # a = 'EC'


练习:
  1. 写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉后,打印出处理后的字符串


  2. 输入任意一个字符串,判断这个字符串是否是回文
    回文示例:
      上海自来水来自海上
      ABCCBA
      12321
    (回文是指中心对称的文字)




文档地址:
   http://code.tarena.com.cn/AIDCode/aid1806/Pbase/python_base_docs_html.tar.gz


   $ tar -xzvf python_base_docs_html.tar.gz




python3中常用于序列的函数:
  len(x)   返回序列的长度
  max(x)   返回序列的最大值元素
  min(x)   返回序列的最小值元素


字符串编码转换函数:
  ord(c)   返回一个字符的Unicode值
  chr(i)   返回i这个整数值所对应的字符


示例:
  s = "hello"
  len(s)  # 5
  max(s)  # 'o'
  min(s)  # 'e'


练习:
  1. 写一个程序,输入一段字符串,如果字符串不为空,把第一个字符的编码值打印出来
  2. 写一个程序,输入一个整数值(0~65535), 打印出这个数值所对应的字符






整数转字符串函数:
  bin(i)   将整数转换为二进制字符串
  oct(i)   将整数转换为八进制字符串
  hex(i)   将整数转换为十六进制字符串


字符串构造函数:
  str(obj='')  将对象转换为字符串
示意:
  '123' + 456  # 出错,不合法
  str(True)  # 'True'
  str(None)  # 'None'
  str(3.14)  # '3.14'


常用的字符串方法:


字符串的方法调用语法(method):
    对象.方法名(方法传参)


  文档参见:
      python_base_docs_html/str.html


练习:
  1. 输入一个字符串用变量s绑定
     1) 判断您输入的字符串有几个空格
     2) 将原字符串的左右空白字符去掉, 打印出剩余的字符个数
     3)判断您输入的是否是数字
     4) 如果是数字,判断这个数字是否大于100
  2. 输入三行文字,让这三行文字在一个方框内居中显示
     如输入:
       hello!
       I'm studing python!
       I like python
    显示如下
      +---------------------+
      |       hello!        |
      | I'm studing python! |
      |    I like python    |
      +---------------------+
    注:请不要输入中文

猜你喜欢

转载自blog.csdn.net/qq_42584444/article/details/81057614
今日推荐