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

运算符

1、算数运算:

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

2、比较运算:

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

3、赋值运算:

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

4、逻辑运算:

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

5、成员运算:

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

 name = "yehaoran "     # in  判断ye是否在name里面 在的话返回ok 不在返回not
# if "ye" in name :
# print("ok")
# else:
# print("not") if "ran" not in name:
print("ok")
else:
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 #  数字 int
2 # python3里,1111111111111122333数字多长都用int
3 # python2里,数字太大用long小的用int
4
5 # 1、将字符串转换成数字 type 查看数据类型
6 # a = "123"
7 # print(type(a))
8 # b = int(a )
9 # print(type(b))
10 # b = b + 100
11 # print(b)
12
13
14 # 2、以16进制的形式转换成10进制
15 # num = "a"
16 # v = int(num, base=16)
17 # print(v)
18
19
20 # 3、当前数字的二进制,至少用n位表示
21 # # a = 123
22 # # r = a.bit_length()
23 # # print(r)

int 的集中常见用法

2、布尔值
  真或假
  1 或 0
3、字符串
字符串的格式    :    "hello world"
字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
 # 二、字符串  str

 # 1、首字母大写
# name = "xiaoming"
# print(name.capitalize()) # 2、 casefold、lower两个都是把大写字母转换成小写最好用第一个 。upper把小写转化成大写
# name = "xiaoMing"
# v = name.casefold()
# print(v)
# v2 = name.upper() 重要
# v1 = name.lower() 重要
# print(v1)
# print(v2) # 3、设置宽度并将内容居中
# 20代指总长度
# * 代表空白未知填充 ,一个字符,可有可无
# a1 = "alex"
# ret = a1.center(20, '*')
# print(ret)
# 在右边填充
# test = "alex"
# v = test.ljust(20,"*")
# print(v)
# 在左边填充
# test = "alex"
# v = test.rjust(20,"*")
# print(v) # test = "alex"
# v = test.zfill(20)
# print(v) #忽略 # 4、去字符串中寻找,寻找子序列出现的次数
# a1 = "alex is alph"
# ret = a1.count("a")
# ret = a1.count("al",0,10)
# print(ret) # 5、查看是否已什么结尾 重要***
# 查看是否已什么开始
# name = "xiaoMing"
# v = name.endswith('g')
# v1 = name.startswith('xi')
# print(v)
# print(v1) # 6、从开始往后面找,找到第一个之后,获取其位置,未找到返回一个-1 find重要
# name = "xiaoming"
# v = name.find('ao',2,6)#从那个位置开始找 前面的是大于等于 后面是小于
# # print(v)
# name = "xiaoming" #index 用法同find 但是如果index找不大值直接报错
# v = name.index("ming")
# print(v) # 7、格式化输出,将一个字符串中的占位符替换为指定的值 format重要
# test = 'i am {name},age {a}'
# print(test)
# v = test.format(name = 'xiaoming',a = 24)
# print(v)
# test = 'i am {0},age {1}'
# print(test)
# v = test.format('xiaoming',24)
# print(v)
# test.format_map的方法类似format 区别如下图
# test = 'i am {name},age {a}'
# print(test)
# v = test.format(name = 'xiaoming',a = 24)
# v1 = test.format_map({"name":"xiaoming","a":19})
# print(v)
# print(v1) # 8、判段字符串中是否只包含 字母和数字
# name = "uuuuaa888"
# v = name.isalnum()
# print(v) # 9、判断是否是字母
# test = "assd"
# v = test.isalpha()
# print(v) # 10、当前输入是否是数字
# test = "1112"
# v1 = test.isdecimal() #最常用
# v2 = test.isdigit()
# v3 = test.isnumeric()
# print(v1,v2,v3) # 11、 字母、数字、下划线;标识符 def class
# a = "def"
# v = a.isidentifier()
# print(v) # 12、是否出现不可显示的字符
# \t 制表符
# \n 换行
# test = "ooos\tsdjf"
# v = test.isprintable()
# print(v) # 13、是否全是空格
# test = "aaaf aass"
# v = test.isspace()
# print(v) # 14、判断是否是标题
# test = "Return True if all cased characters in S are uppercase and
# v1 = test.istitle()
# print(v1)
# v2 = test.title()
# print(v2)
# v3 = v2.istitle()
# print(v3) # 15、非常重要*****15、将字符串中的每一个元素按照指定分隔符进行拼接
# test = "你是风儿我是沙"
# v = " ".join(test)
# print(v) # 16、 去除空白 去除\n \t 指定内容的时候把指定的内容去掉
# test = "alex"
# v = test.lstrip("ax") # 移除指定字符串
# # 有限最多匹配
# v = test.rstrip()
# v = test.strip() # 很重要 # 17、# 对应关系替换
# test = "aeiou"
# test1 = "12345"
# v = "asidufkasd;fiuadkf;adfkjalsdjf"
# m = str.maketrans("aeiou", "12345")
# new_v = v.translate(m)
# print(new_v) # 18、 分割为三部分
# test = "testasdsddfg"
# v = test.partition('s')
# print(v)
# v = test.rpartition('s')
# print(v)
# 21 以xxx开头,以xx结尾 很重要
# test = "backend 1.1.1.1"
# v = test.startswith('a')
# print(v)
# test.endswith('a) # 22 大小写转换
# test = "ALEX"
# v = test.swapcase()
# print(v) # 23 字母,数字,下划线 : 标识符 def class
# a = "def"
# v = a.isidentifier()
# print(v) # 24 将指定字符串替换为指定字符串
# test = "alexalexalex"
# v = test.replace("ex",'bbb')
# print(v)
# v = test.replace("ex",'bbb',2)
# print(v) ##################### 7个非常重要的 ######################
# join # '_'.join("asdfasdf")
# split
# find
# strip
# upper
# lower
# replace ####################必须要会的####################### # # 1、索引
# test = "alex"
# # 索引 , 下标 , 获取字符串中的某一个字符
# v = test[3]
# print(v) # 2、切片
# test = "alex"
# v = test[0:2] #0<= <2 -1代表最后的位置
# print(v) # 3、len 查看字符串中有多少个字符组成
# test = "alex"
# v = len(test)
# print(v) # 4、while循环
# test = "asdfghjkl"
# index = 0
# while index < len(test) :
# v = test[index]
# print(v)
#
# index += 1
# print("======")
#
# for i in test : 和上面的while循环实现的效果一样
# print(i) # PS :字符串一旦被创建就不可以被修改
# 一旦修改或者拼接,都会造成重新生成字符串 # 5 range将文字 对应的索引打印出来:
# test = input(">>>>>")
# for i in range(0 ,len(test)):
# print(i,test[i]) #实现思路
# test = input(">>>>>")
# for i in test :
# print(i)
# l = len(test)
# print(l)
# r = range(0,l)
# for i in r :
# print(i,test[i])
# 19 分割为指定个数
# v = test.split('s',2) 很重要
# print(v)
# test.rsplit() # 20 分割,只能根据,true,false:是否保留换行
# test = "asdfadfasdf\nasdfasdf\nadfasdf"
# v = test.splitlines(False)
# print(v) str 用法和注意事项 重点

str 用法和注意事项 重点

4、列表
创建列表:
 name_list = ['alex', 'seven', 'eric']

name_list = list(['alex', 'seven', 'eric'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
 # list # 类,列表
# li = [1, 2, 3, ["alex", 12, "thinks"], "want", "to"]
# 1、列表的格式
# 2、列表中可以嵌套任何类型
# 中括号括起来
# ,逗号分割每个元素
# 列表中的元素可以是 数字,字符串,布尔值,所有的都能放进去
# 3、索引取值
# print(li[3])
# 4、切片,切片的结果是列表
# print(li[3:-1])
# 列表支持while 、 for循环
# 5、for i in li :
# print(i) # 列表的元素是可以被修改的
# li = [1, 2, 3, ["alex", 12, "thinks"], "want", "to"]
# #################### 6、索引修改 删除
# 修改
# li[1] = 120
# print(li)
# li[2] = [1,3,5,]
# print(li)
# 删除
# del li[1]
# print(li)
# #####################7、 切边操作修改 删除
# 修改
# li[1:3] = [120,90]
# print(li)
# # 删除
# del li[2:6]
# print(li) # li = [1, 2, 3, ["alex", 12, "thinks"], "want", "to"]
# # 8in 操作 根据逗号分割作为一个整体最为一个整体
# v = 1 in li
# print(v) # ##########################转换#######
# 把str 转化成列表
# a = "asdf"
# new_a = list(a)
# print(new_a) # 列表转换字符串 列表中出现数字自己写for循环
# li = [11,"22","alex"]
# s = ""
# for i in li:
# s = s +str(i)
# print(s)
# 列表中的元素只有字符串 ; 直接用 join 方法:
# li = [ "123" , "1lex"]
# v = "".join(li)
# print(v) # ###################灰魔法:list 类中提供的方法 ##################
# 1、原来的值最后追加
# 对象 方法(。。) # 变量 li 对象调用append方法 里面的元素叫参数
# li = [11, 22, 33, 44, 22]
# li.append(99)
# print(li) #2、清空列表
# li = [11, 22, 33, 44, 22]
# li.clear()
# print(li) # 3、拷贝 ,浅拷贝
# li = [11, 22, 33, 44, 22]
# v = li.copy()
# print(v) # 4、计算列表中元素出现的次数
# li = [11, 22, 33, 44, 22]
# v = li.count(22)
# print(v) # 5、扩展原列表 ,参数 :可迭代对象
# li = [11, 22, 33, 44, 22]
# li.append([222])
# print(li) # li = [11,22,33,22,44]
# li.extend(["alex",998])
# print(li) # 用for循环extend后面加的参数循环打印加到列表里
# # 例如 :
# li.extend("alex")
# print(li) # 6、根据值获取当前值索引的位置 (左边优先)
# li = [11, 22, 33, 44, 22]
# v = li.index(33)
# print(v) # 7、在指定索引位置插入元素
# li = [11, 22, 33, 44, 22]
# li.insert(0,22)
# print(li) # 8、删除某个值(1、指定索引 : 2、默认最后一个)并获取删除的值
# li = [11, 22, 33, 44, 22]
# v = li.pop(3)
# print(v)
# print(li) # 9、删除列表中的指定值,左边优先
# li = [11, 22, 33, 44, 22]
# li.remove(22)
# print(li)
# PS :pop remove del li[0] del li[7:9] clear #都是删除 # 10、将列表中进行反转
# li = [11, 22, 33, 44, 22]
# li.reverse()
# print(li) # 11、列表的排序
# li = [1,77,55,99,22,]
# li.sort() #默认从小到大排序
# li.sort(reverse= True) # 从大到小排序
# print(li)

list 用法和注意事项

5、元祖
创建元祖:
 ages = (11, 22, 33, 44, 55)

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、基本构成
# info = {
# "k1" : "v1", #键值对
# "k2" : "v2",
# } # 2、字典中的value可以是任何值 想嵌套多少嵌套多少层
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# } # 3、列表、字典不能做为字典的key 如果key相同,输出的时候不打印 # info = {
# "k1" : 18,
# "k2" : True,
# "k3" : [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4" : (11,22,33,44),
# "True" : "123"
# #[1,2,3,"alex"]: 123,列表不能做key
# #{"k1":"v1"} : 123, 字典不能做key
# }
# print(info) # 4、字典是无序的 # 5、索引方式找到指定元素 # info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# # v = info["k1"]
# # print(v)
# # v = info[2]
# # print(v)
# v = info["k3"][5]["kk3"][0]
# print(v) # 6、字典支持del 删除
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# del info["k1"]
# del info["k3"][5]["kk1"]
# print(info) # 7 for 循环
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# for item in info : #循环字典中的key
# print(item) # for i in info.keys(): #循环字典中的key
# print(i) # for i in info.values(): #循环字典中的values
# print(i) # for i in info.keys():
# print(i,info[i]) # for i,v in info.items(): key 和 values 搜客循环出来
# print(i,v) # ###############字典中特有的功能######################## # 1、根据序列,创建字典,并指定元素
# v = dict.fromkeys(['k',123,'999'],123)#静态方法
# print(v) # 2、根据key获取值,key不存在时,可以指定默认值(None)
dic = {
"k1":"v1",
"k2":[]
}
# v = dic.get("k1",11111)
# print(v) # 3、删除并获取值
# v = dic.pop("k11111",90)
# print(dic,v)
# k,v = dic.popitem()#随机删除
# print(dic,k,v) # 4、设置值,已经存在不设置,获取当前key对应的值、
# 设置值,不存在设置,获取当前key对应的值
# v = dic.setdefault("k11","13")
# print(dic,v) # 5、 已经存在的覆盖key对应的值,不存在创建
# dic.update({'k1':11111,'k3':'alex'})
# dic.update(k1=123,k3=235,k5="asdf") # print(dic)

dict

7、重点总结

 # 一、数字
# int(..)
# 二、字符串
# replace/find/join/strip/startswith/split/upper/lower/format
# tempalte = "i am {name}, age : {age}"
# # v = tempalte.format(name='alex',age=19)
# v = tempalte.format(**{"name": 'alex','age': 19})
# print(v)
# 三、列表
# append、extend、insert
# 索引、切片、循环
# 四、元组
# 忽略
# 索引、切片、循环 以及元素不能被修改
# 五、字典
# get/update/keys/values/items
# for,索引 # dic = {
# "k1": 'v1'
# } # v = "k1" in dic
# print(v) # v = "v1" in dic.values()
# print(v)
# 六、布尔值
# 0 1
# bool(...)
# 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]
上一篇:移动端ios下H5的:active样式失效的解决方法


下一篇:Java unicode中文编码转换和反转