Python3 基本数据类型

Pyhon中变量不需要声明,只要在使用前赋值,变量赋值后才被创建。

Python变量没有类型,所指的类型只是内存中对象的类型。

Python有六种标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionaries(字典)

Numbers(数字)

Python 3支持int、float、bool、complex(复数)等类型。运用很直观,使用起来就好象写文章一样,数字运用可作为计算器,如:

>>> 5+4     #加
9
>>> 4.3-2  #减
2.3
>>> 3*7   #乘
21
>>> 2/4    #除
0.5
>>> 2//4   #除后取整数
0

注意:

  • 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
  • 2、一个变量可以通过赋值指向不同类型的对象。
  • 3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
  • 4、在混合计算时,Pyhton会把整型转换成为浮点数。

String(字符串)

Python中的字符串str用单引号(' ')或双引号(" ")括起来,同时使用反斜杠(\)转义特殊字符。

>>> s = 'Yes I don\'t'  #转义
>>> print(s,type(s))
Yes I don't <class 'str'>
>>> print(s,type(s),len(s))
Yes I don't <class 'str'> 11

 如果想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串,反斜杠可以作为续行符,表示上一行是下一行的延续。

>>> print('c:\python\bin\local')
c:\pythoin\local
>>> print(r'c:\python\bin\local')
c:\python\bin\local

 

字符串可以使用 + 运算符串连接在一起,或者用 * 运算符重复:

>>> book = 'python' + 'C++' + 'Perl'
>>> print(book)
pythonC++Perl
>>> s = 'good'*3
>>> print(s)
goodgoodgood

 字符串的格式化输出:字符串%s,整数%d,浮点%f

1 >>> name = "David James"
2 >>> print("I am %s."%name)
3 I am David James.

常用的字符串功能:

  • 列表操作

  • 字符串操作

  • 字典操作

 

 列表操作:

 

列表是我们最常用的数据类型,我们可以对列表增、删、改、查等操作。

 

>>> name = ["David","James","Alex","Jone","Adam","Merry","Stephen","Jackson","Judi","Libai","Dufu","Linchong"] #建立列表

>>> name[-1] #通过下标-1访问列表倒数第1个值
'Linchong'

>>> name[0] #访问列表第1个值
'David'

>>> name[1] #访问列表第2个值
'James'

>>> name[1:5] #列表切片从下标1(包括1)到下标下标5(不包括5)
['James', 'Alex', 'Jone', 'Adam']
>>> name[1:]
['James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong']
>>> name[:5]
['David', 'James', 'Alex', 'Jone', 'Adam']

>>> name.append("Boyzon") #追加“Boyzon"到列表最后
>>> name
['David', 'James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'Boyzon']

>>> del name[0] #删除列表第1个值
>>> name
['James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'Boyzon']
>>> name[-1] = "David" #修改列表最后一个值
>>> name
['James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David']

>>> name.insert(2,"Danny") #在列表下标为2的位置前插入”Danny“
>>> name
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David']

>>> b = [12,23,45]
>>> name.extend(b) #扩展b到name列表后
>>> name
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David', 12, 23, 45]

>>> namebak = name.copy() #拷贝
>>> namebak
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David', 12, 23, 45]

 列表中统计

>>> name
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Danny', 'David', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David']
>>> name.count("Danny")
2

 列表排序反转

>>> name.sort()
>>> name
['Adam', 'Alex', 'Danny', 'Danny', 'David', 'David', 'Dufu', 'Jackson', 'James', 'Jone', 'Judi', 'Libai', 'Linchong', 'Merry', 'Stephen']
>>> name.reverse()
>>> name
['Stephen', 'Merry', 'Linchong', 'Libai', 'Judi', 'Jone', 'James', 'Jackson', 'Dufu', 'David', 'David', 'Danny', 'Danny', 'Alex', 'Adam']

获取列表下标

>>> name.index("Danny")
11
>>> name.index("James")
6

 元组

元组与列表相似,但它一建立就不能修改,所以称为只读列表,元组只有count和index两种方法

>>> names = ("Danny","David","Jackson") #元组无法修改
>>> names
('Danny', 'David', 'Jackson')
>>> names.sort() #元组只有两种方法 count()和 index()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'sort'
>>> names.index("Jackson") 
2
>>> names.count("Danny")
1

 字符串操作

name = "  my name is David  "
name2 = "MY NAME IS DAVID"
name3 = "  In the beginning God created the heaven and the earth.  "
mag = "中华人民共和国"
print(name.capitalize())  #首字母大写
print(name2.casefold())   #大写转小写
print(name.count("m"))    #统计字符"m"数
print(name.capitalize().replace(' ','').center(50,"-")) #变量放在字符中间
print(name.endswith("David"))  #判断是否以David结尾
print(mag.encode()) #将字符串编码成byte格式
print(mag.encode().decode())  #将bytes编码成字符串
print(name.replace(' ','').capitalize())  #移除空白
print(name3.strip()) #删除首尾空格
print(name3.lstrip()) #删除左边空格
print(name3.rstrip()) #删除右边空格

 

转载于:https://www.cnblogs.com/junshilang/p/7638933.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值