python_day03笔记

Python基础语法精讲

day02回顾:

运算符:

比较运算符:
  > < >= <= == !=
布尔运算符
  not  and   or 
bool(x) 为假值的情况:
  None, False, 0, 0.0, 0j  ''  []  ()
一元运算符:
  + (正号)  -(负号)

if 语句(分支语句)

if a > b or c > d:
    ...
elif  e < f:
    ...
else:
    ...
  • 条件表达式:
    表达式1 if 真值表达式 else 表达式2

函数:

  • 函数调用:

    • 函数名 (调用传参列表)
      • int(x=0)/int(‘字符串’, base=10)
      • float(x=0)
      • complex(real=0.0, image=0.0)
      • bool(x)
      • abs(x)
      • round(x, 位数)
      • round(123.456789, 2)
      • pow(x, y, z=None)
  • 输入输出函数:

    • input(‘提示字符串’)
    • print(value, …, sep=’ ‘, end=’\n’)
  • help(字符串/函数名/类名…) 帮助函数

语句:

  • 显式换行 \

  • 隐式换行: () [] {}

  • pass 语句

day03 笔记:

字符串 str

  • 作用:

    • 用来记录文本(文字)信息
  • 字符串的表示方法:

    • 在非注释中,凡是用引号括起来的部分都是字符串

      • ’ 单引号
      • " 双引号
      • ‘’’ 三单引号
      • “”" 三双引号
    • 空字符串的字面值表示方法:

      • ‘’
      • “”
      • ‘’’’’’
      • “”""""
      • 注: 空字符串的布尔值为False
    • 非空字符串的字面值表示方法:
      ‘hello’
      “hello”
      ‘’‘hello’’’
      “”“hello”""

    • 单引号和双引号的区别:
      单引号内的双引号不算结束符
      双引号内的单引号不算结束符

      • 示例:
        print(“I’m teacher”)
        print(‘my name is “weimingze”’)
    • 三引号字符串
      用’’'或"""括起来的内容为三引号字符串

    • 作用:
      三引号字符串中的换行会自动转换为换行符’\n’
      三引号内可以包含单引号和双引号
    • 示例:
      print(‘welcome to beijing.\nI like python!\n I am Studing…’)
      #用三引号写为:
      print(’’'welcome to beijing.
      I like python!
      I am Studing""")
  • 式字符串字面值拼接
    示例:
    s = “I’m " ‘“giant”’ '这是三双引”""’ “这是三单引’’’”
    print(s)

  • 用转义序列代表特殊字符
    字符串字面值中用字符反斜杠() 后跟一些字符代表特一个字符
    转义格式 含义

    \’代表一个单引号
    \ "代表一个双引号
    \n一个反斜杠
    \r返回光标至行首字符
    \t水平制表符
    \v垂直制表符
    \b倒退字符(backspace)
    \f换页
    \0空字符(字符值为零)
    \0oooo为两位八进制表示的字符
    \xXXXX为两位十六进制表示的字符
    \uXXXXXXXX为四位十六进制表示的Unicode 16字符
    \UXXXXXXXXUnicode32 的十六进制表示的字符
  • ascii 编码
    $ man ascii # 查看所有英文字符的编码

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

  • 求字符串长度的函数:
    len(s) 返回字符串的字符的个数

  • 练习:
    求以下字符串有几个字符
    ‘1234abcd’
    ‘5’4"’ # 4
    ‘"A\x34\056’ # 4
    ‘\r\n\t\z’ # 5

  • raw 字符串(原始字符串)

    • 格式:
      r’字符串内容’
      r"字符串内容"
      r’’‘字符串内容’’’
      r""“字符串内容”""
    • 作用:
      让转义字符 \ 无效
    • 示例:
      s1 = ‘C:\newfile\test.py
      print(s1)
      s2 = r’C:\newfile\test.py
      print(s2)
  • 字符串的运算
    运算符:
    + += * *=
    + 加号用于拼接字符串
    += 用于原字符串与右侧字符串拼接后替换原变量
    示例:
    s = “abcd” + “123” # s = ‘abcd123’
    s += “ABCD” # s =‘abcd123ABCD’
    * 运算符生成重复的字符串
    x = “ABCD” * 3 # x = ‘ABCDABCDABCD’
    注: 字符串只能和整数相乘
    x = “123”
    x *= 2 # x= ‘123123’

  • 练习:
    写一个程序,打印一个高度为4行的矩形方框
    如:
    请输入矩形宽度: 10
    打印:
    ##########

    ##########

  • 字符串的比较运算:

    • 运算符:
      < <= > >= == !=

      • 规则:
        依次按编码值进行比较,一旦不同,比较将结束
        当编码值与长度完全相同时两个字符串相等
        示例:
        ‘A’ < ‘B’ # True
        ‘ABC’ > ‘ABB’ # True
        ‘ABC’ < ‘ACB’ # True
        ‘ABC’ > ‘abc’ # False
        ‘AB’ < ‘ABC’ # True
        ‘ABC’ != ‘CBA’ # True
        ‘AD’ > ‘ABCD’ # True
    • in / not in 运算符

      • 作用:
        in 用于序列,字典,集合中,用于判断某个值是否存在于容器中,如果存在返回True,否则返回False
        not in 写 in的返回结果相反
      • 格式:
        对象 in 序列
      • 示例:
        x = ‘welcome to tarena’
        ‘to’ in x # True
        ‘beijing’ in x # False
        ‘123’ not in x # True
  • 索引运算 index
    python 字符串是不可以改变的字符序列

    • 语法:
      字符串[整数表达式]
      说明:
      1. python序列都可以用索引(index) 来访问序列中的对象
      2. python 序列正向索引是从0开始的,第二个索引为1, …, 最后一个索引为len(s)-1
      3. python序列的反向索引是从-1 开始的,-1代表最后一个,-2 代表倒数第二个,…, 第一个是-len(s)
    • 示例:
      s = ‘ABCDE’
      print(s[1]) # B
      print(s[4]) # E
      print(s[-1]) # E
      print(s[-5]) # A
      print(s[-6]) # IndexError 索引错误
  • 练习:
    输入一个字符串,打印如下内容:

    1. 打印这个字符串的第1个字符
    2. 打印这个字符串的最后一个字符
    3. 如果这个字符串的长度是奇数,打印中间这个字符
      注:
      求字符串长度的函数是 len(s)
  • 字符串切片操作 slice
    从字符串序列中取出相应的元素,重新组成一个新的字符串序列

    • 语法:
      字符串[(开始索引b):(结束索引e)(:(步长s))]
      注: 小括号() 括起来的部分代表可省略
    • 说明:
      1. 开始索引是切片开始切下的位置,0代表第一个元素…,-1代表最后一个索引(与索引规则相同)
      2. 结束索引是切片的终止索引(但不包含终止点)
      3. 步长是切片每次获取完当前元素后移动的方向和偏移量
      1. 没有步长,相当于步长为1(默认)
      2. 当步长为正数时,取正向切片,开始索引默认为0,结束索引默认为最后一个元素的下一个位置
      3. 当步长为负数时,取反向切片,默认起始位置是最后一个元素,终止位置是第一个元素的前一个位置
    • 示例:
      s = “ABCDE”
      a = s[1:4] # s = ‘BCD’
      a = s[1:] # s = ‘BCDE’
      a = s[:4] # s = ‘ABCD’
      a = s[:] # s = ‘ABCDE’
      a = s[2:2] # s = ‘’ 空字符串
      a = s[0:5:2] # s=‘ACE’
      a = s[::-1] # s=‘EDCBA’
      a = s[::-2] # s=‘ECA’
      a = s[3:0:-1] # s=‘DCB’
      a = s[3:0:-2] # s=‘DB’
  • 练习:
    1.写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉后,打印出处理后的字符串

    1. 写一个程序,输入任意一个字符串,判断这个字 符串是否是回文
      (回文是指中心对称的文字)
      如:
      上海自来水来自海上
      ABCCBA
      12321
  • python运算符的优先级:
    字符串方法连接

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

    • 示例:
      s = “hello”
      print(len(s)) # 5
      print(max(s)) # o
      print(min(s)) # e
  • 字符编码转换函数
    ord© 返回一个字符c的Unicode编码值
    chr(i) 返回i这个值所对应的字符
    示例:
    c = ord(‘A’)
    print© # 65
    ch = chr© # ch=‘A’
    print(ch) # A

  • 练习:

    1. 写一个程序,输入一个字符串,如果字符串不为空,则把第一个字符的编码值打印出来
    2. 写一个程序,输入一个整数(0~65535),打印出这个数值所对应的字符
  • 整数转字符串函数:
    bin(i) 将整数转为二进制字符串
    oct(i) 将整数转为八进制字符串
    hex(i) 将整数转为十六进制字符串
    示例:
    a = 13
    print(bin(a)) # 0b1101
    print(oct(a)) # 0o15
    print(hex(a)) # 0xd

  • 字符串构造函数
    str(obj=’’) 将对象转换为字符串
    示例:
    “123” + 1 # 报错
    “123” + str(1) # 1231

  • python3中常用的字符串方法(method)
    方法的调用语法:
    对象.方法名(方法传参)
    示例:
    ‘abc’.isalpha() # 对的
    123.isalpha() # 错的
    文档参见:
    python_base_docs_html/str.html

练习:

  1. 输入一个字符串,把输入的字符串中的空格全部去掉(包括字符串中间的空格)
    • 打印原字符串及长度
    • 打印处理后的字符串及长度
  2. 写程序,输入三行文字,让这三行文字在一个方框内居中显示
    如:
    请输入: hello!
    请输入: I’m studing python!
    请输入: I like python!
    打印如下:
      +---------------------+
      |        hello!       |
      | I'm studing python! |
      |    I like python!   |
      +---------------------+
    注:  不要输入中文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值