分分钟钟学会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 数据加密代码
下一篇: Python类的基础入门知识
推荐阅读
-
3分钟学会一个Python小技巧
-
Python【day 15】基本数据类型-int str bool list
-
Python基础一: 计算机基础,Python相关介绍,变量,常量,注释,基础数据类型(int,str,bool),用户交互input,流程控制语句if
-
分分钟钟学会Python - 数据类型(list、tuple)
-
分分钟钟学会Python - 数据类型(int、bool、str)
-
python基本数据类型,int,bool,str
-
3分钟学会一个Python小技巧
-
Python + worldcloud + jieba 十分钟学会用任意中文文本生成词云
-
分分钟钟学会Python - 数据类型(列表、元祖)
-
五分钟学会Python 模块和包、文件