码迷,mamicode.com
首页 > 其他好文 > 详细

第三天

时间:2018-07-30 18:07:49      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:mat   空白   输入   转换问题   tle   one   操作   xxx   title   

基本数据类型(int, bool, str)

一.基本的数据类型

int 整型

str 字符串, 一般不存放大量数据

bool 布尔值, 用来判断, True, False

list 列表, 用来存放大量数据, [] 表示, 里面可以装各种的数据类型

tuple 元组, 只读列表, () 表示

dict 字典, {key: value}

set 集合, 不重复

二. int类型

bit_length() 返回一个数的二进制长度

# a = 5 # 0 1 10  11  100  101
# print(a.bit_length())
#运行结果为:3

三.bool类型

1. 布尔只有两个值, True 和 False, 一般是没有什么操作的

2. 类型转换问题:

  想把XX转换成YY -> YY(XX)

# str => int
# int()
# int => str
# str(i)
# lst => tuple
# tuple(lst)
# tuple => list
# list(tu)

3. 可以表示False的内容: 0, "", [],  tuple(), {}, None

 所有的空都是False, 所有的非空都是True

技术分享图片
# a = 0 # False
# print(bool(a))

# s = "" # 空字符串是false
# print(bool(s)) # True

# 空的东西是False. 非空的东西是True
# lst = [1] # 空列表是False
# print(bool(lst))

# dic = {‘jj‘:‘林俊杰‘} # 空字典是False
# print(bool(dic))

# a = None # 表示空. 真空.
# print(bool(a))
View Code

四.  str类型; 字符串

由‘, ", ‘‘‘, """括起来的内容就是字符串

字符串是不可变的数据类型, 不论你执行任何操作, 源字符串是不会改变的,每次操作都会返回新字符串

1.索引和切片

索引从0开始, 使用[下标]可以获取到每一个字符, 还可以倒着数

技术分享图片
# s = "我曾踏月而来,只因你在山中"
# print(s[0])
# print(s[1])
# print(s[2])
# print(s[3])
# print(s[4])
# print(s[5])
# print(s[6])
# print(s[7])
# print(s[8])
# print(s[9])
# print(s[10])
# print(s[11])
# print(s[12])# 索引不能超过边界
# 
# print(s[-1]) # 倒数第一个
# print(s[-2])
# print(s[-3])
# print(s[-4])
# print(s[-5])
# print(s[-6])
#...
View Code

切片: [起始位置: 结束位置: 步长]

  特点:(1). 顾头不顾尾,

     (2). 默认从左到右取值

     (3). 当步长为负可以从右往左取值

# s = "我给你一个久久的望着孤月的人的悲凉"

# 切片 [起始位置: 结束位置] 1.顾头不顾尾, 2.从左往右切
# print(s[1:3])   # 从1切到3. 但是取不到3  [1,3)
# print(s[1:]) # 从1开始切. 切到结尾
# print(s[:2]) # 从头切到2
# print(s[:]) # 从头到尾
# print(s[-3:-1]) # 只能从左往右切

# 给出第三个参数来控制方向,第三个参数叫步长
# print(s[-1:-3:-1]) # - 表示反方向. 从右往左切

2.字符串的相关操作

必须熟记:

(1).upper() 转换大写

# s = "al1ex is a gay and Wusir is A gay too"
# s3 = s.upper()  # 大写
# print(s3)

(2).stript() 去掉空白

# s = "    alex    is    a   gay   "
# s1 = s.strip() # 默认去掉空格. 空白\t \n
# print(s1)

# username = input("请输入用户名:").strip()
# password = input("请输入密码:").strip()
# if username == ‘alex‘ and password =="123":
#     print("成功")
# else:
#     print("失败")

# s = "sb alex wusir sb sb taibai taibai sb"
# print(s.strip("sb")) # 可以指定要去掉的内容

(3).replace(old, new) 把XXX 替换成 XXXX

# s = "泰坦尼克号, 西虹市首富, 小猪佩奇, 冒险王"
# s1 = s.replace("冒险王", "西西里的美丽传说")
# s2 = s.replace("佩奇", "wusir")
# print(s2)
#
# s = "alex_wusir_taibai_ritian"
# s1 = s.replace("_","")
# print(s1)

# s8 = "sylar_alex_taibai_wusir_eggon"
# s9 = s8.replace("i", "sb", 2) # 换两次
# print(s9)

(4).split() 切割,返回列表,用多长的刀,就要损失掉多少

# s8 = "sylar_alex_taibai_wusir_eggon"
# lst = s8.split("taibai") # 切完的结果是一个列表. 列表中装的是字符串. 用什么切. 就会损失掉什么
# print(lst)

# s = """我家大门常打开
# 开放怀抱等你
# 后面是什么歌词
# 我忘了"""
# lst = s.split("\n")
# print(lst)

# s = "我今天下午要去吃饭饭"
# lst = s.split("我今天下午要去吃饭饭哈哈哈") # 没切
# print(lst)

(5).startswith() 判断是否以XXX开头

#s = "alex is a gay"
# print(s.startswith("alex")) # 以xxx开头
# print(s.endswith("girl")) # 以xxx结尾

(6).find(), count(), index()

   count():计算XXX在字符串中出现的次数

   find():查找XXX在字符串中出现的位置,只找第一次出现的位置,没有就返回 -1

   index():当查找的字符串不存在时,报错

 

# s = "I have a dream. I want to kill you!"
# 都可以进行索引范围
# print(s.count("dream")) # 计算a在字符串中出现的次数
# print(s.find("a")) # 查找xxx在字符串中出现的位置. 只找第一次出现的位置, 没有就返回-1
# print(s.index("z")) # 当字符串不存在的时候. 报错

(7).len() 字符串长度,Python的内置函数

# 字符串长度, python的内置函数len(), int(), bool(), str(), type()
# s = "娃哈哈可口可乐"
# print(len(s)) # 字符串中的字符的个数

# s = "一别两宽,各生欢喜"
# # # 对字符串进行遍历.
# n = 0
# while n < len(s):
#     print(s[n])
#     n = n + 1

不做太高要求:

(1).capitalize() 把变量的首个字母变成大写

# s = "al1ex is a gay and Wusir is A gay too"
# 
# s1 = s.capitalize() # 把首字母变成大写
# print(s1)

(2).lower() 转换成小写

# s = "Al1eX Is a gay AND Wusir is A gay too"
# s2 = s.lower() # 小写
# print(s2)
# s2 = "БB?"  # 俄美德
# print(s2)
# print(s2.lower())
# print(s2.casefold()) #认识多国语言比lower更强大

(3).swapcase() 大写变小写,小写变大写

# s = "al1ex is a gay and Wusir is A gay too"
# s4 = s.swapcase() # 大小写互换
# print(s4)

(4).title() 把每个单词的首字母大写

# s = "al1ex is a gay and Wusir is A gay too"
# s5 = s.title() # 把每个单词的首字母大写
# print(s5)

(5).center() 在源字符串两端进行拼接

# s = "sb"
# s1 = s.center(10, "*") # 强行使用*在原字符串左右两端进行拼接. 拼接成10个单位
# print(s1)

(6).format() 字符串格式化, 与 %s 的用法一样, 比 %s 更加精准

# s = "我叫%s, 我今年%s了, 我喜欢%s" % ("周杰伦", "40", "昆凌")
# print(s)

# s = "我叫{}, 我今年{}了, 我喜欢{}".format("周杰伦", "40", "昆凌")
# print(s)

# s = "我叫{0}, 我今年{1}了, 我喜欢{2}".format("周杰伦", "40", "昆凌")
# print(s)

# s = "我叫{name}, 我今年{age}了, 我喜欢{hobby}".format(hobby="周杰伦", age="40", name="昆凌")
# print(s)

(7).isdigit(), isalpha(), isalnum()

  isdigit(): 判断字符串是否以数字组成

  isalpha(): 判断字符串是否以字母组成

  isalnum(): 判断字符串是否以字母和数字组成

# s = "abc123@"
# print(s.isdigit()) # 数字
# print(s.isalpha()) # 字母
# print(s.isalnum()) # 是否由数字和字母组成

(8).isnumeric(): 这东西认识中文

# s = "壹仟贰佰五十六萬拾"
# print(s.isnumeric())# s = "壹仟贰佰五十六萬拾"
# print(s.isnumeric()) 

3.for 循环

for 变量 in 可迭代对象:

  循环体, 也存在 break 和 continue

else:

  当循环结束的时候执行

# s = "一别两宽,各生欢喜"
# # 迭代
# for c in s: # charactor
#     print(c)

第三天

标签:mat   空白   输入   转换问题   tle   one   操作   xxx   title   

原文地址:https://www.cnblogs.com/rixian/p/9391622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!