第四篇:基本数据类型及用法(1)

字符串(str型)

-可以做加法,乘法

乘法例:

n1="alex"
n2=n1*3
print(n2)
#结果:alexalexalex

-首字母大写: capitalize()

-所有字母变小写: casefold()、lower()

  #casefold更牛,很多未知的对应关系也可以变小写

-所有字母变大写:upper()
-判断字符串是否都是大写,小写:isupper(),islower()
-大小写转换,大写变小写,小写变大写:swapcase()
-去除字符串空白,左边空白,右边空白:strip(),lstrip(),rstrip()
-去除字符串左边,右边指定内容:lstrip("str"),rstrip("str")
  #str的内容可以分段与字符串匹配,先尽量去除多的子字符串

例:

1 test = "abclinda"
2 v = test.rstrip("3dar4lin")
3 print(v)
4 #结果:abc

-相当于设置宽度,并将内容居中: center(width,fillchar=None)
 #参数width必须给,fillchar可以不给,默认none

例:

1 test="abc"
2 v=test.center(10,'*')
3 print(v)
4 #结果:***abc****

-相当于设置宽度,并将内容左置: ljust(width,fillchar=None)

例:

1 test="abc"
2 v=test.center(10,'*')
3 print(v)
4 #结果:***abc****

-相当于设置宽度,并将内容右置: rjust(width,fillchar=None)

例:

1 test="abc"
2 v=test.rjust(10,'*')
3 print(v)
4 #结果:*******abc

-统计字符串中子串出现的次数: count(substr,start,end)
#从start开始到end之间子串substr出现的次数
-判断从start位置开始到end位置,是否以suffix结尾:   endswith(suffix,start,end)
-判断从start位置开始到end位置,是否以prefix开头:     startswith(prefix,start,end)
-从开始往后找找到第一个子串,获取其位置:find(substr,start,end)
-格式化,将字符串中的占位符替换为指定的值:format(args1,args2)
例1:

1 test="i am {name},age {a}"
2 print(test)
3 v=test.format(name="hm",a=25)
4 print(v)
5 #结果:i am {name},age {a}
6 #    i am hm,age 25

例2:

1 test="i am {0},age {1}"
2 print(test)
3 v=test.format("hm",25)
4 print(v)
5 #结果:i am {0},age {1}
6 #    i am hm,age 25

例3:

1 test="i am {name},age {a}"
2 print(test)
3 v=test.format_map({"name":"hm","a":25})
4 print(v)
5 #结果:i am {name},age {a}
6 #    i am hm,age 25

-判断字符串中是否只包含字母或数字:isalnum()
-判断字符串中是否只包含字母(包括汉字):isalpha()
-以\t为分界,num个字符为一组,不满num个的用空格填充:expandtabs(num)

例:

test="612345\t789\t987"
v=test.expandtabs(5)
print(v,len(v))
#结果:612345    789  987 18

-判断字符串输入的是否是数字:isdecimal()、isdigit()、isnumeric()
例:

1 test=""
2 v1=test.isdecimal()
3 #识别十进制数字
4 v2=test.isdigit()
5 #特殊字符数字(③)也能识别
6 v3=test.isnumeric()
7 #特殊字符数字,汉字数字都能识别
8 print(v1,v2,v3)
9 #结果:False False True

-判断字符串是否是标识符:isidentifier()
-判断字符串是否可以被print:isprintable()
 #字符串中存在不可显示的字符时,比如转义符\n \t等,结果就是false
-判断字符串是否全是空格:isspace()
-转换成标题形式,及每个单词首字母大写:title()
-判断字符串是否是标题:istitle()
-字符串test每个字符中间插入间隔符t: t.join(test)

例:

1 test="12你是猪头bb"
2 t='_'
3 v=t.join(test)
4 print(v)
5 #结果:1_2_你_是_猪_头_b_b

-字符串中某些字符str1替换成指定字符str2:maketrans(str1,str2) &translate()
例:

1 m=str.maketrans("我做饭1","你炒菜2")
2 v = "我不做今天饭1"
3 new_v=v.translate(m)
4 print(new_v)
5 #结果:你不炒今天菜2

-用str2替换字符串中的某些字符str1:replace(str1,str2,num)
 #num表替换次数

例:

1 test="1abcabcabc2"
2 v=test.replace("bc","AA",2)
3 print(v)
4 #结果:1aAAaAAabc2

-从左起第一个指定字符分割字符串:partition("str")
 从右起第一个指定字符分割字符串:rpartition("str")
例:

1 test="sr3abcdea1242"
2 v=test.partition("a")
3 print(v)
4 #结果:('sr3', 'a', 'bcdea1242')

-按指定字符分割字符串,分割次数可以设置,但指定字符会丢失:split('str',num)
例:

1 test="sr3abcdae4a123"
2 v=test.split("a",2)
3 print(v)
4 #结果:['sr3', 'bcd', 'e4a123']

-根据换行符\n分割字符串,参数True,False表是否保留换行符:splitline(args)
例:

1 test="sr3ab\ncdae\n4a123"
2 v=test.splitlines(True)
3 print(v)
4 #结果:['sr3ab\n', 'cdae\n', '4a123']

-获取字符串指定位置的字符:str[num] (索引的概念)
-获取指定索引范围内的字符:str[num1:num2] (切片的概念)
 #num1取得到,num2取不到
 #str[0:-1]表示:-1表示右起第一位数

-获取字符串中的字符数:len(str) #python3中一个汉字就是一个字符
-遍历字符串中每个字符可以用for循环:
例:

 1 test="蓝天白云ab12"
 2 for v in test:
 3     print(v)
 4 #结果:
 5 #
 6 #
 7 #
 8 #
 9 # a
10 # b
11 # 1
12 # 2

 

数字

-在python3里没有范围限制,int型
-可以加(+),减(-),乘(*),除(/),乘方(**),求余(%),取商整数部分(//)
-类型转换
例1:字符串转换为数字类型

1 a="123"
2 b=int(a)
3 print(type(b),b)
4 # 结果:<class 'int'> 123

例2:字符串按指定进制转换成数字类型

1 num="a"
2 v=int(num,base=16)
3 print(v)
4 #结果:10

例3:数字转换成字符串类型

1 a=123
2 b=str(a)
3 print(b)
4 #结果:123

-数字的长度(当前数字的二进制至少用位表示)
例:

1 age=10
2 v=age.bit_length()
3 print(v)
4 #结果:4

 

布尔值,bool型:True、Flase

字符串 "" =>Flase     " "=>True
数字 0 =>Flase     其他 =>True

 

列表list

1.列表中的元素可以是字符串、数字、bool值、列表...
 a.索引可取值
 b.切片仍是列表
 c.支持for循环,while循环
 d.列表元素可以被修改,被删除
例:del li(2)/del li[1:3]

2.类型转换
a.字符串转列表
例:

1 s = "wqdf"
2 new_s=list(s)
3 print(new_s)
4 #结果:['w', 'q', 'd', 'f']

b.列表转换成字符串
-列表里既有数字又有字符串时,用for循环
例:

1 li=[12,23,"ab"]
2 s=""
3 for i in li:
4     s=s+str(i)
5 print(s)
6 #结果:1223ab

-列表中只有字符串时,直接使用字符串的joi方法
例:

1 li=["1aa2b","ab"]
2 v="".join(li)
3 print(v)
4 #结果:1aa2bab

3.在list最后追加元素:append(args)
4.清空list:clear()
5.拷贝:copy()
6.计算列表中某元素出现次数:count(args)
7.扩展原列表:extend(li)
*li是字符串会或列表或元祖等可迭代对象,li中每个元素作为新元素追加到原列表中
8.查找某元素的索引:index(args)
*最左边优先
9.在指定索引位置插入元素:insert(location,args)

10.删除指定索引的元素,并可以获取到该元素:v=pop(index)
*index不指定时,默认删除最后一个元素
11.删除指定元素:remove(value)
12.给列表排序
-从小到大:li.sort()
-从大到小:li.sort(reverse=True)

 

元祖tuple

1.元祖的一级元素不可增删改
2.元祖的元素可以是数字,字符串,bool值,列表
3.推荐在元祖最后一个元素后加逗号,用以与方法区分
例:tu=(12,21,"a",True,[1,"a"],)
4.索引可取值
5.切片也可取值,仍是元祖
6.可以for循环(可迭代对象)
7.类型转换
a.字符串转换成元祖
b.列表可转换成元祖
c.元祖可转换成列表
d.元祖转换成字符串
-元祖中只包含字符串元素,可用join()方法转换成字符串
-元素中包含字符串与数字等元素,用for循环转换成字符串
8.获取元素在元祖中出现的次数:count(value)
9.获取元素在元祖中的索引位置(最左边的优先):index(value)

 

转载于:https://www.cnblogs.com/hm-blog/p/9879593.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio 错误集

错误列表与解决方案: 1.Android studio Gradle project sync failed Android studio 构建项目出错 Error:Unable to start the daemon process: could not reserve enough space for object heap.Please assign more memory to Gradle in the projects gradle.properties file.…

需求简报_代码简报:我如何通过做自己喜欢的事情来获得顶级技术实习

需求简报Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事&#xff1a; How I landed a top-tier tech internship by doing something I love: 7 minute read 我如何通过做自己喜欢的事情获得一流的技术实习…

review what i studied `date` - 2017-3-31

在11 月份内&#xff0c;每天的早上6 点到12 点中&#xff0c;每隔2 小时执行一次/usr/bin/httpd.sh 怎么实现0 6-12/2 * 11 * /usr/bin/httpd.shNginx中的ip_hash是指讲一个地址的请求永久分发至后端的一台RealServer&#xff0c;直至这台RealServer宕机Zabbix和Nagios的工作原…

java string转long报错_java.lang.Integer cannot be cast to java.lang.Long解决办法

你好我是辰兮&#xff0c;本次是项目遇到的java.lang.Integer cannot be cast to java.lang.Long异常以及相对应的解决方案。文章目录一、实战问题用postman测试数据报错&#xff0c;类型转换异常&#xff01;如何将Integer类型转换成长整形 &#xff1f;先转成String型&#x…

pyqt 界面关闭信号_木辛老师的编程课堂之Python和Qt实战慕课软件开发:增加关闭按钮...

软件实战开始&#xff0c;快速提供编程能力&#xff1b;通过实战&#xff0c;分析产品需求&#xff0c;梳理设计需求&#xff0c;提升项目分析和架构的能力。快点跟着木辛老师一起学习吧&#xff01;请点击右上角“关注”按钮关注我们哟&#xff1a;跟着木辛老师学习Python编程…

从零开始nodejs系列文章

http://blog.fens.me/series-nodejs/转载于:https://www.cnblogs.com/chinafbi/p/5394482.html

Leetcode589.N-ary Tree Preorder TraversalN叉树的前序遍历

给定一个 N 叉树&#xff0c;返回其节点值的前序遍历。 class Node { public:int val;vector<Node*> children;Node() {}Node(int _val, vector<Node*> _children) {val _val;children _children;} };//递归 class Solution { public:vector<int> res;vect…

打破双亲委派么,怎么打破_质量保证被打破。 这就是我们如何使其像其他所有东西一样敏捷。...

打破双亲委派么,怎么打破by Derwin由Derwin 质量保证被打破。 这就是我们如何使其像其他所有东西一样敏捷。 (Quality Assurance is broken. Here’s how we can make it as agile as everything else.) Process is the key to great software.过程是出色软件的关键。 In gen…

android java.lang.linkageerror_使用eclipse中的maven构建web应用出现 java.lang.LinkageError异常...

▒▒▒▒: Servlet.service() for servlet [jsp] in context with path [/webdemo] threw exception [java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different typ…

android 键盘遮盖输入框_Android软键盘挡住输入框的终极解决方案

前言开发做得久了&#xff0c;总免不了会遇到各种坑。而在Android开发的路上&#xff0c;『软键盘挡住了输入框』这个坑&#xff0c;可谓是一个旷日持久的巨坑——来来来&#xff0c;我们慢慢看。入门篇最基本的情况&#xff0c;如图所示&#xff1a;在页面底部有一个EditText&…

最全面的几何画板实用教程视频免费下载

不同的选择就会有不同的人生夜&#xff0c;这里小编为奋斗在教学一线的老师们送个大福利&#xff0c;这也是老师们充实自己的好去处。作为数学老师一枚&#xff0c;在平时的教学中应该用到很多教学辅助软件&#xff0c;而几何画板就是其中一款。众所周知&#xff0c;几何画板是…

Redis(1):简介

2019独角兽企业重金招聘Python工程师标准>>> Redis之父Salvatore Sanfilippo于2009年将Redis开源。VMware公司从2010年开始赞助Redis的开发&#xff0c;Salvatore Sanfilippo和Pieter Noordhuis(另一名主要的代码贡献者)同年加入VMware&#xff0c;全职开发Redis。R…

小程序服务器域名5次_为什么您不应该在100美元的服务器上用5天的时间构建面向500,000个用户的应用程序...

小程序服务器域名5次by Howard Lo霍华德罗 为什么您不应该在100美元的服务器上用5天的时间构建面向500,000个用户的应用程序 (Why you shouldn’t build an app aimed at 500,000 users in 5 days on a $100 server) A few days ago, I read Erik Duindam’s “How I built an…

tp5 异步处理_tp5框架ajax异步添加数据的代码实现

本篇文章给大家带来的内容是关于tp5框架ajax异步添加数据的代码实现&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。ajax异步无刷新处理数据的用户体验还是不错的&#xff0c;在我们的项目开发中算是经常使用到的一个知识点。…

java中类型转换的造型_Java总结篇系列:类型转换/造型

Java中&#xff0c;经常可以遇到类型转换的场景&#xff0c;从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等&#xff0c;随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。首先&#xff0c;来了解下数据类型的基本理解&…

Google Maps API V3 之 路线服务

Google官方教程&#xff1a; Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 之控件 Google 地图 API V3 之 叠加层 Google Maps API V3 之绘图库 信息窗口 Google Maps API V3 之 图层 Google Maps API …

day 04 作业 循环和分之

# 读程序&#xff0c;总结程序的功能:"""1.求2 的20次方numbers1for i in range(0,20):numbers*2print(numbers)2.求100以内能整除3 或 7的数&#xff0c;并21不能整除的数summation 0num 1while num<100: if (num%30 or num%70) and num%21!0: …

Mysql数据库多实例配置

二进制安装&#xff1a; [rootlufengcentos ~]# mkdir /home/lufeng/tools -p [rootlufengcentos ~]# cd /home/lufeng/tools [rootlufengcentos tools]# rz [rootlufengcentos tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz [rootlufengcentos tools]# mkdir -p /ap…

了解ES6 The Dope Way第三部分:模板文字,扩展运算符和生成器!

by Mariya Diminsky通过玛丽亚迪明斯基(Mariya Diminsky) 了解ES6 The Dope Way第三部分&#xff1a;模板文字&#xff0c;扩展运算符和生成器&#xff01; (Learn ES6 The Dope Way Part III: Template Literals, Spread Operators, and Generators!) Welcome to Part III of…

Jenkins --SVN

项目名称&#xff1a;XXX 源码管理&#xff1a; None 发布之前&#xff0c;获取源码 编译获取后的代码&#xff0c;指定vs版本 将源码拷贝至jenkins工作控件 d:\jenkins\workspace\.. 删除指定文件 用管理员命令 将Jenkins工作空间的代码发布至指定路径转载于:https://www.cnbl…