分分钟钟学会Python - 数据类型(int、bool、str)
第三天学习内容
今日内容
1、整型(int)
2、布尔类型(bool)
3、字符串(str)
内容详细
1、整型
Python中的整型用int表示。
1.python2中:
在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807
超出长度之后就会变为long类型。
2.python3中:
- 只有int,所有数字都是int类型。
注意:在python2中使用除法时,只能保留整数位,如果想要保留小数位,可以先导入一个模块。
from __future__ import division
value = 3/2
print(value)
2、布尔值(bool)
- 只有两个值:True/False
- 转换
- 数字转布尔:0是False,其他都是True
- 字符串转布尔:“”是False,其他都是True
3、 字符串(str/string)
1.字符串特有功能
1.upper() #全部大写
.lower()#全部小写
# 示例一 a = "ascd" b = a.upper() print(a,b) # ascd ASCD # 示例二 a = "ABCD" b = a.lower() print(a,b) # ABCD abcd
2.isdigit() #字符串是否数字组成
# 示例一 a = "ABCD" b = a.isdigit() print(a,b) # ABCD False # 示例二 a = "123" b = a.isdigit() print(a,b) # 123 True
3.strip() #去除两边空格
.lstrip() #去除左边空格
.rstrip()#去除左边空格
# 示例一 a = " 123 " b = a.strip() print(">>%s<<,"%(a),">>%s<<,"%(b)) # >> 123 <<, >>123<<, # 示例二 a = " 123 " b = a.lstrip() print(">>%s<<,"%(a),">>%s<<,"%(b)) # >> 123 <<, >>123 <<, # 示例三 a = " 123 " b = a.rsplit() print(">>%s<<,"%(a),">>%s<<,"%(b))#>> 123 <<, >> 123<<,<<,
4.replace("被替换的字符/子序列","要替换为的内容") .
replace("被替换的字符/子序列","要替换为的内容",几次)。
# 示例一 a = "abc23" b = a.replace("ab","12") print(b) # 12c23 # 示例二 a = "abc23abab" b = a.replace("ab","12",2) print(b) # 12c2312ab
5.split('根据什么东西进行分割') #从左往右分割
.split('根据什么东西进行分割', 几次) #从左往右分割
. rsplit('根据什么东西进行分割') #从右往左分割
. rsplit('根据什么东西进行分割', 几次) #从右往左分割
# 示例一 a = "abc23abab" b = a.split("b") print(b) # ['ab', '23abab'] #['a', 'c23a', 'a', ''] # 示例二 a = "abc23abab" b = a.split("b",2) print(b) # ['a', 'c23a', 'ab'] # 示例三 a = "abc23abab" b = a.rsplit("b") print(b) # ['a', 'c23a', 'a', ''] # 示例三 a = "abc23abab" b = a.rsplit("b",2) print(b) # ['abc23a', 'a', '']
6.startswith() # 判断是否以什么开头
.endswith() #判断是否以什么结尾
# 示例一 a = "abc23abab" b = a.startswith("a") print(b) # True # 示例二 a = "abc23abab" b = a.endswith("b") print(b) # True
7.format # 字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
a = "{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 print(a) # 'hello world' a = "{0} {1}".format("hello", "world") # 设置指定位置 print(a) # 'hello world' a = "{1} {0} {1}".format("hello", "world") # 设置指定位置 print(a) # 'world hello world'
8.encode() # 指定的编码格式编码字符串
name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。 v1 = name.encode('utf-8') print(v1) v2 = name.encode('gbk') # b'\xe6\x9d\x8e\xe6\x9d\xb0' b为字节 print(v2) # b'\xc0\xee\xbd\xdc'
9.join() # 将序列中的元素以指定的字符连接生成一个新的字符串。
name = 'abcd' # a_b_c_d result = "+".join(name) # 循环每个元素,并在元素和元素之间加入连接符。 print(result) # a+b+c+d
2.公共功能
len,计算长度(计算字符串中字符的数量)
value = "alex" number = len(value) print(number)
索引取值(0位起始点)
v = "oldboy" v1 = v[0] # 0 1 2 3 ...从前往后看 v2 = v[-1] # -1 -2 -3 ...从后往前
切片 (0作为开始)
v = "oldboy" v1 = v[2:4] # 2<= 索引位置 < 4 v2 = v[3:6] # 3<= 索引位置 <= 5 v2 = v[3:-1] # 3<= 索引位置 < 5 v2 = v[3:] # 3<= 索引位置 <最后 v2 = v[:-1] # 第一位 索引位置 <= 5 print(v2)
- 步长(面试题) #按区间取值
# 示例一 name = 'abcde' val = name[0:-1:2] print(val) # ac # 示例二 name = 'abcde' val = name[::-1] print(val) # edcba
for循环
name = 'abcde' for item in name: print(item) # 依次打印name里每个元素
range # 创建一个整数列表,一般用在 for 循环中。
for i in range(1,11): if i == 7: pass else: print(i) # 1 2 3 4 5 6 8 9 10
3.特性
- 不可变,所以字符串元素不能删除和修改
4、练习题
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# 第一题 有变量name = "aleX leNb " 完成如下操作:
name = "aleX leNb "
name_new = name.strip()
# 移除 name 变量对应的值两边的空格,并输出处理结果
print(name_new)
name_new = name[0:2]
# 判断 name 变量是否以 "al" 开头,并输出结果(用切片)
if name_new == 'al':
print(name_new)
name_new = name[-2:]
# 判断name变量是否以"Nb"结尾,并输出结果(用切片)
if name_new == 'Nb':
print(name_new)
name_new = name.replace('l','p')
# 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
print(name_new)
name_new = name.split('l')
# 将 name 变量对应的值根据 所有的"l" 分割,并输出结果
print(name_new)
name_new = name.split('l',1)
# 将name变量对应的值根据第一个"l"分割,并输出结果
print(name_new)
name_new = name.lower()
# 将 name 变量对应的值变小写,并输出结果
print(name_new)
name_new = name[1:2]
# 请输出 name 变量对应的值的第 2 个字符?
print(name_new)
name_new = name[0:3]
# 请输出 name 变量对应的值的前 3 个字符?
print(name_new)
name_new = name[-2:]
# 请输出 name 变量对应的值的后 2 个字符?
print(name_new)
#第二题 有字符串s = "123a4b5c"
s = "123a4b5c"
s_new = s[0:3]
# 通过对s切片形成新的字符串 "123"
print(s_new)
s_new = s[3:6]
# 通过对s切片形成新的字符串 "a4b"
print(s_new)
s5 = s[-1:]
# 通过对s切片形成字符串s5,s5 = "c"
print(s5)
d = s[-3] + s[3] + s[1]
# 通过对s切片形成字符串s6,s6 = "ba2"
print(d)
# 第三题 使用while循环字符串 s="asdfer" 中每个元素。
s="asdfer"
a = int(len(s)) #计算s的长度
b = 0
while b<a:
c = s[b]
print(c)
b +=1
# 第四题 使用while循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
s="321"
a = int(len(s)) #计算s的长度
b = 0
while b<a: #循环
c = s[b] #一次打印索引
print("倒计时%s秒"%(c))
b +=1
print("出发!")
# 第五题 实现一个整数加法计算器(两个数相加)
# 如:content = input("请输入内容:")
# 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。
content = input("请输入内容:") #先输入内容
a = content.strip()
b = a[0:1]
c = a[-1:]
d = int(b)+int(c)
print(d)
# 第六题 计算用户输入的内容中有几个 h 字符?
# 如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla
s=input("请输入内容:")
a = int(len(s)) #计算s的长度
b = 0
d = 0
while b<a: #循环
c = s[b] #一次打印索引
if c == 'h':
d = d + 1
b +=1
print(d)
# 第七题 计算用户输入的内容中有几个 h 或 H 字符?
# 如:content = input("请输入内容:") # 如fhdal234slfH9H769fjdla
s=input("请输入内容:")
a = int(len(s)) #计算s的长度
b = 0
d = 0
while b<a: #循环
c = s[b] #依次打印索引
e = c.upper() #强制转换为大写
if e == 'H': #判断索引是否为 H
d = d + 1
b +=1
print(d)
# 第八题 使用while循环分别正向和反向对字符串 message = "伤情最是晚凉天,憔悴厮人不堪言。" 进行打印。
#message = "伤情最是晚凉天,憔悴厮人不堪言。"
# 正向
s=input("请输入内容:")
a = int(len(s)) #计算s的长度
b = 0
while b < a:
c = s[b]
print(c)
b = b + 1
#反向
s=input("请输入内容:")
a = -int(len(s)) #计算s的长度
b = -1
while b > a:
c = s[b]
print(c)
b = b - 1
# 第九题 获取用户输入的内容中 前4个字符中 有几个 A ?
s=input("请输入内容:")
a = 0
d = 0
while a<4: #循环
c = s[a] #一次打印索引
if c == 'A':
d = d + 1
a +=1
print(d)
# 第十题 获取用户输入的内容,并计算前四位"l"出现几次,并输出结果。
s=input("请输入内容:")
a = 0
d = 0
while a<4: #循环
c = s[a] #一次打印索引
if c == 'l':
d = d + 1
a +=1
print(d)
# 第十一题 获取用户两次输入的内容,并将所有的数据获取并进行相加,如:
# 要求:
# 将num1中的的所有数字找到并拼接起来:1232312
# 将num1中的的所有数字找到并拼接起来:1218323
# 然后将两个数字进行相加。
# num1 = input("请输入:") # asdfd123sf2312
# num2 = input("请输入:") # a12dfd183sf23
# # 请补充代码
num1 = input("请输入:")
num2 = input("请输入:")
a = len(num1)
b = len(num2)
c = 0
d = 0
while c < a:
e1 = num1[c]
f1 = e1.isdigit()
if f1 == True:
g1 += f1
else:
pass
c += 1
while d < b:
e2 = num2[d]
f2 = e2.isdigit()
if f2 == True:
g2 += f2
else:
pass
d += 1
print(g1 + g2)
分分钟钟学会Python - 数据类型(int、bool、str)的更多相关文章
- 分分钟钟学会Python - 数据类型(list、tuple)
第四节 数据类型(列表.元祖) 今日内容 列表 元祖 1.列表 1.格式 users = ["ji",1,3,"gyhj"] 2.公共方法 1.len #计算长 ...
- 分分钟钟学会Python - 数据类型(set)
目录 今日内容 具体内容 1.集合含义 2.独有方法 3.公共方法 4.特殊情况 5.总结 @ 今日内容 集合(set) 具体内容 1.集合含义 一个无序的不重复元素序列. 可以使用大括号 { } 或 ...
- 分分钟钟学会Python - 数据类型(dict)
今日内容 字典(dict) 具体内容 1.字典含义 帮助用户去表示一个事物的信息(事物是有多个属性). 基本格式 data = {键:值,键:值,键:值,键:值,键:值,键:值,} # 练习题 use ...
- 基本数据类型int,bool,str
.基本数据类型(int,bool,str) 基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放大 ...
- day3------基本数据类型int, bool, str,list,tuple,dict
基本数据类型(int, bool, str,list,tuple,dict) 一.python基本数据类型 1. int 整数. 主要用来进行数学运算 2. str 字符串, 可以保存少量数据并进 ...
- 第三天-基本数据类型 int bool str
# python基础数据类型 # 1. int 整数 # 2.str 字符串.不会用字符串保存大量的数据 # 3.bool 布尔值. True, False # 4.list 列表(重点) 存放大量的 ...
- 基本数据类型(int,bool,str)
目录: 1.int 数字类型 2.bool 布尔值 3.str 字符串类型 一.整型(int) 在python3中所有的整数都是int类型.但在python2中如果数据量 ...
- python中的基本数据类型(int,bool,str)及字符串操作
一. 基本数据类型概况 1. int 整数,主要用来进行数学运算 2. str 字符串,可以保存少量数据并进行相应的操作 3. bool 布尔值,判断真假,True,False 4. list ...
- python基本数据类型,int,bool,str
一丶python基本数据类型 1.int 整数,主要用来进行数学运算. 2.str 字符串,可以保存少量数据并进行相应的操作 3.bool 判断真假.True.False 4.list 存储大量数据, ...
随机推荐
- libxml2
http://www.xmlsoft.org/downloads.html 建议直接用openscenegraph下载的3rdparty:http://www.openscenegraph.org ...
- C++11中的tuple应用:让函数返回多个值
在没有tuple之前,如果函数需要返回多个值,则必须定义一个结构体,有了C++11,可以基于tuple直接做了,下面是个示例: // 编译:g++ -std=c++11 -g -o x x.cpp # ...
- WCF服务编程 读书笔记——第1章 WCF基础(2)
续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...
- 编写高质量代码改善C#程序的157个建议——建议108:将类型标识为sealed
建议108:将类型标识为sealed sealed能够阻止类型被其他类型继承.代码如下: sealed class SampleClass { } class OtherClass : SampleC ...
- spring mvc注解@RequestMapping
1.url路径映射 基本功能 2.窄化请求映射 根路径+子路径 注意setViewName的路径. 3.限制http请求方法 get和 post 如果是get
- 长时间停留在calculating requirements and dependencies
如果安装插件的时候,Eclipse花费了很长的时间calculating requirements and dependencies(计算需求和依赖性 )这个问题通常就是在点击安装之后显示“Calcu ...
- 关于validate的自定义样式
$("#Form").validate({ rules: { name: "required" }, messages: { name: "请输入您的 ...
- 深入理解java虚拟机(八)类加载过程详解
类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation).解析(Resolution).初始化(In ...
- ListControl的用法
ListControl 控件可在窗体中管理和显示列 表项.可控制列表内容的显示方式,能够以图标和表格的形式显示数据.打开ListControl控件的属性窗口,在Styles选项卡中的View属性中 可 ...
- [Erlang01] 使用catch与try catch避免嵌套nest_case
catch 如此好用,为什么官方还是推荐用try catch? 1. catch 的用法非常简单: catch case do_check(Test) of {ok,Result} -> do_ ...