码迷,mamicode.com
首页 > 其他好文 > 详细

学习内容:数据类型的内置方法

时间:2019-05-24 01:06:42      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:com   pytho   切割   tar   first   开始   部分   star   unicode编码   

一数据类型的内置方法

数据为什么要分类型(掌握)

数据是用来表示状态的,不同的状态就应该用不同的类型数据去表示。比如姓名、身高和爱好,这三者就应用了不同的数据类型存储.

int(掌握)

  1. 用途:年龄、号码、等级

  2. 定义:可以使用int()方法将寸数字的字符串转为十进制的整型

    age = 19 # age =int(10)
    print(type(age))
    
    <class 'int'>
    
    x = int('111')
    print(type(x))
    
    <class 'int'>
    x = int('11.1')   # 报错
    print(x)
  3. 常用的操作+内置方法:算术运算+比较运算

长整型(了解)

长整型只在python2中存在,python3中不存在长整型。

x=11111111111111111111111111111111111111
print(type(x))
  1. 存一个值or多个值:一个值
  2. 有序or无序:无有序or无序一说

可变or不可变(掌握)

id不变值可变,即在原值的基础上修改,则为可变数据类型;质变id也变,即重新申请一个空间放入新值,则为不可变数据类型。

age = 19
print(f'first:{id(age)}')
age = 20
print(f'second:{id(age)}')

first:1774678048
second:1774678080
  1. 可变or不可变:不可变数据类型。

float(掌握)

  1. 用途:薪资、身高、体重

  2. 定义:可以使用float()方法将纯数字的字符转为浮点型数字。

    age = 5.2   
    print(type(age))    # age = float(3.1)
    
    <class 'float'>
    x = float('520')
    print(x)
    print(type(x))
    
    520.0
    <class 'float'>
    
    x = float('52.1')
    print(type(x))
    
    <class 'float'>
    
  3. 常用操作+内置方法:算术运算+比较运算

  4. 存一个值or多个值

  5. 有序or无序:无有序or无序一说

    jin = 5.2
    print(f'first:{id(jin)}')
    jin = 5.21
    print(f'second:{id(jin)}')
    
    first:3674544
    second:3674592

二、字符串类型内置方法

str(掌握)

  1. 用途:描述性质的东西,例如人名、单个爱好、地址、国家等。

  2. 定义:使用‘‘、‘‘‘、""""""包裹的的一串字符

    • u‘unicode‘: unicode编码的字符串
    • b‘101‘: 二进制编码的字符串
    • r‘\n‘: 原生字符串,也就是说‘\n‘这是普通的两个字符,并没有换行的意思
    name = 'jin'  # name =str('jin')
    n1 = str(1.1)
    n2 = str([1, 2, 3])
    
    print(f's1:{n1}, type:{type(n1)}')
    print(f's2:{n2}, type:{type(n2)}')
    
    s1:1.1, type:<class 'str'>
    s2:[1, 2, 3], type:<class 'str'>
  3. 常用操作+内置方法:常用操作和内置方法分为优先掌握(今天必须得记住)、需要掌握(一周内记住)、其他操作(了解)三个部分。

    优先掌握

    1. 按索引取值
    2. 切片
    3. 长度len
    4. 成员运算in|not in
    5. 移除空白strip
    6. 切分split
    7. 循环
  4. 按索引取值

    hei = 'hello kim'
    
    print(f'索引为6:{hei[6]}')
    print(f'索引为-3:{hei[-3]}')
    
    索引为6:k
    索引为-3:k
  5. 切片(顾头不顾尾,步长)

    msg = 'hello jin'
    #      0123456789  # 索引序号
    
    print(f'切片3-最后: {msg[3:]}')
    print(f'切片3-8: {msg[3:8]}')
    print(f'切片3-8,步长为2: {msg[3:8:2]}')
    print(f'切片3-最后,步长为2: {msg[3::2]}')
    
    print('\n**了解知识点**')  # 了解,步长为正从左到右;步长为负从右到左
    print(f'切片所有: {msg[:]}')
    print(f'反转所有: {msg[::-1]}')
    print(f'切片-5--2: {msg[-5:-2:1]}')
    print(f'切片-2--5: {msg[-2:-5:-1]}')
    
    切片3-最后: lo jin
    切片3-8: lo ji
    切片3-8,步长为2: l i
    切片3-最后,步长为2: l i
    
    **了解知识点**
    切片所有: hello jin
    反转所有: nij olleh
    切片-5--2: o j
    切片-2--5: ij 
  6. 长度len

    msg = 'hello jin'
    
    print(len(msg))
    
    9
  7. 成员运算in和not in

    # str成员运算
    msg = 'my name is jin, jin handsome'
    
    print(f"'jin' in msg: {'jin' in msg}")
    print(f"'jason' not in msg: {'jason' not in msg}")
    print(f"not 'jason' in msg: {not 'jason' in msg}")
    
    'jin' in msg: True
    'jason' not in msg: True
    not 'jason' in msg: True
    
  8. 移除空白strip()

    # str移除空白strip()
    name = '&&&n jin'
    
    print(f"name.strip('&'): {name.strip('&')}")  # strip()默认为‘ ’,并且不修改原值,
    print(f"name: {name}")                          # 新创建空间
    pwd = input('password: ')   # strip()应用场景
    if pwd.strip() == '123':     #用户可能会手抖输入空格
        print('密码输入成功')
    
    print(f"'*-& jin+'.strip('*-& +'): {'*-& jin+'.strip('*-& +')}")
    
    
    name.strip('&'): n jin
    name: &&&n jin
    password: 
  9. 切分split

    # str切分split
    info = 'jin:male:19'
    info_list1 = info.split(':')
    info_list2 = info.split(':', 1)
    
    print(f'info_list1:{info_list1}')
    print(f'info_list2:{info_list2}')
    
    info_list1:['jin', 'male', '19']
    info_list2:['jin', 'male:19']
  10. 循环

    msg = 'hello jin zhen dong'
    
    for i in msg:
        print(i)
    
    
    
    h
    e
    l
    l
    o
    
    j
    i
    n
    
    z
    h
    e
    n
    
    d
    o
    n
    g
    

需要掌握

  1. lstrip&rstrip

  2. lower&upper

  3. startswith&endswith

  4. rsplit

  5. join

  6. replace

  7. isdigit

1.lstrip()和rstrip()

# str之lstrip()和rstrip()
name = '&&jin&&'

print(f"jin.lstrip('&'): {name.lstrip('&')}")
print(f"jin.rstrip('&'): {name.rstrip('&')}")


jin.lstrip('&'): jin&&
jin.rstrip('&'): &&jin

2.lower()和upper()

# str之lower()和upper()
name = 'jin zhen dong'

print(f"name.upper(): {name.lower()}")
print(f"name.upper(): {name.upper()}")


name.upper(): jin zhen dong
name.upper(): JIN ZHEN DONG

3.startswith()和endswith()

 str之startswith()和endswith()
name = 'jin zhen dong'

print(f"name.startswith('jin'): {name.startswith('jin')}")
print(f"name.endswith('zhen dong'): {name.endswith('zhen dong')}")


name.startswith('jin'): True
name.endswith('zhen dong'): True

4.rsplit()

# str之rsplit()
info = 'jin:male:19'

print(f"info.rsplit(':', 1): {info.rsplit(':', 1)}")  # 从右开始切割


info.rsplit(':', 1): ['jin:male', '19']

5.join()

lis = [1,2,'19']         # 报错,数字不可和字符串拼接
print(f"':'.join(lis): {':'.join(lis)}")  
lis = ['jin', 'male', '19']   # str之join()

print(f"':'.join(lis): {':'.join(lis)}")



':'.join(lis): jin:male:19

6.replace()

# str值replace()
name = 'jin shuai'

print(f"name.replace('shuai','handsome'): {name.replace('shuai','handsome')}")


name.replace('shuai','handsome'): jin handsome

7.isdigit()

# str值isdigit()
salary = '111'
print(salary.isdigit())  # True

salary = '111.1'
print(salary.isdigit())  # False


True
False
# str之isdigit()应用场景
age = input('age: ')
if age.isdigit():
    age = int(age)

    if age < 18:
        print('小姐姐')
    else:
        print('阿姨好')
else:
    print(f'你的年龄能是这个{age}?')
    
    
age: haha
你的年龄能是这个haha?

技术图片

学习内容:数据类型的内置方法

标签:com   pytho   切割   tar   first   开始   部分   star   unicode编码   

原文地址:https://www.cnblogs.com/jincoco/p/10915484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!