Python 基础day4
整体大纲
关于占位符tpl
=
"i am %s"
%
"alex"
tpl
=
"i am %s age %d"
%
(
"alex"
,
18
)
tpl
=
"i am %(name)s age %(age)d"
%
{
"name"
:
"alex"
,
"age"
:
18
}
函数:len()
1:作用:返回字符串、列表、字典、元组等长度
2:语法:len(str)
3:参数:
str:要计算的字符串、列表、字典、元组等
4:返回值:字符串、列表、字典、元组等元素的长度
5:实例
5.1、计算字符串的长度:
i = count
len(i) = 5
一、
1,int。 数字:运算。1 ,2,3...
2,bool。判断真假:True, False.
3,str。简单少量的储存数据,并进行相应的操作 name = 'alex',
4,tupe。(1,'alex') 5,list:大量数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
6,dict:字典{'name':'jinxin','age':18,'name_list':['张三','李四']} 1、 关于bool 和str 的转换
bool: 真 True 1 , 假 False 0 1 字符串--->bool值 bool(str) 非空字符串转换成bool True
'' 空字符串转换成bool False
例
s = 'sdfa'
s1 = 'a'
s2 = '1'
s3 = ''
print(bool(s))
print(bool(s1))
print(bool(s2))
print(bool(s3)) #bool--->str值 例
a = str(True) # 'True'
a1 = str(2 > 1) # 'True'
print(a1,type(a1))'True' b = str(False) # 'False' print(a,type(a))
print(b,type(b)) 因为空的是 False
name = ''
if name:
print('输入正确')
else:
print('请输入内容')
2、索引和切片 [起始位置:结束位置:步长 ]
例子
1,索引和切片 [起始位置:结束位置:步长] 字符串也能切片
s1 = 'python全栈8期'
索引从0开始 [索引(下标,index)]
# print(s1[0]) p
# print(s1[3]) h
# print(s1[5]) n
# print(s1[6]) 全
# print(s1[-1]) 期 #切片 顾头不顾腚 注意 1第6个没有 实际到第5个 2 本来就有9个字符 但是10 12 19 到头了 所以默认到最后 3 6:表示 到最后
# print(s1[0:6]) python
# print(s1[6:10])
# print(s1[6:11])
# print(s1[6:]) 全栈8期
# print(s1[1:5])
#pto
取片
[起始位置:结束位置:步长]
#s1 = 'python全栈8期'
# print(s1[0:5:2]) pto
# print(s1[0:7:3]) ph全
li = ['123a4b5c']
l1 = li[0][1:4]
print(l1)
23a
li = ['123a4b5c']
l1 = li[0][0:7:2]
print(l1)
1345
#倒取值:加步长 3::1 和3::-1 区别 3::1 打印 hon全栈8期 3::-1 打印htyp
python全栈8期
# print(s1[3::-1])
# print(s1[5:0:-2]) nhy
# print(s1) #不变
# s2 = s1[0:6]
# print(s2)
python 3 字符串关于大写 小写
ret = 'alexS'
#字符串的使用方法。
#1 capitalize 首字母大写,其他的全小写 str1 = str.capitalize()
print(str,str1) 固定用法
ret = "wangyan"
ret1 = "wangyan".capitalize()
print(ret,ret1)
c
例子 全大写或者全小写
ret = ‘Wangyan’
ret2 = ret.upper()
ret3 = ret.lower()
print(ret2,ret3) code = 'A'
your_code = input('请输入验证码,不区分大小写')
if your_code == 'A' or your_code == 'a':
print('您输入的正确')
else:print('请重新输入') 不区分大小写的用法
code = 'wangYan'.lower()
your_code = input('输入不区分大小字母').lower()
if code == your_code :
print('答对了')
else :
print('重新输入')
code = 'adeE'.upper()
your_code = input('请输入验证码,不区分大小写').upper()
if your_code == code:
print('您输入的正确')
else:print('请重新输入')
'''
# 大小写翻转 .swapcase()
例子
code = 'wangYan'
code1 = code.swapcase()
print(code,code1)
wangYan WANGyAN #以特殊符号或者空格隔开,每一个字符串首字母大写 .title()
例子
code = ('wangyan luodan wmutian')
code1 = code.title()
print(code1)
4 字符串居中 并填充 固定格式 字符串.center(数字为字符串中心两边的空格和,'填充内容')
code = 'wangYan'
print(code.center(33,'@')) @@@@@@@@@@@@@wangYan@@@@@@@@@@@@@
5# * 返回bool值 startswith endswith
code = 'wangYan'
code1 = code.startswith('w')
print(code1)
True 只要开头一样 一个或者几个一样 否则False
ret = '123454'
ret2 = ret.endswith('3',0,3)
print(ret2)
True
ret =" alex"
# ret5 = ret.startswith('l',1,3) # 切片
# print(ret5)
True
# ret6 = ret.endswith('S',-2,)
# print(ret6)
False 6# ** count 字母有多少个数 0,6 是范围
例子
ret = 'wangyanluodan'
ret6 = ret.count('a',0,6)
print(ret6)
2个
ret = alex
# ret7 = ret22.count('a')
# ret7 = ret22.count('ale') # 整体与个体
# ret7 = ret22.count('W') # 0
# ret7 = ret22.count('a',0,7) # 切片的count
# print(ret7) 7 tab 键补全
# a2 = "qwaaaaaaaa\taa"
#\t前面的补全
# 默认将一个tab键变成4个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个
,以此类推每次补全8个。 . len(ret8) 长度是多少
# ret8 = a2.expandtabs()
# print(ret8,len(ret8))
例子
a1="qwaaaaaaaa\taa"
a2 = a1.expandtabs()
print(a2,len(a2))
qwaaaaaaaa aa 18
8、find和index 查找
ret = 'aleaxS'
# * find 通过元素找到索引(找到第一个元素),找不到返回-1
# ret9 = ret.find('a')
# # ret9 = ret.find('W',0,5)
# print(ret9)
# #index 和find用法一模一样,找不到元素,就会报错
# ret10 = ret.index('w')
# print(ret10)
a1="qwaaaaaaaa\taa" a2 = a1.find('b')
print(a2) -1
'''
a1="qwaaaaaaaa\taa" a2 = a1.find('a')
print(a2) 2
a1="qwaaaaaaaa\taa" a2 = a1.index('a')
print(a2) 2
a1="qwaaaaaaaa\taa" a2 = a1.index('w')
print(a2) 报错
9 * strip 去除字符串前后的空格及你想去除的元素 '.strip() 去除左边的lstrip 右边的 rstrip
只要有的元素都会从做右边 依次去除元素 字符串 .strip() ret
# ret11 = ' alex '.strip()
# print(ret11)
'''
name = 'alex'
username = input('请输入你的用户名:').strip()
if username == name :
print('登录成功')
''' # ret11 = ' alex '.lstrip()
# print(ret11) # ret11 = ' alex '.rstrip()
# print(ret11)
' alex
#一: # ret12 = 'asldfkjafa'.strip('a')
# print(ret12)
#二:
# ret13 = 'asldfkjafa'.strip('sa')
# print(ret13)
# ret13 = 'asldfkjafa'.strip('salf')
# print(ret13)
# ret14 = 'asldfkajafa'.strip('saWlf')
# print(ret14) dfkj
10 #split * 将字符串分割成列表 (把字符串分开成多个小字符串组成列表)
# ret15 = 'jinxin alex wusir'
# ret16 = ret15.split()
# print(ret16)
['jinxin', 'alex', 'wusir'] # ret15 = 'jinxin,alex,wusir' split.(',') 逗号字符串格式把整个字符串组成列表
# ret16 = ret15.split(',')
# print(ret16)
['jinxin alex wusir'] # ret15 = 'title tle tlie'
# ret16 = ret15.split('t')
# print(ret16) 把列表变成字符串 ‘’ 出来就是字符串
l1 = ['jinxin', 'alex', 'wusir']
li = ' '.join(l1)
print(li) jinxin alex wusir
11# * 替换 replace 格式 replace.(‘原来元素’,'改变元素',改变几个数字)
# ret18 = '粉红色打开了粉红色级第三粉红色'
# ret19 = ret18.replace('粉红色','嫩绿色',1)
# print(ret19) 12# 格式化输出 format .format
li = ['alex','eric','rain']
# # 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
info = "{}_{}_{}".format(li[0],li[1],li[2])
print(info)
#第一种:
# ret20 = 'name:{},sex:{},身高:{}'.format('alex','ladyboy',178)
# print(ret20)
ret18 = 'name :{},sex:{},hig:{}'.format("王岩","男",174)
print(ret18)
name :王岩,sex:男,hig:174 #第二种:
# ret20 = 'name:{0},sex:{1},身高:{2},name:{0}'.format('alex','ladyboy',178)
# print(ret20)
ret18 = 'name :{0},sex:{1},hig:{2},name{0}'.format("王岩","男",174)
print(ret18)
name :王岩,sex:男,hig:174,name王岩
#第三种:键值对 注意格式 .format(字符串的引号)
# ret20 = 'name:{name},sex:{sex},身高:{high},name:{name}'\
# .format(sex = 'ladyboy',high = 178,name='alex')
# print(ret20) #13 判断条件
# name='123'
# print(name.isalnum()) #字符串由字母或数字组成
# print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成
not isdight 意思就是 除了字母以外的任何元素 s = 'aelsdskjl'
# s = s[1:]
# print(s)
elsdskjl
14
#for 变量 in 可迭代对象
for in :从里面打印索引列表
例子
s = 'abcdefghijk'
print(len(s))
index = 0
while True :
print(s[index])
index += 1
if len(s) == index :
break''' s = 'abcdefghijk'
for i in s:
print(i)
方法一
s = 'abcdefghijk' # print(len(s)) #测量长度
# index = 0
# while True:
# print(s[index])
# index += 1
# if index == len(s):
break
方法二
s = 'abcdefghijk'
# for i in s:
# print(i)
ount = 0
s = 'abcdefghijk'
for i in s:
if i.isdigit():
count += 1
else:
print(666)
print(count)
--------------------- s = 'fs4dkjla123fkj2dsa'
count = 0
for i in s:
if i.isdigit():
count += 1
else:print(666)
print(count)
666
666
666
666
666
666
666
666
666
666
666
666
666
5
# 如:content = input(‘请输入内容:’) # 如用户输入:
# # 5+9或5+ 9或5 + 9,然后进行分割再进行计算。
content = input('请输入内容:')
index = content.index('+')
s1 = int(content[0:index])
s2 = int(content[(index +1):(index +2)])
s = s1 + s2
print(s)
Python 基础day4的更多相关文章
- python基础day4
1.列表生成式,迭代器&生成器 列表生成式 将列表[0,1,2,3,4,5,6,7,8]中的每个值加1,如何实现?常用的几种方法 方法一: a=[0,1,2,3,4,5,6,7,8] for ...
- python基础 Day4
python Day4 1.列表 列表初识 之前的的三种str.int.bool在有的条件下不够用 str:存储少量的数据. 切片还是对其进行任何操作,获取的内容都是str类型.存储的数据单一. 列表 ...
- Python之路,Day4 - Python基础4 (new版)
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- Day4 - Python基础4 迭代器、装饰器、软件开发规范
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- Python基础学习Day4 列表的使用方法、range 用法、in用法
一.列表 1.1列表:python基础数据类型之一:其他语言也有列表的概念,js 数组,可索引 ,可切片,可加步长 1.2列表的索引,切片,切片+ 步长 结果: 注意:列表里元素的数据类型,就是它本身 ...
- 第五章:Python基础の生成器、迭代器、序列化和虚拟环境的应用
本课主题 生成器介紹和操作实战 迭代器介紹和操作实战 序例化和反序例化 Json 和 Pickle 操作实战 字符串格式化的应用 创建虚拟环境实战 本周作业 生成器介紹和操作实战 什么是生成器,生成器 ...
- Python基础学习总结(持续更新)
https://www.cnblogs.com/jin-xin/articles/7459977.html 嗯,学完一天,白天上班,眼睛要瞎了= = DAY1 1,计算机基础. CPU:相当于人的大脑 ...
- Python基础+模块、异常
date:2018414+2018415 day1+2 一.python基础 #coding=utf-8 #注释 #算数运算 +(加) -(减) *(乘) /(除) //(取整) %(取余) ...
- Python基础 小白[7天]入门笔记
笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...
随机推荐
- 进程锁,队列,JoinableQueue
内容梗概: 1.进程同步(锁) 2.队列(重点) 3.生产者消费者模式 4.JoinableQueue([maxsize]) 5.信号量(了解) 6.事件 1.进程同步(锁) 并发编程让我们能更加充分 ...
- Robbers' watch CodeForces - 685A (暴力)
大意: 一天n小时, m分钟, 表以7进制显示, 求表显示数字不同的方案数 注意到小时和分钟部分总长不超过7, 可以直接暴力枚举. 关键要特判0, 0的位数要当做1来处理 #include <i ...
- shiro中拦截器机制
8.1 拦截器介绍 Shiro使用了与Servlet一样的Filter接口进行扩展:所以如果对Filter不熟悉可以参考<Servlet3.1规范>http://www.iteye.com ...
- STL中的拷贝替换算法(so easy)
#include"vector" using namespace std; #include"string" #include"algorithm&q ...
- csu oj 1342: Double
Description 有一个由M个整数组成的序列,每次从中随机取一个数(序列中每个数被选到的概率是相等的)累加,一共取N次,最后结果能被3整除的概率是多少? Input 输入包含多组数据. ...
- python-MongoDB 非关系型数据库
一 简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库1.易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库.不采用关系型主要是为了获得 ...
- 第 3 章 HTML5 网页中的文本和图像
文字和图像是网页中最主要.最常用的元素. 在互联网高速发展的今天,网站已经成为一个展示与宣传自我的通信工具(公司或个人可以通过网站介绍公司的服务与产品或介绍自己).这些都离不开网站中的网页,而网页的内 ...
- 【转】MVC5学习笔记 BindAttribute
// POST: Movies/Create // 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关 // 详细信息,请参阅 http://go.microsoft.com/fwlink/?L ...
- for循环的字节码
源代码: public class Wizard { private int age; private void forCycle() { for (int i = 0; i < 10; i++ ...
- vue相关操作命令
全局安装:npm install vue-cli -g 全局卸载:npm uninstall vue-cli -g 查看vue版本:vue -V 回车