补充其他数字类型 (了解)
1.长整型
python3中没有长整型的概念;
python2中, num=2L type(num) => ‘long’
- 复数
x=1-2j
print(x.real) #取实部
print(x.imag) #取虚部
1.0
-2.0
- 字符串_需要掌握的操作
#1. strip, lstrip, rstrip #作用于首尾两端,可连用,不改变原字符串
name = '*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))
egon
egon**
*egon
#2. lower, upper
name='eGon'
print(name.lower())
print(name.upper())
egon
EGON
#3. startswith, endswith #判断
name='alex_AB'
print(name.endswith('ab'))
print(name.startswith('alex'))
False
True
#4. format的三种玩法
也可用%(s), 但%s不只针对字符串;format后元素数量可多余前面,%s必须前后对应,否则报错。
res0 = ‘%s%s%s’%(‘egon’,18,’male’)
res1 ='{}{}{}'.format('egon',18,'male') #{}为字符串的占位符
res2='{1}{0}{1}{1}{1}'.format('egon',18,'male') #{}中可放数字
res3='{name}{age}{sex}'.format(sex='male',name='egon',age=18) #{} 不依赖于顺序
print(res1,res2,res3)
egon18male 18egon181818 egon18male
#5. split, rsplit #默认分隔符是空格, 默认 max_split为-1(全分割)
name='root:x:0:0::/root:/bin/bash'
print(name.split(':'))
name='C:/a/b/c/d.txt'
print(name.split('/',2)) ## 等于1时可拿到顶级目录
name='a|b|c'
print(name.rsplit('|',1))
name.rsplit('|') == name.split('|') ## 默认 max_split为-1
['root', 'x', '0', '0', '', '/root', '/bin/bash'] ##注意::的输出结果
['C:', 'a', 'b/c/d.txt']
['a|b', 'c']
#6 **join ##可迭代对象必须是字符串
join与split对应,join 传入的列表必须只包含字符串类型
‘ ’.join() # ‘‘=》以什么连接 ()=》只包含字符串的列表
tag=''
print(tag.join(['egon','say','hello','world']))
egonsayhelloworld
‘’.join[1,2,3] =》报错
#7 replace #默认全部替换
name='alex say: i have one tesla, my name is alex'
print(name.replace('alex','AB',3))
AB say: i have one tesla, my name is AB
*看到参数self,当不存在
#8 isdigit #可判断bytes和unicode类型,是最常用的用于判断字符是否为“数字”的方法;只判断bytes,unicode类型的整数字符串为真
age=input('>>: ')
print(age.isdigit())
True or False
age = 10
inp = input('>>: ').strip()
if inp.isdigit():
inp = int(inp)
if inp > age:
print('too big')
else:
print('输入非法数据')
- 字符串的其他操作(了解)
#1. find, rfind, index, rindex, count
name='egon say hello'
print(name.find('o',1,3)) #顾头不顾尾,找到显示sub集的起始位置的索引, 不指定范围找第一个,找不到则返回-1不会报错
print(name.index('e',2,4)) #类似find,但找不到报错
print(name.count('e',1,3)) #顾头不顾尾,不指定范围查找所有
2
Traceback (most recent call last):
0
#2. center, ljust, rjust, zfill
name='egon'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充,默认右对齐
-------------egon-------------
egon**************************
**************************egon
0000000000000000000000000000000000000000000000egon
#3. expandtabs
name='egon\thello'
print(name)
print('\t')
print(name.expandtabs(0)) #参数为tabsize,指空格数
print(name.expandtabs(1))
egon hello
egonhello
egon hello
\t =》 表tab,本质是空格,不同平台默认的空格数不一致
\n =》 表换行
#4. captalize, swapcase, title
msg='egon sAy hi'
print(msg.capitalize()) #首字母大写
print(msg.swapcase()) #大小写翻转
print(msg.title()) #单个单词的首字母大写
Egon say hi
EGON SaY HI
Egon Say Hi
#5. is数字类型
is数字类型是用来判断字符串的,字符串中数字有四种类型
*num1=b ‘4’ # bytes 字节
*num2=u ‘4’《=》‘4’ # unicode, python3中无需加u就是unicode
num3=‘四’ #中文数字
num4= ‘IV’#罗马数字
对isdigit: 1 True, 2 True, 3 False, 4 False #判断bytes和unicode的阿拉伯整数为真(数字);是最为常用的is数字类型
对isdecimal: 1无, 2 True, 3 False, 4 False #只能判断unicode格式的阿拉伯整数为真(数字)
对 isnumeric:1无, 2 True, 3 True, 4 True # 能判断unicode,中文数字, 罗马数字格式的阿拉伯整数为真(数字);可能会用到银行项目
#6. is 其他
print(name.isalpha()) #字符串只有字母组成
print(name.isalnum()) #字符串有字母或数字组成
print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())
- 字符串的总结
存放一个值;有序(序列类型,能按照索引取值),不可变
#‘序列类型’不是一种类型,为方便理解
list有序, dict无序(不能按照索引取值)
- 列表的基本使用
定义:中括号内可以有多个任意类型的值,逗号分隔
l2=list('hello')
print(l2)
l3=list(111)
print(l3)
['h', 'e', 'l', 'l', 'o'] #相当于for循环
Traceback (most recent call last): #报错
- 列表优先掌握定的操作
#1 按索引存取值(正向存取+反向存取);即可存也可取
l=['a','b','c']
print(l,id(l))
l[0]='A'
print(l,id(l))
['a', 'b', 'c'] 4367353032
['A', 'b', 'c'] 4367353032 #列表为可变类型,id不变, 不可通过索引加值,否则报错
#2 切片(顾头不顾尾,步长)
stus = ['alex','egon','wxx','yxx', 'lxx']
print(stus[1:3])
['egon', 'wxx'] #所取值依旧为列表
#3 长度
stus = ['alex','egon','wxx','yxx', 'lxx']
print(len(stus))
5 #列表中元素的个数
#4 成员运算in和not in
#5 追加
stus = ['alex','egon','wxx','yxx', 'lxx']
print(stus.append('ab')) #往后加值,一次加一个值
print(stus)
None
['alex', 'egon', 'wxx', 'yxx', 'lxx', 'ab']
插入:
stus = ['alex','egon','wxx','yxx', 'lxx']
print(stus.insert(1, 'ab')) #1为起始位置,insert一次加一个值
print(stus)
None
['alex', 'ab', 'egon', 'wxx', 'yxx', 'lxx']
#6 删除
del stus[1] #万能删除,不止针对列表
stus = ['alex','egon','wxx','yxx', 'lxx']
print(stus.remove('alex')) #remove只能按照成员删,按索引报错
print(stus)
print(stus.pop(1)) #按索引删,若不加参数,默认删掉末尾(默认参数为-1)
print(stus)
None #用remove删是单纯的删除,没有返回值
['egon', 'wxx', 'yxx', 'lxx']
wxx #用remove删,是取走/弹出一个值
['egon', 'yxx', 'lxx']
#7 循环
- 依赖索引
i=0
stus = ['alex','egon','wxx','yxx', 'lxx']
while i <len(stus):
print(stus[i])
i+=1
for i in range(len(stus)):
print(i,stus[i])
- 不依赖索引
stus = ['alex','egon','wxx','yxx', 'lxx']
for item in stus:
print(item)
- 补充for循环
for i in range(1,5,2): #(起始,结束,步长),顾头不顾尾
print(i) # 1 3
for i in range(10): #一个参数时,10默认是结束位置,起始位置默认为0
print(i) #0 1 2 …9
for i in range(10,-2,-1):
print(i) #10 9 8 …-1
stus=['alex','egon','wxx','yxx']
for i in range(len(stus)):
print(i,stus[i])
0 alex
1 egon
2 wxx
3 yxx
for循环中,break和continue依旧适用, 有for else用法
- 列表需要掌握的操作
#1
stus=['alex','egon','wxx','yxx']
print(stus.clear()) #清空
print(stus)
None
[]
#2
stus=['alex','egon','wxx','yxx']
print(stus.copy()) #拷贝
print(stus)
['alex', 'egon', 'wxx', 'yxx']
['alex', 'egon', 'wxx', 'yxx']
#3
stus=['alex','egon','wxx','yxx']
print(stus.count('e')) #统计元素数量
print(stus)
0
['alex', 'egon', 'wxx', 'yxx']
#4
stus=['alex','egon','wxx','yxx']
print(stus.extend('alex')) #extend 可加多个值
print(stus)
None
['alex', 'egon', 'wxx', 'yxx', 'a', 'l', 'e', 'x']
#5
stus=['alex','egon','wxx','yxx']
print(stus.index('yxx',0,4)) #取元素的索引
print(stus)
3
['alex', 'egon', 'wxx', 'yxx']
#6
stus=['alex','egon','wxx','yxx']
print(stus.reverse()) #元素反写
print(stus)
None
['yxx', 'wxx', 'egon', 'alex']
#7
stus=['alex','egon','wxx','yxx']
print(stus.sort(reverse =True)) #正(反)向排序
print(stus)
None
['yxx', 'wxx', 'egon', 'alex']
注: __xx__ 为python的内置方法,当输入满足时,自动出现,不需调用
e.g.: print(len(stus)) # print(stus.__len__())
sort只针对纯数字或纯字母 [1,10, ‘a’].sort() 报错
字符串的比较是从第一个字符开始一个一个比较,且必须同时比较的两者属于一个类型(数字/字母),否则报错。A Z a z 从小到大
- 队列(先进先出)
入队: l1.append(‘first’) ; l1.append(‘second’); l1.append(‘third’)
出队: l1.pop(0); l1.pop(0); l1.pop(0)
#思考用insert怎么实现
- 堆栈(先进后出,后进先出)
入栈:l1.append(‘first’) ; l1.append(‘second’); l1.append(‘third’)
出栈:l1.pop(); l1.pop(); l1.pop()
- 列表总结
可以存多个值,有序,可变
转载于:https://www.cnblogs.com/GeorgeJ/p/9375420.html
补充其他数字类型 (了解)相关推荐
- 从列表中切片最佳英雄组合,我的选择是亚索和李青——补充python基础语法有关数字类型和列表的知识
本文继续补充个人对python基础语法的理解,这里主要讲数字类型和列表~ 目前还不算初级程序员把,但是一洗头就掉头发,现在都不敢洗头了~ 数字类型 python中的数字类型:int(整型).float ...
- python数据类型-Python3基本数据类型(一、数字类型)
第一次写博客,感觉心情比较紧张,有一种要上台演讲的紧张感(虽然可能大概也许不会有人看).在此立个flag,以后每个学习阶段都要写一篇博客,来记录自己学习成长的这段日子.Fighting! 废话不多说, ...
- [Python3] 003 变量类型概述 数字类型详叙
目录 0. 变量类型概述 1. 数字类型详叙 1.1 整数 1.1.1 常用进制 1.1.2 少废话,上例子 1.2 浮点数 1.2.1 使用浮点数时可以"偷懒" 1.2.2 科学 ...
- Python3基本数据类型(一、数字类型)
第一次写博客,感觉心情比较紧张,有一种要上台演讲的紧张感(虽然可能大概也许不会有人看).在此立个flag,以后每个学习阶段都要写一篇博客,来记录自己学习成长的这段日子.Fighting! 废话不多说, ...
- Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)
全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...
- 数字类型以及类型转换
一.数字字面量 在js中没有整数和浮点数之分,所有的数字都是浮点数 1.8进制 以数字0.0o或者0O开头的数字表示8进制 例:010 = 8.0o11 = 9.0O12 = 10 2.16进制 以数 ...
- Python布尔值属于数字类型吗?
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 列郡讴歌惜,三朝出入荣. 大家好, ...
- MySQL 学习笔记(12)— 数据类型(定长字符、变长字符、字符串大对象、数字类型、日期时间类型、二进制类型)
MySQL 常见的数据类型有字符串类型.数字类型.时间类型.二进制类型.具体的分类如下图: 1. 字符串类型 字符串类型用于存储字符和字符串数据,主要包含三种具体的类型:定长字符串.变长字符串以及字符 ...
- mysql 数据库 数组类型转换_mysql数字类型的数据如何进行转换?
如何将MySQL数据库中的数字类型转换为数字函数,今天给大家介绍mysql中的转换函数,这个在实际的生活应用中是运用广泛的,大大减少了我们自己手动进行数字类型的转换. 我们今天主要向大家介绍的是用My ...
- MySQL数据类型之数字类型详细解析
MySQL数据类型之数字类型 数字类型按照我的分类方法分为三类:整数类.小数类和数字类. 我所谓的"数字类",就是指DECIMAL和NUMERIC,它们是同一种类型.它严格的说不是 ...
最新文章
- Generic Data Access Objects -范型DAO类设计模式
- 成功解决schedule.ScheduleValueError: Invalid time format
- SpringCloud-Eureka-服务注册是如何发起的
- HOG特征(Histogram of Gradient)学习总结
- c语言malloc calloc,C语言内存管理:malloc、calloc、free的实现
- 不要老去打断程序员的工作
- @property 各个属性作用【使用时最需注意strong/weak类型】【补充部分内存知识】...
- 【转载】 vs2005视频教程 之 抽象类和接口 四 [视频]
- [LeetCode]29 两数相除和一个小坑点
- Snowflake Snow Snowflakes--POJ 3349
- 【job】面试中常见的笔试梳理
- Rancher2.5入门——安装Rancher
- vtk c++ 图像分割_医学图像分割-Attention Unet
- 严蔚敏数据结构习题第十章
- 制作电脑显示器流光溢彩
- 机器学习基础 2:矩阵乘法以及求导
- ONL/Debian 和 Ubuntu 版本的对应关系
- 记一次公司被勒索病毒攻击事迹,上上下下咬牙切齿
- panabit连接控制
- MySQL权限系统(三).权限表 Grant Tables
热门文章
- VS2010中使用boost正则表达式库
- Solr搜索引擎——中文分词器
- @RequestParam和@RequestBody和@PathVariable用法小结
- ElasticSearch常用API操作示例
- 09. Never call virtual funcitons during construction or destruction
- 安卓开机画面_只需三招,电视/盒子开机启动不再是问题
- php多级审核,BOS单据多级审核需在单据头上列示多个审核人员的处理方法
- 获取别人_职场潜规则:要想获取别人信任与更多机会,先要学会勇于承担责任...
- java反射入门,JAVA从入门到精通之java反射
- Java编程:排序算法——基数排序