昨日补充:

  1.在代码的编写中,总会有一些分支编写不出来,为了不影响整个系统的跑动,可以使用pass关键字进行跳过。如

count=0
while count<10:
if count<5:
print(count)
count+=1
else:
pass

  如果正常情况下else中的语句不写而开始运行时,会报错,通过pass可以使程序正常的跑起来。

  2.在range的使用中,可以通过第三参数进行步长定义,如

for i in range (1,10,2):
print(i)

  当步长设置为2时,i会成2倍迭代,使得原本输出的1-9 变成输出1-9的奇数。

今日内容

1.数据类型的用途,定义方法与常用函数操作。

  1.整型(int)

  用途:存整型数组,定义手机号qq号,身份证号等等。

  定义方法:

age=18
#age=(int)18

  这种数据类型的转换只在可转的范围内进行转换,像浮点型就不能向整型转化,这与c语言中有很大的不同:

a=int('')
b=int(23.12)

  像a中会输出int类型的123412,b则会报错,当字符串中出现了非数字,或浮点型的数字时也会报错。

  进制转化函数:

  十进制转化成二进制

d=bin(12)
#>>>ob1100
#ob后面表示后面的数字是二进制

  十进制转化成八进制

d=oct(12)
#>>>Oo14
#Oo后面表示八进制数

  十进制转化成十六进制

d=Hex(12)
#>>>Oxc
#Ox后面表示的数十六进制

  二进制,八进制,十六进制转化成十进制

print(int('',2))
print(int('20',8))
print(int('20',16))

  最后结果输出为‘2,16,32”,所以第二参数代表的是进制数,而第一参数所传递的值必须是以字符串形式。

  2.浮点型:

  作用:记录带有小数电的数据,如身高,体重等,比较精确。

  定义方法:

a=3.14
#a=float(3.14)

  浮点型数据的字符串也可转换为浮点型。

  3.字符串:

  用途:具有描述性的数据类型。

  定义方法:

str1='我是字符串1'
str2="我是字符串2"
str3='''我是字符串3'''

  以上三种都可以定义字符串。

  【1】按索引取值(正向取值和反向取值)

str1="abcdefg"
print(str1[1],str1[-1])

  在上述代码中,分别用正向取值和反向取值,取得的值风别为”b“和”g“

  【2】切片

  在字符串的操作中,可以取一个字符串的其中一段字符,如

str1="abcdefg"
print(str1[0:5:1])

  上述代码运行结果为”abcde“,0-5表示其取字符串的区间,1表示步长,即以每1个字符输出1个字符。

  在切片中,其可切方向可以是从右往左的,只要将区间从右往左设置,步长设置成向左遍历的负数即可,举个例子:

str1="abcdefg"
print(str1[6:0:-2])

  区间从6到1(左开右闭),步长为-2,其输出 结果应该是gec

  【3】长度

  用途:统计字符串中的字符的个数。

str1='我是字符串'
print(len(str1))

  运行结果为5,也就是字符串中的符号个数。

  【4】成员运算

  用途:判断一串字符串中是是否有相应的字符串:

print('lzx' in 'my name is lzx')
print('lzx' not in 'my name is lzx')

  第一个输出的是lzx是否在后面的字符中出现,运行结果显然是true,第二个输出的是lzx是不是不在后面的字符串,运行结果是false。

  【5】strip()

  用途:去掉字符串中两边的空格,保留中间的字符。

str3='    222     i am iron man   22222 '
print(str3.strip())
print(str3.strip(' 2 '))

  第一个输出的是连带2的字符串,默认的五给定值的strip函数是将两边的空格去除,而当给定了一些值后,就会根据内外去掉字符串两边的字符。

  在去除中时,python只会从外到内依次识别字符,如果中间有字符挡住了,不会越过该字符,去除工作也到此为止。例:

str1='!?<1314<?!'
str2='!?<1314<?}!'
print(str1.strip('!?<'),str2.strip('!?<'))

  str1完全清楚了多余的字符,而str2在去时被}符号挡住了,所以之前的全部不会识别到,算作中间字符。

  rstrip(),lstrip()分别为有清除与左清除,即在字符串的左右清除。

str1='!?<1314<?!'
str2='!?<1314<?!'
print(str1.lstrip('!?<'))
print(str1.rstrip('!?<'))
#1314<?!
#!?<1314

  结果一个去除了左边符号,一个去除了右边符号。

  【6】split()

  用途:用于按符号切分字符串,最终以列表的形式输出。例:

str1='www.baidu.com'
list1=str1.split(".")
print(list1)
#>>>['www', 'baidu', 'com']

  可以看split中的参数其实是对字符串按照什么符号进行分割,而输出的是列表。如果需要切割部分字符串,需要对其第二参数进行设置:

str1='www.baidu.com'
list2=str1.split('.',1)
print(list2)

  最后输出的结果是['www', 'baidu.com'],只对字符串进行了1次分割。

  rsplit.(),是将字符串从右到左分割,如果未选择指定分割次数,rsplit和split的效果是一样的。

  【7】循环

  使用for循环对字符串进依次赋值:

for i in '我叫lzx,来自江苏':
print(i)
#输出结果
# 我
# 叫
# l
# z
# x
# ,
# 来
# 自
# 江
# 苏

  需要掌握的:

  【1】strip,lstrip,rstrip

  【2】lower,upper

  用途:分别代表将字符串中全部小写,和全部大写

str2='i AM lZX,I love sTAkinG'
print(str2.lower())
print(str2.upper())
#输出结果>>>
i am lzx,i love staking
I AM LZX,I LOVE STAKING  

  【3】startswith,endswith

  用途:分别代表判断字符串是否以某个字母开始和结束。例:

str2='i AM lZX,I love sTAkinG'
print(str2.startswith('i'))
print(str2.endswith('i'))
#>>>输出结果
True
False

  【4】format(),三种占位方法:

  用途,相当于占位符。

  1.按位置占位。

str1="my name is {},my age is {}".format('lzx',18)
print(str1)
#输出结果
>>>my name is lzx,my age is 18

  这种占位方式与%占位符一样的占位方法。

  2.按索引占位

str1="my name is {0},my age is {1},{1},{1}".format('lzx',18)
print(str1)
#输入结果
>>>my name is lzx,my age is 18,18,18

  占位符中的数字代表的是format函数中列表相对应的数据,将其填入字符串中。

  3.关键字传参(指名道姓占位)

str1="my name is {name},my age is {age},{age},{age}".format(name='lzx',age=18)
print(str1)
#输入结果
>>>my name is lzx,my age is 18,18,18

  在占位符中输入关键字,再再后面的列表中寻找关键字中的值作为参数传递到字符串中,这种类似对 字典的索引方式叫关键字传参。

  【5】split,rsplit

  【6】join拼接

  这是一个字符串的操作,是用这个字符串拼接一个列表。

list4=['','','','','','']
str1='!'.join(list4)
print(str1)
输出结果>>>

12!123!412!123!21!12

  这里注意的是,被操作的列表其元素也需要是字符串类型,否则会报错。

  【7】replace()换

  用途:将字符串中的某个字符替换成另一个。

str2='my name is lzx ,l am from taizhou'
print(str2.replace('lzx','yzy'))

  【8】isdigit()

  用途:判断字符中包含的是否为纯数字。

str2='my name is lzx ,l am from taizhou'
print(str2.isdigit())
#输出结果
>>>False

需要了解的内置方法

  1.find,rfind

  用途:索引字符串里是否包含某个字符,,如果找到了,则返回它所在的位置,如果不存在,则返回-1.

str2='hello my name is lzx i am fine thankyou'
print(str2.find('my'),str2.find('your'))
print(str2.find('o',2,10))
#输出结果>>>6 -1
#4

  当给这个函数一个区间后就会在这个区间里检索存在与否。

  2.index,rindex

  与find用法一样,不同的是当它未检索到值时会报错

str2='hello my name is lzx i am fine thankyou'
print(str2.index('my'),str2.index('you'))
print(str2.index('o',2,10))
#输出结果>>>6 36 4

  3.count

  用途:统计字符出现的个数

str2='hello my name is lzx i am fine thankyou'
print(str2.count('i'))
#输出结果>>>3

  4.center,ljust,rjust,zfill

str1='s1'
str2='s2'
str3='s3'
str4='s4'
print(str1.center(20,'*'))
print(str2.ljust(20,'*'))
print(str3.rjust(20,'*'))
print(str4.zfill(20))
#输出结果>>>
# *********s1*********
# s2******************
# ******************s3
# 000000000000000000s4

  center(),将字符串剧中,其余部分用符号填上。

  ljust()将字符串左对齐,其余用符号填上。

  rjust()将字符串右对齐,其余用符号填上。

  zfill()将字符右对齐,其余用‘0’填上。

  3.expandtabs

  用途:将字符串中的\t转换成空格

str5='adl\tad'
print(str5)
print(str5.expandtabs(8))
#输出结果:
adl ad
adl ad

  4.captalize ,swapcase(),title()

str2='helLO woRLd'
print(str2.capitalize())
print(str2.swapcase())
print(str2.title())
#输出结果
#Hello world
#HELlo WOrlD
#Hello World

  captalize():字符串的首字母大写。

  swapcase():字符串大小写互换。

  title():字符串中每个单词首字母大写。

  5.is数字系列

  isnumber(),isdecimal(),isdigit(),

  num1=b'4' #bytes
  num2=u'4' #unicode,python3中无需加u就是unicode
  num3='壹' #中文数字
  num4='Ⅳ' #罗马数字
  # ''.isnumeric(): unicode,中文数字,罗马数字 只要是表示数字都识别
  print(num2.isnumeric())
  print(num3.isnumeric())
  print(num4.isnumeric())

  # ''.isdecimal(): unicode 只识别普通的阿拉伯数字
  print(num2.isdecimal())
  print(num3.isdecimal())
  print(num4.isdecimal())

  # ''.isdigit() :bytes,unicode 通常情况下使用isdigit就已经满足需求了
  print(num1.isdigit())
  print(num2.isdigit())
  print(num3.isdigit())
  print(num4.isdigit())

二、列表(list)

  list的内部原理就是for循环。

优先掌握的操作

  【1】按索引取值

list1=[1,2,3,4,5]
print(list1[0:5:2])
print(list1[0::])
#输出结果>>>[1, 3, 5]
#[1, 2, 3, 4, 5]

  如同切片一样。

  【2】切片,如上

  【3】长度

list1=[1,2,3,4,5,6]
print(len(list1))
#输出结果>>>6

  【4】成员运算

  in和not in

list1=[1,2,3,4,5]
print(444 in list1)

  在list1中检索444是否在。

  【5】往列表中添加元素

  1.append()

  用途:在尾部位置添加元素。

list1=[1,2,3,4,5]
list1.append("")
print(list1)

  最后输出[1, 2, 3, 4, 5, '4']

  2.insert()

  用途:通过检索在任意位置添加元素。

list1=[1,2,3,4,5]
list1.insert(2,'')
print(list1)
#输出结果为>>>[1, 2, '20', 3, 4, 5]

  3.extend()

  用途:将其中的元素变成列表添加至最后。

  其中list必须是list类

list1=[1,2,3,4,5]
list1.extend([1,2,3])
print(list1)
#输出结果为>>>[1, 2, 3, 4, 5, 1, 2, 3]

  6.删除

    1.del list[x],删除list中的x位置的数据。

    del适用于所有类型的数据。

    2.list.pop() 从尾部依次弹出

list2=[1,2,3,4,5,6,7,8]
a=list2.pop()
print(a)
#输出结果>>>8

    弹出的值可以被作为最后一次利用。除此之外还可以索引后弹出相应的数据

list2=[1,2,3,4,5,6,7,8]
a=list2.pop(2)
print(a)
#输出结果>>>3

    7.remove(a) 删除啊,所在的数据

    此删除pop不同的是remove不能再次对数据进行利用。

list2=[1,2,3,4,5,6,7,8]
list2.remove(2)
print(list2)
#输出结果>>>[1, 3, 4, 5, 6, 7, 8]

    8,列表的循环

for i in list2:
print(i)
#输出结果:
#
#
#
#
#
#
#
#

  

day5_7.3 数据类型的各种函数操作的更多相关文章

  1. Python成长之路第二篇(1)_数据类型内置函数用法

    数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...

  2. 第33讲:List的一阶函数操作代码实战详解

    今天来看一下关于List的一阶函数操作 让我们看下下面的代码 println(List(1,2,3,4):::List(4,5,6,7,8):::List(10,11))//列表连接    print ...

  3. Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

    原文地址: Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET http://blog.csdn.net/fen ...

  4. scala集合和高级函数操作

    scala常用函数操作 reduceLeft   是将集合的元素从左向右进行所需要的相应操作,图以减法为例展示,表达的算法是 : 1-2-3-4-5 例: (1 to 5).reduceLeft(_ ...

  5. MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作)

    MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作): a.创建2张表 create table userinfo(nid int not nul ...

  6. C语言对函数操作的结果声明

    可以用来返回给调用者函数操作的状态值. /* 这是一份关于函数返回值定义的头文件. */ #ifndef _STATUS_H_ #define _STATUS_H_ #define STATUS in ...

  7. Trident中的解析包含的函数操作与投影操作

    一:函数操作 1.介绍 Tuple本身是不可变的 Function只是在原有的基础上追加新的tuple 2.说明 如果原来的字段是log,flag 新增之后的tuple可以访问这些字段,log,fla ...

  8. Python学习-字符串函数操作3

    字符串函数操作 isprintable():判断一个字符串中所有字符是否都是可打印字符的. 与isspace()函数很相似 如果字符串中的所有字符都是可打印的字符或字符串为空返回 True,否则返回 ...

  9. Python学习-字符串函数操作2

    字符串函数操作 find( sub, start=None, end=None):从左到右开始查找目标子序列,找到了结束查找返回下标值,没找到返回 -1 sub:需要查找的字符串 start=None ...

随机推荐

  1. Spring Boot 2.2.1 正式发布,需特别注意这个注解的使用!

    Spring Boot 2.2.1 已于2019年11月7日正式发布. 该版本内容包含110项修复.改进和依赖升级. 如果开发者要从Spring Boot 2.2.0升级到2.2.1的话,这里要特别注 ...

  2. CF1178D Prime Graph

    题目链接 题意 构造一张有\(n(3\le n\le 1000)\)个点的无向图(无重边和自环).满足: 边的总数为素数 所有点的度数均为素数 输出方案 solution 如果所有点的度数确定了.那么 ...

  3. webpack-dev-server 不是内部或外部命令,也不是可运行的程序 解决方案

    我看了网上的 一些解决方案,说是webpack版本不对,但我按照提示操作后依然不行: 要先确认是否安装了webpack-dev-server,如果没有安装,安装便可以解决: 粗暴的解决方案是删除nod ...

  4. mongodb 导出制定的查询结果

    1.mongo查询语句: db.quarkContext.find({"submitTime":{"$gt":ISODate("2019-07-13T ...

  5. IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁

    [来源申明]本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:<中国通信的百年沉浮>,本文引用时已征得原作者同意.为了更好的内容呈现,即时通讯网在收录时内容有 ...

  6. 数据迁移最快方式,多线程并行执行 Sql插入

    前言: 由于系统升级,新开发的系统对数据验证,及数据关联做了很多优化,现需要将原历史版本的数据迁移到新系统中:原数据库大约有 1千多万数据,大约 50个表. 历史数据库命名为:A. 新系统库暂命名为 ...

  7. date——系统时间的命令

    这是一个可以用各种姿势获得各种时间的命令.最近在写自动化定时脚本时学了一下. 参考:https://www.cnblogs.com/ginvip/p/6357378.html 比如: 利用cronta ...

  8. Prometheus 监控领域最锋利的“瑞士军刀”

    原文:https://mp.weixin.qq.com/s/Cujn6_4w8ZcXCOWpoAStvQ 一.Kubernetes 容器监控的标配—Prometheus 1.简介 Prometheus ...

  9. kali渗透综合靶机(十一)--BSides-Vancouver靶机

    kali渗透综合靶机(十一)--BSides-Vancouver靶机 靶机下载地址:https://pan.baidu.com/s/1s2ajnWHNVS_NZfnAjGpEvw 一.主机发现 1.n ...

  10. WPF ControlTemplate,DataTemplate

    The Control Template defines the visual appearance of a control. All of the UI elements have some ki ...