第一阶段:Python开发基础 day07 Python基础语法入门--数字类型和字符串类型的内置方法

一、上节课内容回顾

while 循环
while + break
跳出本层循环
while + continue
跳出本次循环
while + else
循环没有被break终止才会执行
for 循环
for + break
for + continue
for + else
进制转换

二、数字类型内置方法

2.1 整型的内置方法

  1. 作用

    描述年龄、号码、id号

  2. 定义方式

x = 10
x = int('10')
x = int(10.1)
x = int('10.1')  # 报错
  1. 内置方法

    没有内置方法,只有算术运算和比较运算

  2. 存在一个值还是多个值

    存一个值

  3. 有序or无序 有序:有索引;无序:无索引

    压根就没有这一说

  4. 可变or不可变(重点)

    数字类型不可变

    • 可变(变量值而言)

      lis = [1,2,3]
      print(id(lis))
      lis[0] = 2   #lis-->[2,2,3]
      print(id(lis))
      
    • 不可变(变量值而言),值变id也变

      x = 10
      print(id(x))
      x = 20
      print(id(x))
      

2.2 浮点型内置方法

同整型

三、字符串类型的内置方法

3.1 作用

​ 姓名/性别/地址

3.2 定义方式

s = b‘sdkfljl’   # 打印出来的bytes类型,二进制类型,010011001011001011

print(s)

print(‘中文’,encode(‘utf8’))

3.3 字符串内置方法(只有字符串类型才能使用)

s = ‘forever handsome’

优先掌握(今天必须得掌握)

  1. 索引取值

    print(s[1])

  2. 索引切片

    print(s[4:0:1])  #  1 表示从左到右
    
    print(s[-4:0:-1])   #  -1 表示从右到左
    
  3. for循环

    for i in s:
    
    	print(i)
    
  4. strip() 去除两端指定字符

    s1 = ‘              nick handsome          ’
    
    print(s1.strip())    # 去除两端的空白
    s2 = '****!!!nick handsome-----***'
    print(s2.strip('-*!'))   # 指定多个字符一起去掉,只能strip里面有的字符就全部干掉
    
  5. split() 切割

    print(s.split()) # 默认以空格为切割条件
    print(s.split('/'))  # 以/切割
    print(s.split('!'))  # 以!切割
    
  6. in 或 not in

    print('forever' in s ) #True
    print('!' not in s) # True
    
  7. 长度len

      ```python
      s = '123'
      print(len(s)) # 3 # 求字符串的长度
      ```
    

需要掌握(一周之内掌握,下周一就默写)

      # 1. lstrip() 和 rstrip()
      s2 = '***!!!!!nick handsome----***'
      print(s2.lstrip('*'))
      print(s2.rstrip('*'))
      
      # 2. rsplit()
      print(s2.split('*', 1))
      print(s2.rsplit('*', 1))
      
      # lower&upper
      s3 = 'aaabbJ'
      print(s3.lower())
      print(s3.upper())
      
      # startswith&endswith
      s3 = 'aaabbJ'
      print(s3.startswith('b'))
      print(s3.endswith('J'))
      
      #
      # join(用的比较多)一般和split联用
      
      s3 = ' '
      print(s3.join(['234', '234', '234']))  # 以s3为间隔符,拼接列表里的每一个元素
      
      s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
      
      s1 = s.split('/')
      print('*'.join(s1))
      
      # replace
      
      s2 = 'yongjiu handsome'
      
      print(s2.replace('yongjiu', 'gebilaowang'))
      
      # isdigit(纯数字)/isalpha(纯字母)
      s2 = '12312'
      print(s2.isdigit())
      
      s3 = 'aaac1c'
      print(s3.isalpha())
      
      # username_db ='nick'
      # pwd_db = '123'
      #
      #
      # inp_username = input('username:')
      # inp_pwd = input('pwd:')
      #
      # if inp_username.isalpha():
      #     pass
      #
      # if inp_pwd.isdigit():
      #     pass

了解

# find|rfind|index|rindex|count
s2 = '**23423***ni234234ck $$ hand223423some******'
#     01234567891011
print(s2.find('$'))  # 从左找,找到第一个停止,找不到返回-1
print(s2.rfind('$'))  # 从右找,找到就停止,找不到返回-1

print(s2.index('$'))  # 找不到报错
print(s2.rindex('$'))  # 找不到报错

# center|ljust|rjust|zfill
s2 = 'nick handsome'
print(s2.center(50, '*'))  # 居中
print(s2.ljust(50, '*'))  # 居左
print(s2.rjust(50, '*'))  # 居右
print(s2.zfill(50))  # 填充0居右

# expandtabs
s2 = 'a\ta'
print(s2)
print(s2.expandtabs(8))  # 针对\t而言

# captalize|swapcase|title  只针对英文
s2 = 'harry Potter'

print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
print(s2.swapcase())  # 大小写互换
print(s2.title())  # 所有单词首字母大写

# is系列(有兴趣的自己了解)

3.4 存一个值还是多个值

一个值

3.5 有序or无序

有序

3.6 可变or不可变(重点)

可变:值变id不变,不可哈希

不可变:值变id也变,可哈希

不可变

s2 = 'abc'
print(id(s2))
s2 += 'abc'
print(id(s2))

四、课后练习

https://www.cnblogs.com/foreversun92/p/11290579.html

今日总结

今天首先对上节课的内容进行了回顾,上节课主要学习了while循环和for循环,讲了怎么定义和使用,以及break+continue+else的配合。这节课主要学习了数字类型和字符串的一些内置方法,这些内置方法可以帮助我们更好地处理数据,对数据进行分析和打印。
posted @ 2019-08-02 20:24  foreversun92  阅读(180)  评论(0编辑  收藏  举报