Python之路【第二篇】python基础 之基本数据类型

运算符                                                                                              

1、算数运算:

2、比较运算:

3、赋值运算:

4、逻辑运算:

5、成员运算:

 1 name = "yehaoran "     # in  判断ye是否在name里面 在的话返回ok 不在返回not
 2 # if "ye" in name :
 3 #     print("ok")
 4 # else:
 5 #     print("not")
 6 
 7 if "ran" not in name:
 8     print("ok")
 9 else:
10     print("not")   #  in not  判断ran是否在不name里面 不在的话返回ok 在返回not
成员运算

 基本数据类型                                                                                                         

 1、数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
 1  1 #  数字 int
 2  2 # python3里,1111111111111122333数字多长都用int
 3  3 # python2里,数字太大用long小的用int
 4  4 
 5  5 # 1、将字符串转换成数字    type 查看数据类型
 6  6 # a = "123"
 7  7 # print(type(a))
 8  8 # b = int(a )
 9  9 # print(type(b))
10 10 # b = b + 100
11 11 # print(b)
12 12 
13 13 
14 14 # 2、以16进制的形式转换成10进制
15 15 # num = "a"
16 16 # v = int(num, base=16)
17 17 # print(v)
18 18 
19 19 
20 20 # 3、当前数字的二进制,至少用n位表示
21 21 # # a = 123
22 22 # # r = a.bit_length()
23 23 # # print(r)
int 的集中常见用法
2、布尔值
  真或假
  1 或 0
3、字符串
字符串的格式    :    "hello world"
字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
  1 # 二、字符串  str
  2 
  3 
  4 # 1、首字母大写
  5 # name = "xiaoming"
  6 # print(name.capitalize())
  7 
  8 # 2、 casefold、lower两个都是把大写字母转换成小写最好用第一个 。upper把小写转化成大写
  9 # name = "xiaoMing"
 10 # v = name.casefold()
 11 # print(v)
 12 # v2 = name.upper()   重要
 13 # v1 = name.lower()  重要
 14 # print(v1)
 15 # print(v2)
 16 
 17 # 3、设置宽度并将内容居中
 18 # 20代指总长度
 19 # * 代表空白未知填充 ,一个字符,可有可无
 20 # a1 = "alex"
 21 # ret = a1.center(20, '*')
 22 # print(ret)
 23 # 在右边填充
 24 # test = "alex"
 25 # v = test.ljust(20,"*")
 26 # print(v)
 27 # 在左边填充
 28 # test = "alex"
 29 # v = test.rjust(20,"*")
 30 # print(v)
 31 
 32 # test = "alex"
 33 # v = test.zfill(20)
 34 # print(v)  #忽略
 35 
 36 # 4、去字符串中寻找,寻找子序列出现的次数
 37 # a1 = "alex is alph"
 38 # ret = a1.count("a")
 39 # ret = a1.count("al",0,10)
 40 # print(ret)
 41 
 42 # 5、查看是否已什么结尾  重要***
 43 # 查看是否已什么开始
 44 # name = "xiaoMing"
 45 # v = name.endswith('g')
 46 # v1 = name.startswith('xi')
 47 # print(v)
 48 # print(v1)
 49 
 50 # 6、从开始往后面找,找到第一个之后,获取其位置,未找到返回一个-1  find重要
 51 # name = "xiaoming"
 52 # v = name.find('ao',2,6)#从那个位置开始找  前面的是大于等于 后面是小于
 53 # # print(v)
 54 # name = "xiaoming"   #index 用法同find 但是如果index找不大值直接报错
 55 # v = name.index("ming")
 56 # print(v)
 57 
 58 # 7、格式化输出,将一个字符串中的占位符替换为指定的值   format重要
 59 # test = 'i am  {name},age {a}'
 60 # print(test)
 61 # v = test.format(name = 'xiaoming',a = 24)
 62 # print(v)
 63 # test = 'i am  {0},age {1}'
 64 # print(test)
 65 # v = test.format('xiaoming',24)
 66 # print(v)
 67 # test.format_map的方法类似format 区别如下图
 68 # test = 'i am  {name},age {a}'
 69 # print(test)
 70 # v = test.format(name = 'xiaoming',a = 24)
 71 # v1 = test.format_map({"name":"xiaoming","a":19})
 72 # print(v)
 73 # print(v1)
 74 
 75 # 8、判段字符串中是否只包含 字母和数字
 76 # name = "uuuuaa888"
 77 # v = name.isalnum()
 78 # print(v)
 79 
 80 # 9、判断是否是字母
 81 # test = "assd"
 82 # v = test.isalpha()
 83 # print(v)
 84 
 85 # 10、当前输入是否是数字
 86 # test = "1112"
 87 # v1 = test.isdecimal() #最常用
 88 # v2 = test.isdigit()
 89 # v3 = test.isnumeric()
 90 # print(v1,v2,v3)
 91 
 92 # 11、 字母、数字、下划线;标识符 def class
 93 # a = "def"
 94 # v = a.isidentifier()
 95 # print(v)
 96 
 97 # 12、是否出现不可显示的字符
 98 # 	 制表符
 99 # 
 换行
100 # test = "ooos	sdjf"
101 # v = test.isprintable()
102 # print(v)
103 
104 # 13、是否全是空格
105 # test = "aaaf aass"
106 # v = test.isspace()
107 # print(v)
108 
109 # 14、判断是否是标题
110 # test = "Return True if all cased characters in S are uppercase and
111 #  v1 = test.istitle()
112 # print(v1)
113 #  v2 = test.title()
114 # print(v2)
115 # v3 = v2.istitle()
116 # print(v3)
117 
118 # 15、非常重要*****15、将字符串中的每一个元素按照指定分隔符进行拼接
119 # test = "你是风儿我是沙"
120 # v = " ".join(test)
121 # print(v)
122 
123 # 16、 去除空白 去除
 	  指定内容的时候把指定的内容去掉
124 # test = "alex"
125 # v = test.lstrip("ax") # 移除指定字符串
126 #                         # 有限最多匹配
127 # v = test.rstrip()
128 # v = test.strip()    # 很重要
129 
130 
131 
132 # 17、# 对应关系替换
133 # test =  "aeiou"
134 # test1 = "12345"
135 # v = "asidufkasd;fiuadkf;adfkjalsdjf"
136 # m = str.maketrans("aeiou", "12345")
137 # new_v = v.translate(m)
138 # print(new_v)
139 
140 # 18、 分割为三部分
141 # test = "testasdsddfg"
142 # v = test.partition('s')
143 # print(v)
144 # v = test.rpartition('s')
145 # print(v)
146 # 21 以xxx开头,以xx结尾   很重要
147 # test = "backend 1.1.1.1"
148 # v = test.startswith('a')
149 # print(v)
150 # test.endswith('a)
151 
152 # 22 大小写转换
153 # test = "ALEX"
154 # v = test.swapcase()
155 # print(v)
156 
157 # 23 字母,数字,下划线 : 标识符 def  class
158 # a = "def"
159 # v = a.isidentifier()
160 # print(v)
161 
162 # 24 将指定字符串替换为指定字符串
163 # test = "alexalexalex"
164 # v = test.replace("ex",'bbb')
165 # print(v)
166 # v = test.replace("ex",'bbb',2)
167 # print(v)
168 
169 
170 ##################### 7个非常重要的 ######################
171 # join       # '_'.join("asdfasdf")
172 # split
173 # find
174 # strip
175 # upper
176 # lower
177 # replace
178 
179 ####################必须要会的#######################
180 
181 # # 1、索引
182 # test = "alex"
183 # # 索引 , 下标 , 获取字符串中的某一个字符
184 # v = test[3]
185 # print(v)
186 
187 # 2、切片
188 # test = "alex"
189 # v = test[0:2] #0<=  <2   -1代表最后的位置
190 # print(v)
191 
192 # 3、len 查看字符串中有多少个字符组成
193 # test = "alex"
194 # v = len(test)
195 # print(v)
196 
197 # 4、while循环
198 # test = "asdfghjkl"
199 # index = 0
200 # while  index < len(test) :
201 #     v = test[index]
202 #     print(v)
203 #
204 #     index += 1
205 # print("======")
206 #
207 # for i in test :  和上面的while循环实现的效果一样
208 #     print(i)
209 
210 
211 # PS :字符串一旦被创建就不可以被修改
212 #       一旦修改或者拼接,都会造成重新生成字符串
213 
214 
215 # 5 range将文字 对应的索引打印出来:
216 # test = input(">>>>>")
217 # for i in range(0 ,len(test)):
218 #     print(i,test[i])
219 
220 #实现思路
221 # test = input(">>>>>")
222 # for i in test :
223 #     print(i)
224 # l = len(test)
225 # print(l)
226 # r = range(0,l)
227 # for i in r :
228 #     print(i,test[i])
229 # 19 分割为指定个数
230 # v = test.split('s',2)   很重要
231 # print(v)
232 # test.rsplit()
233 
234 
235 # 20 分割,只能根据,true,false:是否保留换行
236 # test = "asdfadfasdf
asdfasdf
adfasdf"
237 # v = test.splitlines(False)
238 # print(v)
239 
240 str 用法和注意事项 重点
str 用法和注意事项 重点
4、列表
创建列表:
1 name_list = ['alex', 'seven', 'eric']
2 3 name_list = list(['alex', 'seven', 'eric'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
  1 # list # 类,列表
  2 # li = [1, 2, 3, ["alex", 12, "thinks"], "want", "to"]
  3 # 1、列表的格式
  4 # 2、列表中可以嵌套任何类型
  5 # 中括号括起来
  6 # ,逗号分割每个元素
  7 # 列表中的元素可以是 数字,字符串,布尔值,所有的都能放进去
  8 # 3、索引取值
  9 # print(li[3])
 10 # 4、切片,切片的结果是列表
 11 # print(li[3:-1])
 12 # 列表支持while 、 for循环
 13 # 5、for i in li :
 14 #     print(i)
 15 
 16 # 列表的元素是可以被修改的
 17 # li = [1, 2, 3, ["alex", 12, "thinks"], "want", "to"]
 18 # #################### 6、索引修改 删除
 19 # 修改
 20 # li[1] = 120
 21 # print(li)
 22 # li[2] = [1,3,5,]
 23 # print(li)
 24 # 删除
 25 # del li[1]
 26 # print(li)
 27 # #####################7、 切边操作修改 删除
 28 # 修改
 29 # li[1:3] = [120,90]
 30 # print(li)
 31 # # 删除
 32 # del li[2:6]
 33 # print(li)
 34 
 35 # li = [1, 2, 3, ["alex", 12, "thinks"], "want", "to"]
 36 # # 8in 操作     根据逗号分割作为一个整体最为一个整体
 37 # v = 1 in li
 38 # print(v)
 39 
 40 # ##########################转换#######
 41 # 把str 转化成列表
 42 # a = "asdf"
 43 # new_a = list(a)
 44 # print(new_a)
 45 
 46 # 列表转换字符串 列表中出现数字自己写for循环
 47 # li = [11,"22","alex"]
 48 # s = ""
 49 # for i in li:
 50 #     s = s +str(i)
 51 # print(s)
 52 # 列表中的元素只有字符串 ; 直接用 join 方法:
 53 # li = [ "123" , "1lex"]
 54 # v = "".join(li)
 55 # print(v)
 56 
 57 # ###################灰魔法:list 类中提供的方法 ##################
 58 # 1、原来的值最后追加
 59 # 对象 方法(。。) # 变量 li 对象调用append方法   里面的元素叫参数
 60 # li = [11, 22, 33, 44, 22]
 61 # li.append(99)
 62 # print(li)
 63 
 64 #2、清空列表
 65 # li = [11, 22, 33, 44, 22]
 66 # li.clear()
 67 # print(li)
 68 
 69 # 3、拷贝 ,浅拷贝
 70 # li = [11, 22, 33, 44, 22]
 71 # v  = li.copy()
 72 # print(v)
 73 
 74 # 4、计算列表中元素出现的次数
 75 # li = [11, 22, 33, 44, 22]
 76 # v = li.count(22)
 77 # print(v)
 78 
 79 # 5、扩展原列表 ,参数 :可迭代对象
 80 # li = [11, 22, 33, 44, 22]
 81 # li.append([222])
 82 # print(li)
 83 
 84 # li = [11,22,33,22,44]
 85 # li.extend(["alex",998])
 86 # print(li)   # 用for循环extend后面加的参数循环打印加到列表里
 87 # # 例如 :
 88 # li.extend("alex")
 89 # print(li)
 90 
 91 # 6、根据值获取当前值索引的位置 (左边优先)
 92 # li = [11, 22, 33, 44, 22]
 93 # v = li.index(33)
 94 # print(v)
 95 
 96 # 7、在指定索引位置插入元素
 97 # li = [11, 22, 33, 44, 22]
 98 # li.insert(0,22)
 99 # print(li)
100 
101 # 8、删除某个值(1、指定索引 : 2、默认最后一个)并获取删除的值
102 # li = [11, 22, 33, 44, 22]
103 # v = li.pop(3)
104 # print(v)
105 # print(li)
106 
107 # 9、删除列表中的指定值,左边优先
108 # li = [11, 22, 33, 44, 22]
109 # li.remove(22)
110 # print(li)
111 # PS :pop remove del li[0]  del li[7:9] clear    #都是删除
112 
113 # 10、将列表中进行反转
114 # li = [11, 22, 33, 44, 22]
115 # li.reverse()
116 # print(li)
117 
118 # 11、列表的排序
119 # li = [1,77,55,99,22,]
120 # li.sort() #默认从小到大排序
121 # li.sort(reverse= True)    # 从大到小排序
122 # print(li)
list 用法和注意事项
5、元祖
创建元祖:
1 ages = (11, 22, 33, 44, 55)
2 3 ages = tuple((11, 22, 33, 44, 55))
# 1、元组的一级元素不可被修改/删除/增加
# tuple
# 一般写元组的时候,推荐在后面加个,逗号
# 构成方式  tu = (11,222,"alex",(1,2),[(22,33)])

# 2、元组是可以索引的切片取值
# tu = (11,222,"alex",(1,2),[(22,33)])
# # 元组是有序的
# v = tu[3][0][0]
# print(v)
# v = tu[3]
# print(v)
# tu[3][0] = 39
# print(tu)

# 3、tuple是可迭代对象
tuple

 6、字典(无序)

创建字典
person = {"name": "mr.wu", 'age': 18}
或
person = dict({"name": "mr.wu", 'age': 18})

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
  1 # 字典
  2 # 1、基本构成
  3 # info  = {
  4 #     "k1" : "v1", #键值对
  5 #     "k2" : "v2",
  6 # }
  7 
  8 # 2、字典中的value可以是任何值  想嵌套多少嵌套多少层
  9 # info = {
 10 #     "k1": 18,
 11 #     "k2": True,
 12 #     "k3": [
 13 #         11,
 14 #         [],
 15 #         (),
 16 #         22,
 17 #         33,
 18 #         {
 19 #             'kk1': 'vv1',
 20 #             'kk2': 'vv2',
 21 #             'kk3': (11,22),
 22 #         }
 23 #     ],
 24 #     "k4": (11,22,33,44)
 25 # }
 26 
 27 # 3、列表、字典不能做为字典的key    如果key相同,输出的时候不打印
 28 
 29 # info = {
 30 #     "k1" : 18,
 31 #     "k2" : True,
 32 #     "k3" : [
 33 #         11,
 34 #         [],
 35 #         (),
 36 #         22,
 37 #         33,
 38 #         {
 39 #             'kk1': 'vv1',
 40 #             'kk2': 'vv2',
 41 #             'kk3': (11,22),
 42 #         }
 43 #     ],
 44 #     "k4" : (11,22,33,44),
 45 #     "True" : "123"
 46 #     #[1,2,3,"alex"]: 123,列表不能做key
 47 #     #{"k1":"v1"} : 123, 字典不能做key
 48 # }
 49 # print(info)
 50 
 51 # 4、字典是无序的
 52 
 53 # 5、索引方式找到指定元素
 54 
 55 # info = {
 56 #     "k1": 18,
 57 #     "k2": True,
 58 #     "k3": [
 59 #         11,
 60 #         [],
 61 #         (),
 62 #         22,
 63 #         33,
 64 #         {
 65 #             'kk1': 'vv1',
 66 #             'kk2': 'vv2',
 67 #             'kk3': (11,22),
 68 #         }
 69 #     ],
 70 #     "k4": (11,22,33,44)
 71 # }
 72 # # v = info["k1"]
 73 # # print(v)
 74 # # v = info[2]
 75 # # print(v)
 76 # v = info["k3"][5]["kk3"][0]
 77 # print(v)
 78 
 79 # 6、字典支持del 删除
 80 # info = {
 81 #     "k1": 18,
 82 #     "k2": True,
 83 #     "k3": [
 84 #         11,
 85 #         [],
 86 #         (),
 87 #         22,
 88 #         33,
 89 #         {
 90 #             'kk1': 'vv1',
 91 #             'kk2': 'vv2',
 92 #             'kk3': (11,22),
 93 #         }
 94 #     ],
 95 #     "k4": (11,22,33,44)
 96 # }
 97 # del info["k1"]
 98 # del info["k3"][5]["kk1"]
 99 # print(info)
100 
101 # 7 for 循环
102 # info = {
103 #     "k1": 18,
104 #     "k2": True,
105 #     "k3": [
106 #         11,
107 #         [],
108 #         (),
109 #         22,
110 #         33,
111 #         {
112 #             'kk1': 'vv1',
113 #             'kk2': 'vv2',
114 #             'kk3': (11,22),
115 #         }
116 #     ],
117 #     "k4": (11,22,33,44)
118 # }
119 # for item in info :   #循环字典中的key
120 #     print(item)
121 
122 # for i in info.keys():   #循环字典中的key
123 #     print(i)
124 
125 # for i in info.values():   #循环字典中的values
126 #     print(i)
127 
128 # for i in info.keys():
129 #     print(i,info[i])
130 
131 # for i,v in info.items():   key 和 values 搜客循环出来
132 #     print(i,v)
133 
134 # ###############字典中特有的功能########################
135 
136 # 1、根据序列,创建字典,并指定元素
137 # v = dict.fromkeys(['k',123,'999'],123)#静态方法
138 # print(v)
139 
140 # 2、根据key获取值,key不存在时,可以指定默认值(None)
141 dic = {
142     "k1":"v1",
143     "k2":[]
144 }
145 # v = dic.get("k1",11111)
146 # print(v)
147 
148 # 3、删除并获取值
149 # v = dic.pop("k11111",90)
150 # print(dic,v)
151 # k,v = dic.popitem()#随机删除
152 # print(dic,k,v)
153 
154 # 4、设置值,已经存在不设置,获取当前key对应的值、
155 # 设置值,不存在设置,获取当前key对应的值
156 # v = dic.setdefault("k11","13")
157 # print(dic,v)
158 
159 # 5、 已经存在的覆盖key对应的值,不存在创建
160 # dic.update({'k1':11111,'k3':'alex'})
161 # dic.update(k1=123,k3=235,k5="asdf")
162 
163 # print(dic)
dict

7、重点总结

 1 # 一、数字
 2 # int(..)
 3 # 二、字符串
 4 # replace/find/join/strip/startswith/split/upper/lower/format
 5 # tempalte = "i am {name}, age : {age}"
 6 # # v = tempalte.format(name='alex',age=19)
 7 # v = tempalte.format(**{"name": 'alex','age': 19})
 8 # print(v)
 9 # 三、列表
10 # append、extend、insert
11 # 索引、切片、循环
12 # 四、元组
13 # 忽略
14 # 索引、切片、循环         以及元素不能被修改
15 # 五、字典
16 # get/update/keys/values/items
17 # for,索引
18 
19 # dic = {
20 #     "k1": 'v1'
21 # }
22 
23 # v = "k1" in dic
24 # print(v)
25 
26 # v = "v1" in dic.values()
27 # print(v)
28 # 六、布尔值
29 # 0 1
30 # bool(...)
31 # None ""  () []  {} 0 ==> False

其他                                                                                                                                                                                            

 
1、for循环
用户按照顺序循环可迭代对象中的内容,
PS:break、continue
li = [11,22,33,44]
for item in li:
    print item
2、enumrate
为可迭代的对象添加序号
li = [11,22,33]
for k,v in enumerate(li, 1):
    print(k,v)
3、range和xrange
指定范围,生成指定的数字
print range(1, 10)
# 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
 
print range(1, 10, 2)
# 结果:[1, 3, 5, 7, 9]
 
print range(30, 0, -2)
# 结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]
原文地址:https://www.cnblogs.com/sunkai1993/p/6091156.html