python基础之 基本数据类型,str方法和for循环
1.概念
1.十进制转二进制,对2取余,余数倒序排列
2.字符串为空的时候,bool值为false,字符串非空就是True
3.字符串转化成int时,必须是只包含数字才能转化。
4.字符串转化成int时可以有空格,int()会自动的省略空格---> int(" 5 ")
2.基本数据类型详解
1.数字int
#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length() #查看十进制的1000在二进制里面有多少有效位数(从遇到1开始向后累加个数)
print(data) 2.布尔值bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
注意:字符串为空的时候,bool值为false,字符串非空就是True。
3.字符串的索引和切片
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
a = 'ABCDEFGHIJK'
print(a[0]) --->A
print(a[3]) --->D
print(a[5]) --->F
print(a[7]) --->H
print(a[-1]) --->K 切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚,最重要)。
a= "我爱python"
s = a[0:4] #取值为"我爱py",根据顾头不顾腚原则,只能取值到4-1,不能取到下标为4的元素
s1 =a[:5] #从0开始的话,0可以省略不写,默认不写
s2 = a[:] #从头取到尾
s3 = a[:5:2] #[起始索引:结尾索引+1:步长] #从下标为0开始到下标4之间,相隔一个取一个值,默认是相隔2-1取一个
s4 = a[-1] #取最后一位
s5 = a[0:-1] #由于顾头不顾腚,只能取值到倒数第二位
s6 = a[-1:-4:-2] #反向取值必须加反向步长
s7 = a[5:0:-2]) #反向取值必须加反向步长
注意:
1.支付串里面的每元素有自己的下标,通过下标也能找到每个元素
2.通过索引和切片出来的都是字符串类型,并且是新的字符串,与源字符串无关,新找到的字符串会在内存中开辟新的地址来存放找到的字符串
3.正数索引和负数索引可以混用。只要能指到正确的元素即可。(但是一般不用,会比较麻烦)
3.字符串str方法详解
s = "root admin p0st admin" 字符串拼接:
操作列表时,列表里面的内容必须全部是字符串类型,对操作列表最有用,不用使用for循环打印了--->join拼接之后返回的是字符串
连接符.join(iterable)
s7 = '*'.join(s)
s7 = '_'.join(s)
s7 = 'sb'.join(s)
print(s7)
l1 = ['wir', 'ax', 'tai'] #jion如果要操作列表的话,里面元素必须是字符串型
s7 = ','.join(l1) --->wir,ax,tai
print(s7)
字符串分割:
s.spilt() #默认按空格来分割
s.spilt(',') #按指定字符来分割
s.spilt(',',1) #按指定分割次数来分割,以逗号分割,默认从左到右分割一次
s.rspilt() #从右向左分割
默认按空格来分割,会将str类型转化成list类型(因为str类型是可迭代类型;能被for循环的都是可迭代类型)
当要分割的字符串中出现几个指定字符时,分割的时候就会出现n+1个元素
另一种分割方式:
s ="123def456"
print(s.partition("def"))--->('123','def','456')会返回一个远足
字符串替换:
s.repalce('admin','123') #将admin替换成123
s.replace('admin','123',2) #将出现的前两次admin都换成123,后面再出现的不替换 字符串去除:
s.strip() #默认去除字符串两边的换行符,制表符和空格
s.rstrip() #只去除右边的。。。。。。
s.lstrip() #只去除左边的。。。。。。
s.strip('root') #去除字符串中的root,但是只是去除第一个发现的,如果你写troop,也会去除root is系列:
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成
print(name.isspace()) #判断是否是空格 大小写:
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
print(name.title()) #每个单词首字母大写,非字母隔开的每个单词的首字母大写
print(name.upper()) #字符串变大写
print(name.lower()) #字符串变小写
次数和长度:
print(s.count('f')) #统计每个字符出现的次数
print(len(s)) #打印出字符串的长度(内置函数) str.isinstance是Python中的一个内建函数。是用来判断一个对象的变量类型。
以。。。开头或结尾
a4 = "dkfjdkfasf54"
#startswith 判断是否以...开头
#endswith 判断是否以...结尾
# ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚
# print(ret4) # 返回的是布尔值
# ret5 = a4.startswith("kfj",1,4)
# print(ret5)
寻找字符串中的元素是否存在
# ret6 = a4.find("fjdk",1,6)
# print(ret6) # 找到第一个元素就返回,返回的找到的元素的索引,如果找不到返回-1
# ret61 = a4.index("fjdk",4,6)
# print(ret61) # 找到第一个元素就返回,返回的找到的元素的索引,找不到报错。
格式化输出:format
s = '我叫{},今年{},性别{}'
方法一:
s11 = s.format('123', '23', 'man')
print(s11)
方法二:
s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}'
s11 = s.format('123', '23', 'man')
print(s11) 方法三:
s = '我叫{name},今年{age},性别{sex},我依然叫{name}'
s11 = s.format(name='123', sex='man', age='23')
print(s11)
字符串实现翻转:
s= "12345"
result = s[::-1]--->54321 python中步进为正,从左往右取,步进为负,从右往左取
说明:
result = s[i:j:z]
当z>0时,i为起始索引(缺省为0),j为结束索引(不包括最后一个,缺省为len(a)), s为步进(缺省为1)
当z<0时,i缺省时默认为-1,j缺省时默认为-len(s)-1,所以就相当于result=s[-1::-len(s)-1:-1] ,相当于从右向左读一遍 other:
info.endode('utf-8') #更改编码
4.for循环
info = "asdalicydn29458cclsds"
for item in info:
print(item,',',end='') #打印到一行,item打印的内容,‘,’表示已,分割内容,end=''表示不加换行符-->默认是已空格分开,并且加\n #for是有限循环,能被for循环的就叫做可迭代对象
python基础之 基本数据类型,str方法和for循环的更多相关文章
- python基础复习-1-2 数据类型-str、list、tuple、dict
数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:f ...
- Python基础(一)_数据类型、条件判断、循环、列表
编译型语言(中文版)运行代码之前,要先编译.然后再运行编译时间比较长c.c++.c# 解释型语言(翻译版)运行的时候才去编译,运行一次编译.运行效率没有编译型语言快python.ruby.shell. ...
- python基础_格式化输出(%用法和format用法)(转载)
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...
- Python基础2--Python简单数据类型
python简单数据类型 1 list list的创建,使用[] a_list = [‘a’, ’b’, ‘c’] print a_list print a_list[0] #a 如果去list的最后 ...
- Python基础(2) - 动态数据类型
Python是一门强类型语言,单定义变量时不需要制定类型. C#这样定义变量: ; VB这样定义变量: Python不需要制定类型,给变量赋什么类型的值,它就是什么类型.(穿神马就是神马?) > ...
- 记录我的 python 学习历程-Day03 数据类型 str切片 for循环
一.啥是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则它是分 ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- python基础知识之数据类型
一.与用户的交互 古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他, 然后他去进行验证,成功后,我们再将取款金额输入/告诉他 骄傲的现代人,会为客户提供一台ATM机(就是一 ...
- Python基础语法和数据类型最全总结
摘要:总结了Python最全基础语法和数据类型总结,一文带你学会Python. 本文分享自华为云社区<Python最全基础语法和数据类型总结>,原文作者:北山啦 . 人生苦短,我用Pyth ...
随机推荐
- SQL递归方式实现省市区县级别查询
数据库脚本 CREATE TABLE [dbo].[Std_Area]( [Id] [int] NOT NULL, [Name] [nvarchar](50) NULL, [ParentId] [in ...
- Gorm使用详解
1.什么是Gorm go语言编写的orm框架 特点: 1)全功能ORM 2)关联(包含一个,包含多个,属于,多对多) 3)Callbacks(创建/保存/更新/删除/查找前后回调) 4)预加载 5)事 ...
- 代码注释中的专有词——TODO、FIXME和XXX
[时间:2017-09] [状态:Open] [关键词:代码注释,TODO, FIXME, XXX] 阅读开源代码时可能经常遇到TODO.FIXME.XXX的单词,通常这些都是有其特殊含义的. 中文版 ...
- 【Java】类加载过程
JVM把class文件加载到内存,并对数据进行校验.解析和初始化,最终形成JVM可以直接使用的Java类型的过程. 类加载的过程主要分为三个部分: 加载 链接 初始化 而链接又可以细分为三个小部分: ...
- 资源查找器PathMatchingResourcePatternResolver的使用
资源查找器PathMatchingResourcePatternResolver的使用 PathMatchingResourcePatternResolver是一个Ant通配符模式的Resource查 ...
- Angular4学习笔记-目录汇总
Angular4学习笔记(一)-环境搭建 Angular4学习笔记(二)-在WebStorm中启动项目 Angular4学习笔记(三)- 路由 Angular4学习笔记(四)- 依赖注入 Angula ...
- PXE(preboot execution environment):【网络】预启动执行环节:安装 ubuntu、rehat系列:成功
必要条件: 网卡硬件支持 搭建相配套的DHCP\TFTP\HTTP(或FTP)后端服务器:推荐pxesrv,好用! 准备必要的pxe引导文件:pxelinux.0.menu.c32,该2位来自sysl ...
- pyCharm最新激活码(2018激活码)
首先输入新的License sever address 首先尝试处理方法是,针对过期会弹出激活框: 选择 Activate new license with License server (用lice ...
- Python代码转换为exe可执行程序详解
1:安装pyinstaller pip install pyinstaller 2,制作exe 1,先写一个hello.py print('hello world!') input() 2.执行(在s ...
- MySQL 全文检索 ngram Mybatis
创建全文索引(FullText index) 创建表的同时创建全文索引 FULLTEXT (name) WITH PARSER ngram 通过 alter table 的方式来添加 alter ta ...