Python之路【第二篇】python基础 之基本数据类型
运算符
1、算数运算:
2、比较运算:
3、赋值运算:
4、逻辑运算:
5、成员运算:
- 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(整型)
在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 的集中常见用法
字符串的格式 : "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 用法和注意事项 重点
- 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 用法和注意事项
- 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
其他
- li = [11,22,33,44]
- for item in li:
- print item
- li = [11,22,33]
- for k,v in enumerate(li, 1):
- print(k,v)
- 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]
Python之路【第二篇】python基础 之基本数据类型的更多相关文章
- python之路第二篇(基础篇)
入门知识: 一.关于作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 10 == 10: name = 'allen' print name 以下结论对吗? ...
- Python之路第二天,基础(2)-基本数据类型
一.Python数据类型 数 在Python中有4种类型的数,整数,长整数,浮点数和复数. 2是一个整数的例子 长整数不过是大一点的整数 3.23和52.3E是浮点数的例子.E标记表示10的幂.52. ...
- Python之路(第二篇):Python基本数据类型字符串(一)
一.基础 1.编码 UTF-8:中文占3个字节 GBK:中文占2个字节 Unicode.UTF-8.GBK三者关系 ascii码是只能表示英文字符,用8个字节表示英文,unicode是统一码,世界通用 ...
- Python成长之路第二篇(1)_数据类型内置函数用法
数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...
- Python之路(第九篇)Python文件操作
一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r",encoding = “utf ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- 第二篇 python进阶
目录 第二篇 python进阶 一 数字类型内置方法 二 字符串类型内置方法 三 列表类型内置方法(list) 四 元组类型内置方法(tuple) 五 字典内置方法 六 集合类型内置方法(self) ...
- [转帖]虚拟内存探究 -- 第二篇:Python 字节
虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦 ...
- 前端第二篇---前端基础之CSS
前端第二篇---前端基础之CSS 目录 一.css介绍 二.css语法 三.css的几种引入方式 四.css选择器 五.css属性相关 六.盒子模型 拓展 一.css介绍 CSS(Cascading ...
- 我的Python成长之路---第二天---Python基础(7)---2016年1月9日(晴)
再说字符串 一.字符串的编码 字符串的编码是个很令人头疼的问题,由于计算机是美国人发明的,他们很理所当然的认为计算机只要能处理127个字母和一些符号就够用了,所以规定了一个字符占用8个比特(bit)也 ...
随机推荐
- ABAP 出库单打印 产品 A搭A A搭B显示方式
*&---------------------------------------------------------------------* *& Report *& ...
- day7
本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- C# Interface的使用方法探讨
接口是把公共实例(非静态)的方法和属性结合起来,以封装特定功能的一个集合,一旦定义了接口,就可以在类中使用实现接口中的所有成员,接口可以看作创建者和使用者之间的契约,一旦实现了接口,就不要轻易变动(如 ...
- DateUtil(比较两个日期是否是同一天)
1.比较两个日期是否是同一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date la ...
- gulp整理
gulp基于node 1.全局安装gulp: $ npm install --global gulp 2.前往项目目录,然后安装作为项目的开发依赖(devDependencies): $ npm in ...
- 求两个数字的最大公约数-Python实现,三种方法效率比较,包含质数打印质数的方法
今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:ht ...
- 请慎用java的File#renameTo(File)方法
转载地址:http://xiaoych.iteye.com/blog/149328 以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移 ...
- CSS样式表基础
CSS的样式表其实就是美观页面的,加一些样式. 一.样式表的三种分类: ①内联样式:写在某一个标签里面的样式. 优点:控制精确. 缺点:代码重用性差.(太多了不好写)页面代码乱.(太乱,后期不方便看) ...
- AngularJS的简单使用
官网下载:AngularJS 路由视图需要:Angular-Route.js 基于zepto的轻量级的 JavaScript UI 库: App.js 用于开发跨平台的移动Web应用 <!DO ...
- WebStorm 2016.2 破解方法
http://www.jetbrains.com/ 以前的 http://idea.lanyus.com/ 不能激活了 有帖子说的 http://15.idea.lanyus.com/ http:// ...