python学习03-数据类型

一、基本数据类型——数字

布尔型

  • bool型只有两个值:True和False
  • 之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False。

以下是布尔值是False的各种情况:

1 bool(0)
2 bool(None)
3 bool("")
4 bool(())
5 bool([])
6 bool({}) 

  在Python2.7 中,True和False是两个内建(built-in)变量,内建变量和普通自定义的变量如a, b, c一样可以被重新赋值,因此我们可以把这两个变量进行任意的赋值。

  在Python3.x 中,终于把这个两变量变成了关键字,也就是说再也没法给这两变量赋新的值了,从此True永远指向真对象,False指向假对象,永不分离。

整型

  Python中的整数属于int类型,默认用十进制表示,此外也支持二进制,八进制,十六进制表示方式。

  进制转换

  二进制前面以‘0b’标示,八进制前面以‘0o’标示,十六进制以‘0x’标示

1 >>> bin(10)   # 转换为二进制
2 ‘0b1010‘
3 >>> oct(10)    # 转换为八进制
4 ‘0o12‘
5 >>> hex(10)   # 转换为十六进制
6 ‘0xa‘

  运算

>>> 5%2   # 取余
1
>>> 16%4
0
>>> 2+3   # 加法
5
>>> 2-3     # 减法
-1
>>> 2*3    # 乘法
6
>>> 3/2    # 除法
1.5
>>> 9//2   # 取整除
4
>>> divmod(16,3)   # 返回包含商和余数的元组(a // b, a % b)
(5, 1)
>>> 2**3   # 幂
8

浮点数、复数

二、基本数据类型——字符串

字符串定义

  字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,‘ ‘或‘‘ ‘‘或‘‘‘ ‘‘‘中间包含的内容称之为字符串。

字符串特性

  1. 字符串是不可变类型。
  2. 按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序。
  3. 字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r‘l\thf‘
  4. unicode字符串与r连用必需在r前面,如name=ur‘l\thf‘

字符串操作

  字符串格式化(format)

‘‘‘
1、使用位置参数
    位置参数不受顺序约束,且可以为{},参数索引从0开始,format里填写{}对应的参数值。
‘‘‘
>>> msg = "my name is {}, and age is {}"
>>> msg.format("hqs",22)
‘my name is hqs, and age is 22‘
>>> msg = "my name is {1}, and age is {0}"
>>> msg.format("hqs",23)
‘my name is 23, and age is hqs‘
# 传入位置参数列表可用 *列表 的形式
>>> li = [‘lary‘,18]
>>> ‘my name is {} , age {}‘.format(*li)
‘my name is lary , age 18‘
# 使用索引
>>> li = [‘larry‘,12]
>>> ‘my name is {0[0]}, age {0[1]}‘.format(li)
‘my name is larry, age 12‘

‘‘‘
2、使用关键字参数
    关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可
‘‘‘
>>> hash = {‘name‘:‘john‘ , ‘age‘: 23}
>>> msg = ‘my name is {name}, and age is {age}‘
>>> msg.format(**hash)
‘my name is john,and age is 23‘
>>> msg.format(name="hqs",age=13)
‘my name is hqs,and age is 13‘
>>> msg.format(age = 33, name = "zr")
‘my name is zr, and age is 33‘

‘‘‘
3、填充与格式化
    :[填充字符][对齐方式 <^>][宽度]
‘‘‘
>>> ‘{0:*<10}‘.format(10)      # 左对齐
‘10********‘
>>> ‘{0:*<10}‘.format("hqs")      # 左对齐
‘hqs*******‘
>>> ‘{0:*^10}‘.format("hqs")      # 居中对齐
‘***hqs****‘
>>> ‘{0:*>10}‘.format(10)      # 右对齐
‘********10‘

‘‘‘
4、精度与进制
‘‘‘
>>> ‘{0:.2f}‘.format(1/3)     # 浮点数
‘0.33‘
>>> ‘{0:b}‘.format(18)    # 二进制
‘10010‘
>>> ‘{0:o}‘.format(18)    # 八进制
‘22‘
>>> ‘{0:x}‘.format(18)    # 十六进制
‘12‘
>>> ‘{:,}‘.format(13111313341313)    # 千分位格式化
‘13,111,313,341,313‘

  常用操作

#索引
s = ‘hello‘
>>> s[1]
‘e‘
>>> s[-1]
‘o‘

>>> s.index(‘e‘)
1

#查找
>>> s.find(‘e‘)
1
>>> s.find(‘i‘)
-1

#移除空白
s = ‘  hello,world!  ‘
s.strip()
s.lstrip()
s.rstrip()
s2 = ‘***hello,world!***‘
s2.strip(‘*‘)

#长度
>>> s = ‘hello,world‘
>>> len(s)
11

#替换
>>> s = ‘hello world‘
>>> s.replace(‘h‘,‘H‘)
‘Hello world‘
>>> s2 = ‘hi,how are you?‘
>>> s2.replace(‘h‘,‘H‘)
‘Hi,How are you?‘

#切片
>>> s = ‘abcdefghigklmn‘
>>> s[0:7]
‘abcdefg‘
>>> s[7:14]
‘higklmn‘
>>> s[:7]
‘abcdefg‘
>>> s[7:]
‘higklmn‘
>>> s[:]
‘abcdefghigklmn‘
>>> s[0:7:2]
‘aceg‘
>>> s[7:14:3]
‘hkn‘
>>> s[::2]
‘acegikm‘
>>> s[::-1]
‘nmlkgihgfedcba‘

首尾操作及统计字符

 1 >>> name = "HuangQiuShi"
 2 >>> name.capitalize()   # 首字母大写
 3 ‘Huangqiushi‘
 4 >>> name.endswith("Li")  # 判断字符串是否以 Li结尾
 5 False
 6 >>> name.endswith("hi")  # 判断字符串是否以 hi结尾
 7 True
 8
 9 >>> name.center(50,‘-‘)   # 字符串居中显示
10 ‘-------------------HuangQiuShi--------------------‘
11 >>> name.rjust(50,‘-‘)
12 ‘---------------------------------------HuangQiuShi‘
13 >>> name.ljust(50,‘-‘)
14 ‘HuangQiuShi---------------------------------------‘
15
16 >>> name.count("shi")   # 统计‘shi‘出现次数
17 0
18 >>> name.count("i")
19 2
三、基本数据类型——列表

  定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素。

  特性

  1.可存放多个值

  2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

  

  3.可修改指定索引位置对应的值,可变

创建列表

# 列表创建(把逗号分隔的不同的数据项使用方括号括起来即可)
list_test = [‘阿福‘,‘收税‘,‘snake‘]

切片:取多个元素

>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
[‘Tenglan‘, ‘Eric‘, ‘Rain‘]
>>> names[1:-1] #取下标1至-1的值,不包括-1
[‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘]
>>> names[0:3]
[‘Alex‘, ‘Tenglan‘, ‘Eric‘]
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
[‘Alex‘, ‘Tenglan‘, ‘Eric‘]
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
[‘Rain‘, ‘Tom‘, ‘Amy‘]
>>> names[3:-1] #这样-1就不会被包含了
[‘Rain‘, ‘Tom‘]
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
[‘Alex‘, ‘Eric‘, ‘Tom‘]
>>> names[::2] #和上句效果一样
[‘Alex‘, ‘Eric‘, ‘Tom‘]

追加、插入

>>> list_test.append(2017)
>>> list_test
[‘阿福‘, ‘收税‘, ‘snake‘, 2017]
>>> list_test.insert(2,"强行从snake前面插入")
>>> list_test
[‘阿福‘, ‘收税‘, ‘强行从snake前面插入‘, ‘snake‘, 2017]
>>> list_test.insert(0,"强行插入最前")
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘收税‘, ‘强行从snake前面插入‘, ‘snake‘, 2017]

修改

>>> list_test = [‘强行插入最前‘, ‘阿福‘, ‘收税‘, ‘强行从snake前面插入‘, ‘snake‘, 2017]
>>> list_test[2] = "换了一个人"
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘换了一个人‘, ‘强行从snake前面插入‘, ‘snake‘, 2017]

删除

# 删除指定位置元素
>>> del list_test[2]
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘强行从snake前面插入‘, ‘snake‘, 2017]
# 删除指定元素
>>> list_test.remove("snake")
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘强行从snake前面插入‘, 2017]
# 删除列表最后一个值
>>> list_test.pop()
2017
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘强行从snake前面插入‘]

扩展

>>> b = [1,3,"asdad"]
>>> list_test.extend(b)
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘强行从snake前面插入‘, 1, 3, ‘asdad‘]

拷贝

>>> list_test_copy = list_test.copy()
>>> list_test_copy
[‘强行插入最前‘, ‘阿福‘, ‘强行从snake前面插入‘, 1, 3, ‘asdad‘]

统计

>>> list_test.append("阿福")
>>> list_test.count("阿福")
2
>>> list_test
[‘强行插入最前‘, ‘阿福‘, ‘强行从snake前面插入‘, 1, 3, ‘asdad‘, ‘阿福‘]

排序&翻转

>>> list_test.sort()     # 不同数据类型不能一起排序
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: ‘<‘ not supported between instances of ‘int‘ and ‘str‘
>>> list_test[-3] = ‘3‘   # 修改为字符串
>>> list_test[-4] = ‘1‘
>>> list_test
[‘强行从snake前面插入‘, ‘强行插入最前‘, ‘阿福‘, ‘1‘, ‘3‘, ‘asdad‘, ‘阿福‘]
>>> list_test.sort()
>>> list_test
[‘1‘, ‘3‘, ‘asdad‘, ‘强行从snake前面插入‘, ‘强行插入最前‘, ‘阿福‘, ‘阿福‘]
>>> list_test.reverse()   # 翻转
>>> list_test
[‘阿福‘, ‘阿福‘, ‘强行插入最前‘, ‘强行从snake前面插入‘, ‘asdad‘, ‘3‘, ‘1‘]

获取下标

>>> list_test
[‘阿福‘, ‘阿福‘, ‘强行插入最前‘, ‘强行从snake前面插入‘, ‘asdad‘, ‘3‘, ‘1‘]
>>> list_test.index("阿福")
0
>>> list_test.index("asdad")
4

原文地址:https://www.cnblogs.com/xiugeng/p/8445053.html

时间: 2024-11-10 15:56:03

python学习03-数据类型的相关文章

小Y的Python学习日志--数据类型

#本文仅为个人学习过程的整理和记录,如有从他人博客.网站摘录的内容,本人会明确标明,如有涉及侵权,请联系本人,本人会在第一时间删除. 一下的资料整理来自(1)廖雪峰的Python教程 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 (2)简明Python教程 http://woodpecker.org.cn/abyteofpython_cn/chinese/ 四.Python数据

python学习之数据类型

和其他高级编程语言一样,python也有它的各种数据类型,但相比其他语言来讲,python的数据类型相对好用,其中也包含有字符串.整形.浮点型等,但在介绍数据类型之前,也需要注意其变量的命名规则. 请务必牢记下述有关变量的规则: ? 变量名只能包含字母.数字和下划线.变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message. ? 变量名不能包含空格,但可使用下划线来分隔其中的单词.例如,变量名greeting_message可行,但

Python学习笔记——数据类型和变量

在Python中,能够直接处理的数据类型有: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的.浮

Python基础-03.数据类型-02.变量和常量

本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 1.变量 1.1.变量理解 何时需要用到变量?一段程序或者数值需要在后面经常用到就可以用变量变量包括:变量名,变量值对于计算机,变量可以看做是一种存放信息的容器,用于存储在计算机程序中需要引用和操作的信息.对于人,提供一种用描述性的名称对数据进行标记的方法,这样我们写的程序就可以更清楚地被读者和我们自己理解. 概念区分:变量的声明.定义.赋值和初始化有什么区别?变量声明或定义:在环境中指定一个变量的名字.代表在内存中开辟一

python学习day01 数据类型 if while

一.简介 python是由吉多·范罗苏姆创建的,开发效率高可移植可扩展可嵌入,缺点是运行速度慢.不能加密.不能多线程运行.目前python的主要方向是云计算.WEB开发.科学运算.人工智能.系统运维.金融.图形GUI,python是解释型语言通过Cpython解释器进行解释,转化成机器能识别的语言,python通常使用pycharm进行开发. 二.安装 在官网www.python.org下载python3.5以上安装包进行安装,注意path下打勾(配置环境变量),这样在控制台上输入python就

python学习之数据类型—元组tuple

元组:tuple 1.python四大不可变数据类型之一(int,str,tuple,bool) 2.以小括号包起来起来,如只有一个元素,需在尾部加一个逗号,因为不加的话,python可能认为其实一个变量或是做数学运算等 3.元组中的第一层数据不可变,如其第二层数据类型为可变数据类型(list,dict,set),其可变 4.元组可通过循环,切片等进行查询 5.元组是有序的 增: ??元组不可变,故无法增加元素 删: ?? 同上 改: ??同上 查: 索引和切片查询: tuple_staudy

Python学习2——数据类型

整型 num01 = 100 num01 = 100 #十进制 num02 = 0x6F #十六进制 num03 = 0o41 #八进制 print (num01) print (num02) print (num03) 打印出来的结果都是十进制整型:100,111,33. 常见的运算: import math print(abs(-100)) #绝对值 print(math.fabs(-100)) #绝对值 print(math.sqrt(100)) #平方根 print(math.pow(3

小猿圈python学习-基本数据类型

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

python学习03——设计,与input有关

笨办法学python第36节,我写的代码如下: from sys import exit def rule(): print "Congratulations! You made the right choice." print "But is also a terrible choice." print "You have to abide by the contract of the devil." print "Input you