Day03-Python基础-数据类型(字符串类型)

 

数据类型:

    - 整数(int类)     v = 1
    - 布尔值(bool类) v = True
    - 字符串(str类)    v = "abc"
    - 列表(list类)     v = ["xx", "oo", "66"]
    - 元组(tuple类)       v = ("xxx", "ooo", "666")
    - 字典(dict类)    v = {"name":"张三", "age":18}

      总结: 相同类的值(指定类的对象)具有相同的功能,功能保存在类中(只有一份)

 

 

3、字符串类型

"hello world"
 
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
 

####################### str 类中位当前对象提供的功能  ###################

 
1. 字母变大写
# 1. 变大写
v1 = "alex"
value1 = v1.upper()
print(v1,value1)

 

2. 字母变小写

# 2. 变小写
v2 = "alEx"
value2 = v2.lower()
print(v2,value2)

 

3. 单词首字母变大写,其他变小写

# 3. 单词首字母变大写,其他变小写
v3 = "alEx"
value3 = v3.capitalize()
print(v3,value3)

 

4. 去除字符串首尾空格

# 4. 去除字符串首尾空格
v4 = "  asdf "
value4 = v4.strip()
print(v4)
print(value4)

#示例:
name = input("请输入用户名:")
value = name.strip()
if value == "alex":
    print("登录成功")

  

5-6. 分别去除左边空格、右边空格  

# 5. 去除左边的空格
v5 = "  asdf "
value5 = v5.lstrip()
# 6. 去除右边的空格
value5 = v5.rstrip()

 

7. 字符串替换

# 7. 字符串替换
v1 = "ASCII第一次以规范标准的形式以规范标准的形式以规范标准的形式"
value = v1.replace("标准","**")
data = value.replace("第一次","#")
print(value)
print(data)

输出结果:
ASCII第一次以规范**的形式以规范**的形式以规范**的形式
ASCII#以规范**的形式以规范**的形式以规范**的形式

 

重点:原值不变。

 

8. 分割

# 8. 分割
v1 = "ASCII第一次以规范标准的型态标准的型态1标准的型态2标准的型态3"
value1 = v1.split('标准')  # 分割之后变成 列表类型
print("分割法1:",value1)
value2 = v1.split('标准',2)
print("分割法2:",value2)

输出结果:
分割法1: ['ASCII第一次以规范', '的型态', '的型态1', '的型态2', '的型态3']
分割法2: ['ASCII第一次以规范', '的型态', '的型态1标准的型态2标准的型态3']

 

9. 判断当前字符串中是否全部都是数字

# 9.判断当前字符串中是否全部都是数字
v = "abc123dfg"
for item in v:
    print(item)   # item[0] = "a", item[1] = "b" ...

#--------------------------------
v = "123"
val = v.isdecimal()
print(val)
返回结果:
True

#--------------------------------
v = "a123"
val = v.isdecimal()
print(val)
返回结果:
False

#--------------------------------
v = "abc123dfg"
count = 0
for item in v:
    if item.isdecimal() == True:   # 这里也可以直接写成: if item.isdecimal():
        count += 1
print("字符串v中包含数字的个数有 ",count," 个。")
返回结果:
字符串v中包含数字的个数有 3  个。

  

  

######################## 公共功能  #########################


 1. 计算当前字符串的长度

v = "诸葛亮"
value = len(v)
print(value)

输出结果:
3

  

2. 根据索引(下标)取到字符串的某个字符/某些字符

  - 单个值:v[0]
  - 多个值:v[起始位置:结束位置]
  - 多个值:v[起始位置:结束位置:步长]
  PS:-1 表示最后

# 2. 根据索引(下标)取到字符串的某个字符
v = "ASCII第一次以规范标准的型态"
value1 = v[0]
print(value1)

len1 = len(v) - 1
value2 = v[len1]
print(value2)
value3 = v[-1]
print(value3)

输出结果:
A
态
态

 

v = "ASCII第一次以规范标准的型态"
value1 = v[0:5]  # 0 1 2 3 4
value2 = v[4:5]  # 4
value3 = v[4:-1] # 4 到结束位置
value4 = v[4:]   # 4 到结束位置
print(value1)
print(value2)
print(value3)
print(value3)

输出结果:
ASCII
I
I第一次以规范标准的型
I第一次以规范标准的型 

  

v = "ASCII第一次以规范标准的型态"
value = v[1:15:2]
print(value)

输出结果:
SI第次规标的

 


# 题目: v = "ASCII第一次以规范标准的型态" ,把该字符串v中的每个字符都打印出来。

A
S
C
I
I
第
一
次
以
规
范
标
准
的
型
态

 

方法1: 

v = "ASCII第一次以规范标准的型态"
length1 = len(v)
index = 0
while True:
    print(v[index])
    index += 1
    if index == length1:
        break

方法2:

v = "ASCII第一次以规范标准的型态"
length1 = len(v)
index = 0
while index < length1:
    print(v[index])
    index += 1

  


 

3. 循环

v = "ASCII第一次以规范标准的型态"
for i in v:
    print(i)

输出结果:
A
S
C
I
I
第
一
次
以
规
范
标
准
的
型
态

  

 总结1:

# int    89   9
# bool   True  False
# str    "sdf" "7"

# 加法计算器
v1 = input("请输入第一个值:")
v2 = input("请输入第二个值:")
v3 = v1 + v2
print(v3)

  

################################################
# 1.字符串,布尔值  ->  整数     int(值)
# 2.整数,布尔值   ->  字符串   str(值)
# 3.整数,字符串   ->  布尔     bool(值)
#   整数:
#       - 0      False
#       - 其他   True 
#   字符串:
#       - ""     False
#       - 其他   True

#-------------------------------------------------------------
v = 8
print(type(v))
val = str(v)
print(val,type(val))

输出结果:
<class 'int'>
8 <class 'str'>

#-------------------------------------------------------------
v = True
print(type(v))
val = str(v)
print(val,type(val))

输出结果:
<class 'bool'>
True <class 'str'>

#-------------------------------------------------------------
v1 = 0
v2 = 99
v3 = ""
v4 = "098lrwoe"
print("v1:",bool(v1))
print("v2:",bool(v2))
print("v3:",bool(v3))
print("v4:",bool(v4))

输出结果:
v1: False
v2: True
v3: False
v4: True

  

 
################### 面试题 ##########################
a1 = 1 == 1 or 2 > 3
print("1:",a1)
a2 = True or 2 > 3
print("2:",a2)
a3 = False or 2 > 3
print("3:",a3)
a4 = 0 or 2 > 3
print("4:",a4)
a5 = 9 or 2 > 3
print("5:",a5)
a6 = "asdf" or 2 > 3
print("6:",a6)
a7 = 0 or 6
print("7:",a7) 输出结果: 1: True 2: True 3: False 4: False 5: 9 6: asdf
7: 6

  

 总结2:

    -- 整数、布尔、字符串 互相转换原则 : 类(值)
    -- 布尔值: 0   ""  结果:False
    -- a = 9 or 2 > 3   结果:9
    -- a = 0 or 6       结果:6

  

 

字符串格式化输出

name = "yutou"
print "i am %s " % name
  
#输出: i am yutou

  

 

PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片

 

 

 

posted on 2018-10-26 14:07  morgan363  阅读(120)  评论(0)    收藏  举报

导航