Python全栈学习_day003知识点
今日大纲:
. 基础数据类型 总览
. int
. bool
. str
. for循环
1. 基础数据类型 总览
int: 用于计算,计数等
str:'这些内容',用户少量数据的存储,便于操作
bool:True, False,两种状态,机器反馈给用户的对/错
list:[, 'k', True, [], (), {}, ...] 大量的数据,各种数据类型,操作方便
tuple:(, 'k', True, [], (), {}, ...) 只读列表
dict:字典. 大量的关联性数据
{'name': 'alex', 'name_list': ['司徒', '李莲英', ...], '太白': {'name': '太白', 'sex': '男'}}
set:集合. {} 关系测试. 两种集合之间的并集是什么等等.
2. int
i =
print(i.bit_length()) 查询十进制转化成二进制占用的最小位数
结果: 十进制 二进制
3. bool
数据类型之间的转化
int <--> str str(int); int(str) ******
int <--> bool 非0为True; 0为False True --> ; False -->
str --> bool ''(空字符串) --> False; 非空 --> True
name = input('>>>')
if name:
print()
else:
print('无内容') bool --> str 没啥意义
4. str
对字符串的下面这两部分操作,形成的都是一个新的字符串,与原来的字符串没有关系
第一部分:索引、切片、步长
- 按照索引取值,取出来的都是一个字符形成的字符串
s1 = 'Python1期_骑士计划'
s2 = s1[]
print(s2) P
print(type(s2)) <class 'str'> s3 = s1[]
print(s3) t s4 = s1[-]
print(s4) 划 s5 = s1[-]
print(s5) 计
- 按照切片取值, 顾头不顾尾
s6 = s1[:]
print(s6) Python s61 = s1[:]
print(s61) Python s7 = s1[:]
print(s7) ython1 s8 = s1[:-]
print(s8) 1期_骑士计 s81 = s1[:]
print(s81) 1期_骑士计划
- 按照切片+步长
s1 = 'Python1期_骑士计划' s9 = s1[::]
print(s9) Pto s91 = s1[::]
print(s91) yhn期骑计
如果想倒序取值,加一个反向步长(负号)
s10 = s1[-:-:-]
print(s10) 划计士骑 s11 = s1[-:-:-]
print(s11) 划士_
第二部分:字符串的常用方法
name = 'old boy' print(name.capitalize()) Old boy;首字母大写 *** print(name.title()) Old Boy
s1 = 'alex wusir*taibai6nvshen'
print(s1.title()) 非字母隔开的每个部分的首字母大写 **
center: 字符串居中,前后填充自定义的字符 **
print(name.center(, '*')) ******old boy*******
upper(全部大写); lower(全部小写) ******
print(name.upper()) OLD BOY
print(name.lower()) old boy
应用举例:
username = input('请输入用户名:')
code = 'ADfeR'.lower()
your_code = input('请输入验证码:').lower()
if username == 'alex' and code == your_code:
print('登录成功')
name = 'old boy'
startswith: 判断以什么为开头 *****
print(name.startswith('ol')) True
判断第5个位置之后的字符串以什么为开头
print(name.startswith('b', )) True
判断第2个位置到第5个位置的字符串以什么为开头
print(name.startswith('ld', , )) True
endswith: 判断以什么为结尾 *****
与startswith用法一致
print(name.endswith('o')) False
swapcase: 大小写转换 **
name = 'oLd boY'
print(name.swapcase()) OlD BOy
find(*****): 通过元素找索引, 找到第一个元素就返回其索引值,没有此元素则返回- *****
print(name.find('d'))
print(name.find('Ld'))
print(name.find('w')) -
print(name.find('o', , -)) ; find也可以设置字符串的开始和结束位置
index(*****): 通过元素找索引, 找到第一个元素就返回其索引值,没有此元素则报错
print(name.index('w')) 报错
strip(*****): 默认去除字符串前后的空格,换行符(\n),制表符(\t)
name = '\told boy '
print(name.strip())
结果:
old boy
strip:指定去除的字符
name1 = '*alex**'
print(name1.strip('*')) alex name2 = 'weralexqwe'
print(name2.strip('erw')) alexq
应用举例:
username = input('请输入用户名:').strip()
if username == 'alex':
print('登录成功')
lstrip: 去除前面的空格
rstrip: 去除后面的空格
split: 将字符串分割成列表(str --> list); 默认按照空格分割
s1 = 'alex wusir taibai'
l1 = s1.split()
print(l1) ['alex', 'wusir', 'taibai'] s2 = 'alex,wusir taibai'
l2 = s2.split(',')
print(l2) ['alex', 'wusir taibai']
注意这三个的区别
s3 = ' alex wusir taibai'
print(s3.split()) ['alex', 'wusir', 'taibai'] s31 = ' alex wusir taibai'
print(s31.split(' ')) ['', 'alex', 'wusir', 'taibai'] s4 = ',alex,wusir,taibai'
print(s4.split(',')) ['', 'alex', 'wusir', 'taibai']
设置split的分割次数
s5 = 'alexlwle'
print(s5.split('l', )) ['a', 'exlwle'] print(s5.rsplit('l'))
join(**********): 自定制连接符,将可迭代对象中的元素连接起来
str1 = 'alex'
s2 = '*'.join(str1)
print(s2) a*l*e*x
replace(*****): 替换
str2 = 'alex 是创始人,alex很牛逼,alex...'
s3 = str2.replace('alex', 'SB')
print(s3) SB 是创始人,SB很牛逼,SB...
可以设置替换次数,但是只能从前往后开始替换
str2 = 'alex 是创始人,alex很牛逼,alex...'
s3 = str2.replace('alex', 'SB', )
print(s3) SB 是创始人,alex很牛逼,alex...
格式化输出: format
三种方式
第一种:
s1 = '我叫{}, 今年{}, 性别{}'.format('太白', '', '男')
print(s1) 我叫太白, 今年28, 性别男
第二种:
s2 = '我叫{0}, 今年{1}, 性别{2}, 我还是叫{0}'.format('太白', '', '男')
print(s2) 我叫太白, 今年28, 性别男, 我还是叫太白
第三种:
s3 = '我叫{name}, 今年{age}, 性别{sex}, 我还是叫{name}'.format(age = '', name = '太白', sex = '男')
print(s3) 我叫太白, 今年28, 性别男, 我还是叫太白
is 系列
name = 'taibai123'
print(name.isalnum()) True; 判断name是否以字母或者数字组成
print(name.isdigit()) False; 判断name是否全部以数字组成
print(name.isalpha()) False; 判断name是否全部以字母组成
公共方法
count: 计数,计算给定字符出现几次,可以进行切片
name = 'alex'
print(name.count('a')) len: 计算字符串有多长,就是元素的个数
print(len(name))
5. for循环
先用while循环打印每个元素
s1 = 'sdkjasgfjgsafkj'
index =
while index < len(s1):
print(s1[index])
index +=
如果对一个数据类型进行循环或者是一个有限循环的时候,往往要用到for循环
for i in s1: for 变量 in iterable(可迭代对象)
print(i) for i in s1: for 循环的次数是和可迭代对象的元素的个数有关
print(s1)
Python全栈学习_day003知识点的更多相关文章
- Python全栈学习_day002知识点
今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...
- Python全栈学习_day001知识点
今日大纲: . 变量. ***** . 常量.** . 注释.*** . 基础数据类型初识(int,str,bool). ***** . 用户输入 input ***** . 流程控制语句if. ** ...
- Python全栈学习_day005知识点
今日内容大纲: . 字典的增删改查以及其他操作 . 字典的嵌套 . 字典的增删改查以及其他操作 , 'sex': '男'}, 'name_list': ['无双', 'alex', 'BlameK'] ...
- Python全栈学习_day009知识点
今日大纲: . 函数的初识 . 函数的返回值 . 函数的参数 1. 函数的初识 统计字符串s的总个数(不能用len) s='fkahfkahofijalkfkadhfkjadhf' count = f ...
- Python全栈学习_day003作业
day3作业及默写 1,有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip( ...
- python全栈学习路线
python全栈学习路线-查询笔记 查询目录 一,硬件 十一,数据 ...
- python全栈学习--day4
列表 说明:列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: 1 li = ['alex',123,Ture,(1,2,3,'wu ...
- python全栈学习--day3
一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余 + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...
- python全栈学习--day2
一.in的使用 说明:in有相当多的用处,比如判断,循环for 等. 实例一:in 操作符用于判断关键字是否存在于变量中 s = '男人john' print('男孩' in s) print('男孩 ...
随机推荐
- 转 Master-Worker模式 并行程序设计模式--Master-Worker模式
简介 Master-Worker模式是常用的并行设计模式.它的核心思想是,系统有两个进程协议工作:Master进程和Worker进程.Master进程负责接收和分配任务,Worker进程负责处理子任务 ...
- Django Model Form
ModelForm ModelForm结合了Form和Model,将models的field类型映射成forms的field类型,复用了Model和Model验证, 写更少的代码,并且还实现了存储数据 ...
- [UWP]使用Picker构建应用内图片公共裁剪组件
在上一篇博文<[UWP]如何实现UWP平台最佳图片裁剪控件>中我讲解了编写ImageCropper控件的过程及知识分享.在那篇文章里,我大言不惭的称其为UWP平台最佳图片裁剪控件(主要是没 ...
- JSLint在idea编译器中报错
jslint:this function needs a 'use strict' pragma报错解决 JSInt是指在编写代码的时候进行代码检查语法,没有必要开启 关闭的方法 在setting中搜 ...
- 机器学习技法笔记:16 Finale
Roadmap Feature Exploitation Techniques Error Optimization Techniques Overfitting Elimination Techni ...
- java几种垃圾收集方法和垃圾收集器
标记清除法: 分为两个阶段,标记----清除 标记阶段将所有需要回收的对象做标记,然后在清除阶段将所有的标记对象回收 但是这种回收方法有很大的缺点,那就是这两个过程的的效率并不高,两个过程都是效率很低 ...
- Java程序员如何运用所掌握的技术构建一个完整的业务架构
1.通用架构概述 创业之初,我们往往会为了快速迭代出产品,而选择最简单的技术架构,比如LAMP架构,SSH三层架构.这些架构可以适应初期业务的快速发展,但是,随着业务变得越来越复杂,我们会发现这些架构 ...
- js 判断 ip
[使用新浪ip接口] 多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=111.202.103.2 ...
- SQL 必知必会·笔记<20>高级SQL特性
1. 约束 约束(constraint)就是管理如何插入或处理数据库数据的规则.DBMS通过在数据库表上施加约束来实施引用完整性. 1.1 主键 主键是一种特殊的约束,用来保证一列(或一组列)中的值是 ...
- Docker导入、导出、删除容器
1.导出某个容器导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名导出后在本地可以看到有一个centos.t ...