Python 基本数据类型

1、算数运算:

2、比较运算:

3、赋值运算:

4、逻辑运算:

5、成员运算:

 
 
1、int

 

  Python2 int 有范围,还有长整型
     Python3 所有的数字都是int 不管多长

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
 
  • int  转换成int类型,可以转换的才可以如"123a",默认10进制
           a = "123"
           b = int(a)
           b = b + 1000

           num = ("0011")
           int(num,base=2) 2进制转换

           num = "a"
           int(num, base=16) 16进制转换
  • int.bit_length 当前数字的二进制至少用几位表示
  • Range(0,100)
          Python 2.7 立即在内存中创建
          Python 3 优化机制,for循环时,在内存中创建
 
2、布尔值 bool
  True or False
  1 或 0
3、字符串 str   字符串一旦创建不可修改,任何修改都会创建新的字符串副本
   
   需要记住的方法:
  
  1. join() ‘ ’.join(字符串)
  2. split()
  3. find()
  4. strip() 按照最长公共子序列
  5. upper()
  6. lower()
  7. 切片 按照索引取字符 字符串[0],字符串[0:2]
  8. len(字符串) 字符串有几个字符    对于汉字 Python3 计算字符数 Python2 计算的是字节数 计算机存储是按位存储 处理是按字节为单位
  9. 迭代 for 变量名 in 字符串
  10. replace 替换 可以带数字参数 替换几次 字符串.replace(老字符串中字符串,目标子字符串,次数)
 
 
  1 test = "zzHou"
  2 
  3 # 首字母大写
  4 print(test.capitalize())
  5 
  6 # 变小写,casefold更厉害可以出来未知对应关系
  7 print(test.casefold())
  8 print(test.lower())
  9 
 10 #center 设置宽度,并将内容居中 20代指宽度,*代指填充字符只能有一个
 11 #还有 左边填充 ljust 右边填充 rjust
 12 #zfill 只能用0填充
 13 print(test.center(20, "*"))
 14 
 15 #去字符串中寻找子序列出现的个数,起始位置5 结束位置6都是可选的
 16 print(test.count("zz",5,6))
 17 
 18 #以什么什么结尾起始位置5 结束位置6都是可选的
 19 print(test.endswith("ou",5,6))
 20 
 21 #以什么什么开头起始位置5 结束位置6都是可选的
 22 print(test.startswith("zz",5,6))
 23 
 24 #将tab符转换成空格,默认是8个,返回当前字符串的副本,先断句,不足位的从前一位补足
 25 print("z\thou".expandtabs())
 26 print("123456\t789".expandtabs(6))
 27 print("1\t3456789".expandtabs(6))
 28 
 29 #find 从头开始找,找到返回索引,找不到返回-1.[2,8)之间且只找一次
 30 #index 找不到会报错
 31 print(test.find("H",2,8))
 32 
 33 #format 格式化,按顺序或者名称替换占位符
 34 print("我是{name},age{a}".format(name="zhou", a=19))
 35 print("我是{0},age{1}".format("zhou", 19))
 36 
 37 #format_map
 38 #format 使用字典进行格式化
 39 print("我是{name},age{a}".format_map({"name": '周航', "a": 19}))
 40 
 41 #isalnum 是否是字母和数字
 42 print(test.isalnum())
 43 
 44 #isalpha 是否是字母
 45 print("abc".isalnum())
 46 
 47 isdecimal isdigit isnumeric是否是数字 isdigit更厉害比如“②” isnumeric 支持中文
 48 test = "123"
 49 v1 = test.isdecimal()
 50 v2 = test.isdigit()
 51 v3 = test.isnumeric()
 52 print(v1,v2)
 53 
 54 isidentifier 是否是合法标示符
 55 a = "str"
 56 print(a.isidentifier())
 57 
 58 # isprintable   是否存在不可显示的字符 比如字符串中的\t
 59 print("org\tsss".isprintable())
 60 print("    ".isprintable())
 61 
 62 #isspace() 是否全部是空格
 63 
 64 #istitle() 是否是标题   每个单词首字母都是大写 可以跟title()连用
 65 print("ni shif eng re".title())    #Ni Shif Eng Re
 66 print("Ni Shif Eng Re".istitle())  #True
 67 
 68 #*****************join() 字符串每个字符按照指定分隔符拼接******************
 69 print(" ".join("我我我欧文"))   #我 我 我 欧 文
 70 print("&".join("我我我欧文"))   #我&我&我&欧&文
 71 
 72 #islower() lower() 判断是小写 转换成小写
 73 test = "Zhou"
 74 v1 = test.lower()
 75 v2 = test.islower()
 76 print(v1,v2)
 77 
 78 #isupper() upper() 判断是大写 转换成大写
 79 
 80 #lstrip() rstrip() strip() 去除左(\t,\r)、右,全部空格 还可以加入参数,尽量多的匹配需要去除的字符
 81 
 82 
 83 #S.strip([chars]) -> str
 84 
 85 #Return a copy of the string S with leading and trailing
 86 #whitespace removed.
 87 #If chars is given and not None, remove characters in chars instead.
 88 
 89 
 90 test = "9lexxexa"
 91 v = test.rstrip('xa')
 92 print(v)
 93 
 94 #str.maketrans("abc","123")  abc和123 映射替换
 95 
 96 test = "testaasa"
 97 #partition()   按照字符串分割成三份 test.partition("s")  te s taasa
 98 #rpartition()   按照字符串分割成三份 test.rpartition("s")  testaa s a
 99 #split() test.split('s') te taa a  可以加入一个参数 指定分割次数,但是s不会留下 后面有正则表达式
100 #rsplit()
101 
102 #splitlines 按照换行符分割
103 print("a\nb\nc".splitlines(False))  # => 'a', 'b', 'c'
104 print("a\nb\nc".splitlines(True))   # =>  'a\n', 'b\n', 'c'
105 
106 #swapcase()  大小写转换
常用函数

   

列表 list
列表的格式:首尾中括号,逗号分开 [1,2,3,4]
元素可以是数字字符串列表布尔值...所有都可以
切片 切片的结果也是个列表
列表也是可迭代的
列表的是有序列的元素是可以修改的,在内存中可以是不连续存储的

 1  li =[1,2,3,5,6,"zhou"]
 2  """修改"""
 3  li[0] = 'a'             #[a,2,3,5,6,"zhou"]
 4  li[1] = [11,22,33,44]   #['a', [11, 22, 33, 44], 3, 5, 6, 'zhou']
 5  li[4:6] = [66,77]       #['a', [11, 22, 33, 44], 3, 5, 66, 77]
 6 
 7  """删除"""
 8  del li[1]               #['a', 3, 5, 66, 77]
 9  del li[2:6]             #['a', 3]
10 
11 
12  """in""" 列表中的元素,以逗号作为分割 作为一个整体
13  'a' in li       #True
14 44 in ['a', [11, 22, 33, 44], 3, 5, 6, 'zhou']   False
15 
16  """"列表嵌套"""
17  li = ['a', [11, 22, 33, 44], 3, 5, 6, 'zhou']
18  # (li[1][1])      #第2个元素中的第二个元素
19 
20 """转换"""
21  s = "zhosdsadasd"
22  list_s = list(s)  #['z', 'h', 'o', 's', 'd', 's', 'a', 'd', 'a', 's', 'd']
23 
24  list_s= ['z', 'h', 'o', 's', 'd', 's', 'a', 'd', 'a', 's', 'd']
25  "".join(list_s)         #zhosdsadasd 只有字符串的情况下
26  s = s+str(item)         #既有数字又有字母
27 
28 """append""" #列表末尾追加 无返回值
29 li = [1,2,3,4]
30  v = li.append(5)
31  print(v)       #None
32  print(li)      #[1, 2, 3, 4, 5]
33 
34 """clear""" #清空
35  li.clear()
36  print(li)        #[]
37 
38 
39 """copy""" #拷贝,浅拷贝
40  v = li.copy()
41  print(v)           #[1, 2, 3, 4]
42 
43 """count""" #计算元素出现的次数
44  v = li.count(2)
45  print(v)             #1
46 
47 """extend"""  #与append不同,扩展原来的列表,参数是可迭代对象
48  li.extend([5,6])
49  print(li)        #[1, 2, 3, 4, 5, 6]
50  li.append([7,8])
51  print(li)        #[1, 2, 3, 4, 5, 6, [7, 8]]
52 
53 """index""" #根据值获取当前索引位置,只会找一处,可以加参数设定范围
54  li.index(3)
55 
56 """insert"""  #指定索引位置插入元素
57 
58  li.insert(0,99)
59  print(li)     #[99, 1, 2, 3, 4]
60 
61 """pop""" #删除并获取删除的值,可以加上索引,删除某个索引的值
62  li.pop()
63  print(li)        #[1, 2, 3]
64  li.pop(1)
65  print(li)       #[1, 3]
66  v = li.pop()    #4
67  v = li.pop(1)   #2
68 
69 
70 
71 """remove""" #删除列表中的第一次出现的指定值
72  li.remove(2)
73  print(li)      #[1, 3, 4]
74 
75 """reverse"""   #反转
76  li.reverse()
77  print(li)         #[4, 3, 2, 1]
78 
79  """sort"""    #排序
80  li.sort()
81  print(li)                  #[1, 2, 3, 4]
82  li.sort(reverse=True)
83  print(li)                 #[4, 3, 2, 1] 从大到小
常用函数

 

 

元组 tuple
元组的格式:首尾括号,逗号分开 (1,2,3,4,) 最好加一个逗号 用以区分方法的参数
元组是对列表的二次加工,是有序的一级元素不可修改,如果元素是可变的 如列表 那么是可以修改该列表的

 

 1 tu = (1,2,3,4,)
 2 #索引
 3 print(tu[0])         # 1
 4 
 5 #切片
 6 print(tu[1:3])       # (2, 3)
 7 
 8 #可以迭代 list.extend(tuple)
 9 for item in tu:
10     print(item)
11 
12 转换
13 s = "zhou"
14 tuple_s = tuple(s)
15 print(tuple_s)          #('z', 'h', 'o', 'u')
16 list_s = list(tuple_s)
17 print(list_s)           #['z', 'h', 'o', 'u']
18 
19 一级元素不可修改
20 
21 tuple_a = (1,[(2,3)],4)
22 tuple_a[1][0] = 567
23 print(tuple_a)     #(1, [567], 4)
24 
25 
26 count 统计某个元素出现的次数
27 
28 index 统计某个元素第一次出现的索引
常用函数

 

 

字典 dict {key1:value1,key2:value2}
字典的key--->hash值 int,string ,tuple bool(需要注意True的值是1,False是指是0),
字典的value可以是任何值
字典是无序的 dict[key1] = value1
字典继承删除 del dict[key1]
默认循环key

 1 info = {
 2 "k1" : 18,
 3 "k2" : True,
 4 "k3" : [
 5     11,
 6     22,
 7     33,
 8   ]
 9 }
10 
11 print(info)
12 
13 
14 print(info['k1'])         #18
15 print(info['k2'])         #True
16 print(info['k3'])         #[11, 22, 33]
17 
18 
19 默认循环key
20 for k in info:
21     print(k)      #k1,k2,k3
22 
23 
24 key value 需要使用 dict.items()
25 for k,v in info.items():
26     print(k,v)
27 
28 删除
29 del info['k1']
30 
31 
32 
33 clear 同列表
34 copy  同列表元组
35 
36 fromkeys 按照序列生成字典,第二个参数为统一的值
37 v = dict.fromkeys(["k1","123","999"])
38 print(v)         #{'k1': None, '123': None, '999': None}
39 v = dict.fromkeys(["k1","123","999"],'111')
40 print(v)         #{'k1': '111', '123': '111', '999': '111'}
41 
42 get   跟dict[keys] 不同,找不到key会返还默认的None或者第二个参数
43 dict1 = {'key1':'value1''key2':'value2'}
44 v = dict1.get("key1")
45 print(v)                   #value1
46 v = dict1.get("key2")
47 print(v)                   #None
48 v = dict1.get("key2",111)
49 print(v)                   #111 第二个指定的参数
50 
51 pop 按照键值删除,得到值 当key不存在的时候 可以返回第二个参数 默认值
52 dict1 = {'key1': 'value1', 'key2': 'value2'}
53 v = dict1.pop('key1')
54 print(v)         #value1
55 v = dict1.pop('key3', 999)
56 print(v)           #999
57 
58 popitem 随机删除,并返回一个键值对
59 dict1 = {'key1': 'value1', 'key2': 'value2'}
60 v = dict1.popitem()
61 print(v)           #('key2', 'value2')
62 k, v = dict1.popitem()
63 print(k, v)          #key2 value2
64 
65 setdefault 设置一个值如果已经存在获取当前key对应的值,如果不存在会添加一个并获取其值
66 dict1 = {'key1': 'value1', 'key2': 'value2'}
67 v= dict1.setdefault('key1',111)
68 print(dict1)           #{'key1': 'value1', 'key2': 'value2'}
69 print(v)               #value1
70 v= dict1.setdefault('key3',111)
71 print(dict1)           #{'key1': 'value1', 'key2': 'value2', 'key3': 111}
72 print(v)               #111
73 
74 
75 update  更新,如果不存在添加一组
76 dict1 = {'key1': 'value1', 'key2': 'value2'}
77 dict1.update({'key1': 222, 'key3': 333})
78 print(dict1)      #{'key1': 222, 'key2': 'value2', 'key3': 333}
79 或者用关键字参数的方式
80 dict1.update(key1=222, key3=333)
81 print(dict1)        #{'key1': 222, 'key2': 'value2', 'key3': 333}
82 
83 keys()
84 values()
85 items()
常用函数

 

 

转载于:https://www.cnblogs.com/zh22333/p/9091565.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值