Python笔记--数值类型、字符串类型、布尔类型

一、数值类型

1.整型

int既是类型,又是转换函数

#运行结果为3
print(int(3.2))

2.浮点型

float浮点型采用二进制存储,数值不确定

#运行结果0.7000000000000001
print(1-0.1-0.1-0.1)

float既是类型,又是转换函数

#运行结果为3.0
print(float(3))

decimal类型数值精确

from decimal import Decimal
mydec = Decimal("3.22")
mydec = Decimal(3.22)
#type()函数输出变量类型
print(mydec, type(mydec))

 3.复数

a = -5 + 4j
print(f"a的实部为{a.real}")
print(f"a的虚部为{a.imag}")
print(f"a的类型为{type(a)}")

 二、字符串类型

1.定义

#定义--单引号,双引号,三引号
str1 = 'abc'
str2 = "xyz"
#使用三引号定义可以换行
str3 = """
hello
world
"""

str()也属于内建函数 -- 类型转换函数

建议:不要把内建函数作为变量名,若使用内建函数名作为变量名,这个函数就无法使用了

str = '100'
str(123)
print(str)

 2.转义字符

转义字符:一般以\开头

# 输出\本身后面要加空格或者输出\\
print("\ ")
print("\\")
# \"就表示"本身
print("\"")
# \a表示响铃
print("\a")
# \n表示换行
print("a\nb")
# \t为制表符
print("a\tb")
# r为原始标记位,表示字符串中不转义
print(r"a\tb")

3.字符串的切片处理

 str[start:end:step]:

        1.start表示起始位置,end表示截止位置,但切片处理时包括起始位置start,不包括截止位置end

        2.step为步长,默认为1。若step为正,则从前往后截取;若step为负,则从后往前截取

        3.字符串从前往后的第一个字符下标为0,从后往前的第一个字符下标为-1

确定截取片段:

        1.确定step为正还是为负

        2.确定start和end的位置,start在截取方向上要在end的前面

        3.确定步长

str1 = "adc123456"
print(str1[:4])
print(str1[3:7])
print(str1[6::-1])
print(str1[-2:2:-2])
#start在截取方向上位于end的后面,所以输出为空
print(str1[2:-2:-2])
print(str1[4:-1])
#字符串翻转
print(str1[::-1])

 4.字符串的拼接

字符串的级联(Python会进行自动级联):

#输出结果为xyzabc
str1 = "xyz""abc"
print(str1)

字符串可以用加号、乘号拼接:

#将字符串"111"和字符串"222"拼接在一起输出
str2 = "111" + "222"
print(str2)
#将字符串"#@"重复三次输出
str3 = "#@" * 3
print(str3)

5.字符串的格式化

①.%占位符格式化:

        %s  --  str

        %d  --  十进制整型

        %x --  十六进制整型

        %o  --  八进制整型

        %f  --  浮点型

        %.2f  --  保留两位小数的浮点型

        %%  --  百分号%本身

name = input("please input your name:")
school = input("please input your school:")
print("my name is %s, my school is %s"%(name, school))
num1 = 30
print("十六进制表示:%x"%num1)
print("%.2f" % 3.2551)
#百分数表示
print("%.f%%"%(0.3456285 * 100))

 ②.format属性格式化

name = input("please input your name:")
school = input("please input your school:")
#通过花括号{}来识别替换字段
format_str1 = "my name is {},my school is {}".format(name, school)
print(format_str1)
#通过数字参数传入位置参数,顺序可以颠倒
format_str2 = "my school is {1},my name is {0}".format(name, school)
print(format_str2)
#用关键字传递参数
format_str3 = "my name is {user},my school is {sc}".format(user = name, sc = school)
print(format_str3)

#控制格式输出
#0表示第一个传进来的值
print('{0}的十六进制为{0:x}'.format(30))

③.f标志位格式(Python3支持)

name = "sctl"
age = 18
#{}中放的是一个表达式,{}中可以做计算
print(f"my name is {name}, my age is {age + 2}")

6.字符串的常用属性方法

以变量名.属性名或变量名.方法名()的方式访问对象一系列属性方法

#dir()函数:查看对象内的所有的属性和方法
print(dir("str"))

字符串的常用属性方法:

print(f"判断字符串是否全为大写:{'abcABC'.isupper()}")
#标题字符:首字母均为大写
print(f"判断字符串是否为标题字符:{'A Beautiful Gilr'.istitle()}")
print(f"判断字符串是否只包含数字:{'1322n'.isdigit()}")
#isnumeric()方法也是判断字符串是否都是数字,但其方法也包括中文的一到九
print(f"字符串是否只包含数字:{'一23'.isnumeric()}")
print(f"字符串是否只包含数字或字母:{'123_BC'.isalnum()}")
print(f"判断字符串的开始字符是否为abc:{'abc123'.startswith('abc')}")
print(f"判断字符串从第4个字符起的开始字符是否为abc:{'abc123'.startswith('abc', 3)}")
print(f"判断字符串的结束字符是否为123:{'abc123'.endswith('123')}")

7.字符串的遍历 

for i in "abc":
    print(i)

8.判断成员关系

print("ab" in "abc")
print("ab" not in "abc")

9.字符串常用函数

①.查找统计类

#查看字符串长度
print(f"字符串abcdef的长度为", len("abcdef"))
#统计子串在字符串中出现的次数
print(f"子串ab在字符串中出现的次数为", "avbfhfajnnjjaaabf".count("ab"))
#查看子字符串第一次出现的下标位置
print(f"子字符串d在字符串中第一次出现的下标为", "abbcd".index("d"))
#没有这个子字符串就会报错
print(f"子字符串d在字符串中第一次出现的下标为", "abbcd".index("x"))
#查看子字符第一次出现的下标位置
#没有子字符串返回-1
print(f"子字符串x在字符串中第一次出现的下标为", "abbcd".find("x"))

②.字符串转换类

print(f"将字符串转换为大写:{'dsdgh123'.upper()}")
print(f"将字符串转化为小写:{'fdfVNJFDI'.lower()}")
print(f"转化为标题格式:{'the world'.title()}")

 

③.字符串的切割

#得到的结果为一个列表
#以:进行切割
str1 = "dsfhgh:idkdgo:jdigid#$%"
print(f"字符串的切割:{str1.split(':')}")

 

④.字符串的拼接

lst = ["a", "b", "c"]
result = "*".join(lst)
print(f"将lst列表用*拼接起来的结果为{result}")

⑤. 去除字符串首尾空白字符

#strip()函数去除首尾指定字符 默认去除空格
str1 = input("please input a string:")
if str1.strip() == "sumeng":
    print("ok")

str2 = input("please input a string:")
print(f"去除字符串首尾的*符号", str2.strip("*"))

⑥.字符串中字符的替换

#replace()函数默认将指定的字符全替换 也可以指定替换次数
str1 = "xxxyyy".replace("x", "*", 2)
print(str1)

⑦.向字符串中指定位置进行填充

#center将字符串调整到指定的长度,并在两边填充指定的字符或字符串
print("欢迎进入系统".center(50, "*"))
#使字符串左对齐,右侧填充指定字符
print("1.登录".ljust(10, "*"))
#使字符串右对齐,左侧填充指定字符
print("2.注册".rjust(10, "*"))

三、布尔类型

Ture为1,Flase为0

布尔类型可以参与计算

print("abc".islower() + "ABC".isupper())
#计算结果为2

布尔值为假的情况有:''、0、0.0、()、{}、None、False

练习:

#abcd四名犯罪嫌疑人,其中有一个人是小偷
#a 我不是小偷
#b c是小偷
#c 小偷是d
#d c胡说
#只有一个人说了假话,小偷是谁
#让x是小偷
str1 = "abcd"

for x in str1:
    if ("a" != x) + ("c" == x) + ("d" == x)\
            + ("d" != x) == 3:
        print(f"小偷为{x}")

补充知识点--可变数据类型与不可变数据类型:

        #两者区别的关键在于能不能在原内存空间上去修改值

        #不可变数据类型 -- 不可修改,只能重新赋值 eg:str

        #可变数据类型 -- 可修改 eg:list --内存地址未变

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值