zoukankan      html  css  js  c++  java
  • 初识python

    什么是数据类型?

    我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型包括多种,今天我们暂只讲4种, 数字、字符串、布尔类型、列表。

    1 字符串(str)

    在Python中,加了引号的字符都被认为是字符串!

    字符串是写代码中最常见的,python内存中的字符串是按照:unicode 编码存储。对于字符串是不可变。

    >>> name = "Alex Li" #双引号
    >>> age = "22"       #只要加引号就是字符串
    >>> age2 = 22          #int
    >>> 
    >>> msg = '''My name is Alex, I am 22 years old!'''  #我擦,3个引号也可以
    >>> 
    >>> hometown = 'ShanDong'   #单引号也可以
    • 字符串私有方法:

      • 大写.upper()

      • 小写 .lower()

      • 替换 .replace()

      • 分割 .split()

      • 去空格 .strip()

      • 判断是否是数字 isdecimal()

      • 更改编码方式 encode()

      • 以...连接字符 .join()

      • 格式化输出 .format()

      • 判断以...开头 startwith ()

      • 判断以... 结尾 endswith()

    那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合

      

    msg = "My name is PangHu , I'm 22 years old!"

    多引号什么作用呢?作用就是多行字符串必须用多引号

      

    msg = '''
    今天我想写首小诗,
    歌颂我的同桌,
    你看他那乌黑的短发,
    好像一只炸毛鸡。
    '''
    print(msg)
    字符串拼接

    数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行”相加”和”相乘”运算。

      

    >>> name
    'Alex Li'
    >>> age
    '22'
    >>>
    >>> name + age #相加其实就是简单拼接
    'Alex Li22'
    >>>
    >>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
    'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

    注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

      

    >>> type(name),type(age2)
    (<type 'str'="">, <type 'int'="">)
    <type 'str'=""><type 'int'="">>>>
    <type 'str'=""><type 'int'="">>>> name
    <type 'str'=""><type 'int'="">'Alex Li'
    <type 'str'=""><type 'int'="">>>> age2
    <type 'str'=""><type 'int'="">22
    <type 'str'=""><type 'int'="">>>> name + age2
    <type 'str'=""><type 'int'="">Traceback (most recent call last):
    <type 'str'=""><type 'int'=""> File "", line 1, in
    <type 'str'=""><type 'int'="">TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接

     

    2 整型(int)

    在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

    long(长整型)

    跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

    注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。


    注意:在Python3里不再有long类型了,全都是int

    Python2中:有int/long型

    Python3中:只有int型

    1. >>> a= 2**64
    2. >>> type(a) #type()是查看数据类型的方法
    3. <type 'long'="">
    4. <type 'long'="">>>> b = 2**60
    5. <type 'long'="">>>> type(b)

    2.1 整数除法

    Python2:除法保留整数

    Python3:除法保留所有

    3 布尔值(bool)

    布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

    但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?

    没错,答案就是,用布尔类型

      

    1. >>> a=3
    2. >>> b=5
    3. >>>
    4. >>> a > b #不成立就是False,即假
    5. False
    6. >>>
    7. >>> a < b #成立就是True, 即真
    8. True

    可以根据条件结果来干不同的事情啦呀!比如

    if a > b 
       print(a is bigger than b )
    else 
       print(a is smaller than b )

    其他类型转换成布尔值为False:

      

    str: ""
    
    int: 0
    
    list : list()
    
    tuple : tuple()
    
    dict: dict()
    
    set: set()

    4 列表(list)

    如果要把全班的人名在内存里存下来,用上面的字符串类型可以做到,但取的时候不方便。

      

    names = "PangHu,LuLu,Jack,Rachel,Mack..."

    你print(names)它打印的是所有人的信息,如果想取出Rain,没办法(可以用字符串切割方式,但是很麻烦)。此时,用列表就比较合适。

    1. >>> names = ["Alex","Jack","Rain","Rachel","Mack"]
    2. >>> names[2] #为何names[2]就能取出Rain?
    3. 'Rain'

    因为列表的是通过下标来标记元素位置的。 下标从0开始,每添加一个元素,就自动+1

    列表私有功能:

    4.1 增

    • 追加 append

    • 插入 insert

    4.2 删

    • 弹出 pop #返回一个值,可以拿到

    • 清空 clear

    • 删除 remove

    4.3 其他

    • 反转 reserve

    • 排序 sort

    • 继承 extend

    5 元组(tuple)

    无私有功能

    6 字典(dict)

    • 有序字典

      from collections import orderedDict
      info = OrderedDict()
      info['k1'] = 123
      info['k2'] = 456

      print(info.keys())
      print(info.values())
      print(info.items())

      defaultDict 默认字典 可以给字典value设置一个默认值

    1 常用字典功能

    • 获取所有键 .keys

    • 获取所有值 .values

    • 获取所有键值 .items

    • 查询键 .get

    • 有则更新,无则添加 update

    • 删除 pop

    7 集合(set)

    7.1集合功能

    • 添加 add

    • 删除 discard

    • 交集 intersection

    • 查重 union

    • 差集 difference

    • 对称差集 symmetric_difference

    • 批量添加 update

    8 公共功能

    公有功能数据类型字符串整型布尔值列表元组字典集合
    len
    索引
    切片
    步长
    for
    删除
    修改
  • 相关阅读:
    国家语言,语言代码,locale id对应表
    SpringMVC,SpringBoot文件下载
    lombok使用基础教程
    博客园主题修改中用到的css属性
    Hexo next博客添加折叠块功能添加折叠代码块
    IntelIj IDEA运行JUnit Test OutOfMemoryError
    Spring Boot-JPA、Hibernate、Spring data jpa之间的关系
    IntelliJ IDEA-设置字体大小
    win10-mysql卸载干净
    IntelliJ IDEA Check out from git
  • 原文地址:https://www.cnblogs.com/jhui104/p/11443759.html
Copyright © 2011-2022 走看看