Python学习第四天
一.数字 int
二.字符串 str
#以下均为补充内容 #对于空字符串是假
#数字0是假 #数字和字符串可以相互转换
# a="123"
# b=int(a) # a=123
# b=str(a) #-1表示“x”,-2表示“e”
# test="alex"
# test[0:-2] #将range内容从后往前输出
# for i in range(5,0,-1):
# print(i) def check_code():
import random
checkcode = ''
for i in range(4):
current = random.randrange(0, 4)
if current != i:
temp = chr(random.randrange(65, 90))
else:
temp = random.randint(0, 9)
checkcode += str(temp)
return checkcode while True:
code = check_code()
print(code)
user_in=input(">>>")
user_in_up=user_in.upper()
if user_in_up==code:
break
print("验证码正确")
三.列表 list
# 中括号括起来
# 逗号分割每个元素
# 列表中的元素可以是数字,字符串,或者列表本身,布尔值等
li = [1, 12, 9, "age", "diji", ["dskjd", "djsds"]]
# 通过索引取值
print(li[5]) # 通过切片取值,切片结果也是列表
print(li[3:5]) # 支持for循环和while循环 # 列表是拿链表储存的,锁所以可以修改。
# 字符串是顺序存储的,所以修改的时候内存中的所有字符都要向后移获取向前移。所以修改的代价太大
# 修改方式一,索引
li[0] = "lzd"
print(li)
# 修改方式二,切片 # 删除方式一,索引
del li[0]
print(li)
# 删除方式二,切片 # 支持in和not in的操作
v = "dskjd" in li[4]
print(v) # 取出来的是'dskjd'中的's'
li = [1, 12, 9, "age", "diji", ["dskjd", "djsds"]]
print(li[5][0][1]) # 列表在进行转换的时候,本质上是for循环。所以数字不可以转换
s = "dfsadkfuafehfafdhajdjda"
new_s = list(s)
print(new_s) # 列表转换成字符串
# 需要自己写for循环一个一个处理,既有数字又有字符串
# 用str转换会默认这个字符串是一个整体
s = ""
for i in li:
s += str(i)
print(s) # 如果只有字符串的情况,可以用join,join就是在内部在做for 循环
li = ["jskd", "dsios", "ifsi", "fdif"]
v = "".join(li)
print(v) # append和extend的区别就是,append是将追加的值作为一个整体追加到列表的后边
# expend可以进行迭代,将列表的值拆分成元素追加到列表的后面
# expend的参数必须是可迭代的对象,比如说字符串获取列表
li.extend([9898, "不得了"])
print(li)
# *************************************
# 其他不常用的如下
# none表示什么都没有,在原来值最后追加
li = [11, 22, 33, 22, 44]
v = li.append(5)
print(v)
print(li) # 表示清空列表中的值
# li.clear()
# print(li) # 拷贝,浅拷贝
v = li.copy()
print(v) # 计算元素出现的次数
v = li.count(22)
print(v) # 找某个值的索引位置,最左优先,可以规定起始位置和最后位置
v = li.index(33)
print(v) # 在指定索引位置插入元素
li.insert(0, 99)
print(li) # pop和remove都是删除
# pop可以获取删除的值,默认删除最后一个元素,用索引指定
# remove指定的是删除的值,没有默认情况,如果遇到相同的,按照从左到右的顺序进行删除
v = li.pop(1)
print(v) li.remove(33)
print(li)
# PS: pop remove del li[0] del li[7:9] clear # 将当前列表进行反转
li.reverse()
print(li) # 排序,可以进行从大到小排,也可以进行从小到大排序
li.sort(reverse=True)
print(li)
四.元组 tuple
# 元组,元素不可被修改,不能被增加或者删除
tu = (111, 22, 33, 44,)
# 一般写元组的时候,在最后加个逗号,和参数区别
# 索引
v = tu[0]
print(v) # 切片
v = tu[0:2]
print(v) # 不可以修改,增加或者删除
# 可以被for循环,可迭代对象
for item in tu:
print(item) # 列表,元组,和字符串之间可以相互转换
# 元组转换成字符串的时候,如果只有字符串可以用join
# 如果既有字符串又有数字的话,也是智能自己写for循环,和列表差不多 # 元组是有序的
tu = (111, "alex", (11, 22), [(33, 44)], True, 33, 44)
print(tu[3][0][0]) # 元组的一级元素不可修改,删除,增加,但是二级元素如果是可修改的类型就可以修改 # count,获取指定元素在元组中出现的次数 # index,获取指定元素的索引位置
五.字典 dict
# value可以是任意类型
info = {
"k1":"v1",#键值对
"k2":"v2"
}
print(info) # 列表和字典都不可以作为'k'值,以哈希表的方式存储
# 字典是无序的,可以通过自己规定的索引找到相应的值
v = info["k1"]
print(v) # 可以进行删除
# del info["k1"]
# print(info) # for循环,默认输出的是k。info.keys和默认情况向同
for i in info:
print(i) for i in info.values():
print(i) # 即输出键又输出值
for k,v in info.items():
print(k,v) # 如果出现k值重复,只能保留一个。
# 布尔值和0,1可能重复 # clear # copy浅拷贝 # 静态方法
# 根据序列,创建字典,并指定统一的值
v = dict.fromkeys(["k1",123,999],123)
print(v) #info.get("k1")和按照索引取值的区别就是:
#如果索引取值不存在会直接报错,而get则会返回none。如果不存在也可以通过参数指定返回值 #删除,,也可以通过参数等到当前删除值得value
#如果不存在,也可以指定一个默认的值返回给用户
# v=info.pop("k1")
# print(info,v) #popitem字典中随机删除键值对 #进行设置,如果存在则不设置,不做任何变化。也可以获取值
info.setdefault("k3",123)
print(info) info.update({"k3":12345,"k4":123})
info.update(k5=456)
print(info) #*******************最常用 keys items values get update********************************
六.布尔值 bool
# 0 1
# bool(...)
# 假:none,"",[],(),{},0
七.整理
# 一.数字
# int(...)
#
# 二.字符串
# replace/find/join/strip/startswith/split/upper/lower/fomat
s = "i am {name},age is {age}"
v = s.format(**{"name":"lzd","age":19})
print(v) # 三.列表
# append/extend/insert # 四.元组
# 一级元素不能被修改,删除,增加
#
# 五.字典
# get/update/keys/items/values
#
# 六.布尔
# 0 1
# bool(...)
# 假:none,"",[],(),{},0
Python学习第四天的更多相关文章
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- python学习第四次笔记
python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846 ...
- Python学习(四)数据结构(概要)
Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types int float Text Sequence ...
- python学习-第四天补充-面向对象
python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...
- python学习第四十八天json模块与pickle模块差异
在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点 跨语言,体积小 缺点 只能支持 int st ...
- Python学习(四)cPickle的用法
python中有两个类似的:pickle与cPickle:两者的关系:“cPickle – A faster pickle” pickle模块中的两个主要函数是dump()和load().dump() ...
- Python学习笔记(四)Python函数的参数
Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...
- Python学习(四十二)—— Djago-model进阶
一.QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMI ...
- Python学习笔记四
一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print ( ...
- python学习第四天笔记整理
一.迭代器及生成器 #迭代器:迭代的工具 #1 什么是迭代:指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值# while True:# print('===== ...
随机推荐
- Maven解决包冲突
依赖树 $ mvn dependency:tree [WARNING] [WARNING] Some problems were encountered while building the effe ...
- WebAPI前置知识:HTTP与RestfulAPI
对HTTP协议的基本了解是能理解并使用RestFul风格API的基础,在了解了这些基础之后,使用各种RestFul的开发框架才能得心应手.我一开始使用WebApi的时候就因为对这些知识缺乏了解,觉得用 ...
- 生信工具汇总--OMICtools
各种生信工具: https://omictools.com/
- vue--transition-group
1.为什么要使用<transition-group> <transition></transition>是vue封装的过渡组件 <transition nam ...
- SSM单元测试时出现:Failed to load ApplicationContext的一种可能解决办法
SSM单元测试时出现: 严重: Caught exception while allowing TestExecutionListener [org.springframework.test.cont ...
- Python入门(一)数据类型、循环语句
脚本语言类型: 1.编译型语言:写完代码不能执行,需要先编译 eg:c.c++.c# 2.解释性语言:不需要编译 直接执行 eg:python.jav ...
- winform SerialPort串口通信问题
一.串口通信简介串行接口(串口)是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为串 ...
- LeetCode--028--实现strStr() (java)
实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...
- Spring的事务初见
一.事务的特性 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 一致性: 执行事务前后,数据保持一致: 隔离性: 并发访问数据库时,一个用户的事物不被 ...
- JDK8下Object类源码理解
JDK8中Object类提供的方法: package java.lang; /** * Class {@code Object} is the root of the class hierarchy. ...