python是属于弱类型语言,在定义数据类型之前,不须要先声明数据类型。相对应的在强类型语言中(比如c、java等),如果在定义数据之前,没有声明数据类型这回报错。
python3 中,所指的数据类型,并非变量的,而是变量所指内存地址中储存的数据的基本类型。有Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典),可以分为两大类:
不可变数据类型:Number(数字)、String(字符串)、Tuple(元组)
可变数据类型:List(列表)、Set(集合)、Dictionary(字典)
|
数据类型 |
语法格式 |
基本操作(增删改查) |
|||
|
增加/改动 |
删除 |
查找 |
其他常用函数或方法 |
||
|
Number (数字) |
python3支持 int、float、bool、complex(复数) 在pyhotn2.x中,还有长整形long |
不可变 |
type(); isinstance(); 数学函数类; float(); real(); |
||
|
String (字符串) |
字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。 |
不可变 |
del; |
count(); |
str();
casefold() zfill() ; rjust(); ljust(); |
|
Booleans 布尔值 |
True; False。 |
||||
|
List (列表)。序列 |
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。列表可以嵌套 |
append(); list1+list2; |
del; pop; remove; clear; |
li1[3]; index(‘abc’) count(‘abc’) in; |
list(); |
|
Tuple (元组)。序列 |
不可变列表,只可访问 |
del; |
tup1[0]; index(); count() in |
tuple(); |
|
|
Dictionary (字典) |
字典是python中唯一的映射类型数据,key=>value,其中key值必须是不可变数据类型,并且唯一。形式储存数据,用{}包括内容 |
dic1["m"] = "add"; dic1.setdefault("k",'v') |
clear; pop; del; popitem |
dic1["m"] dic1.get() dic1.keys() dic1.values() dic1.items()
|
type();len();cmp(); keys();values();items(); iteritems(); |
|
Set (集合) |
1.不同元素组成 |
add();update(); |
remove(); discard(); pop(); clear(); |
issuperset();issubset(); intersection();union(); difference(); symmetric_diference() |
|
其他需要注意的要点:
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)、数据类型扩展
python基本数据类型中,列表、元组、字符串属于序列,序列都可以进行的操作包括索引,切片,加,乘,检查成员。
python3支持 int、float、bool、complex(复数),在pyhotn2.x中,还有长整形long
Python 使用反斜杠(\)转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。字符串连接中,除了可以用join()方法,还可以用 + 运算符连接在一起,此外用 * 运算符重复。
三引号,‘’‘ ’‘’ 或者 “”“ ”“” ,可以实现字符串的多行定义、格式化输出等
‘’或者“”表示的是空字符串,判断的时候,对于任意的字符串,空字符串都在里面。即如果用in来判断的时候,空字符串in任意的字符串,结果都是True
注意的是None表示的是一个空对象,而不是空字符串
1 # !/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 str1 = 'abcdefg0101ABC字符串' 5 str2 = '123.456' 6 str3 = '\tabc\ndef' 7 str4 = 'a{addmsg1}b{addmsg3}c{addmsg1}d{addmsg2}efg' 8 # #------------主要的检测方法----------------- 9 # print(str1.isalpha()) # 判断是否全都是字母 10 # print(str1.isalnum()) # 判断是否只有字母和数字 11 # print(str2.isnumeric()) # 检测字符串是否只由数字组成。这种方法是只针对unicode对象。 12 # print(str2.isdigit()) # 检测是否只有数字组成 13 # print(str2.isdecimal()) # 检测是否只由数字组成,包括汉字的数字、罗马数字。只针对unicode对象。 14 # print(str1.isidentifier()) # 用来判断变量名是否合法 15 # print(str1.islower()) # 检测是否全都是小写字母 16 # print(str1.isupper()) # 检测是否全都是大写字母 17 # print(str2.isprintable()) # 检测是否可打印,可判断包含转译字符。Unicode中“Other” “Separator”不可打印,不包括空格 18 # print(str1.isspace()) # 检测是否仅有空格 19 # print(str1.istitle()) # 检测是否是标题,首字母大写 20 # print(str1.endswith("C")) # 检测结束字符 21 # print(str1.startswith("abc")) # 检测开始字符或字符串 22 # #-----------主要的格式变化方法---------------- 23 # print(str1.strip()) # 去处多余字符,如空格、制表符、换行符,还可以制定字符内容 24 # print(str1.lstrip()) 25 # print(str1.rstrip()) 26 27 28 # print(str1.split(" ")) # 用指定的字符划分,得到的结果存储在列表中,可指定最多的分组数 29 # print(str1.rsplit()) # 从右侧开始划分 30 # print(str1.partition("0")) # 分组,保留划分用的元素 31 32 33 # print(str1.center(20,"*")) # 指定最少占用的空间大小,对象放中间。超过不要紧,不够用指定字符填充 34 # print(str1.ljust(20,'<')) # 内容对象在左边 35 # print(str1.rjust(20,'>')) # 内容对象在右边 36 # print(str1.zfill(30)) # 内容对象在右边,不足的空间用0补充 37 38 # print(str1.capitalize()) # 首字母大写,其他的英文小写 39 # print(str1.upper()) # 所有的英文字母变大写 40 # print(str1.lower()) # 所有的英文字母变小写 41 # print(str1.casefold()) # 把包括英文字母在内的能变小写的字母都变小写,如法语/俄语等 42 # print(str1.swapcase()) # 大写的小写,同时小写的变大写 43 44 # print(str1.count("0")) # 计数,也可以指定起止范围 45 46 # print(str1.encode('utf-8')) # 字符编码,很重要 47 # print(str1.encode('utf-8').decode('utf-8')) # 字符编码后解码 48 49 # print(str3) 50 # print(str3.expandtabs()) # 把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8 51 52 # print(str1.find("z")) # 作用类似于index,但没有的时候返回-1 53 # print(str1.index('z')) # 返回指定字符串的索引,没有的时候,报错 54 55 # print(str4.format(addmsg1='1#',addmsg2='2#',addmsg3='3#')) # 根据锚点高效替换 56 # print(str4.format_map({'addmsg1':'map1#','addmsg2':'map2#','addmsg3':'map3#'})) # 根据锚点高效替换,键值对形式 57 58 # print("*中*间*".join(str1)) # 用指定的字符串,把序列(包括字符串、列表等)的元素,拼接起来 59 60 61 # screat1="abcdefg" # 替换,加密 62 # screat2="1234567" 63 # transtab="".maketrans(screat1,screat2) 64 # print(transtab) 65 # print(str1.translate(transtab)) 66 67 # print(str1.replace('1','!')) #替换 68 69 70 71 list = ['123','试试','zhangsan'] 72 msg = input('>>').strip() 73 print(msg) 74 if msg=='': 75 print('空') 76 for item in list: 77 if msg in item: 78 print(item)