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('===== ...
随机推荐
- 【做题】POI2011R1 - Plot——最小圆覆盖&倍增
原文链接 https://www.cnblogs.com/cly-none/p/loj2159.html 题意:给出\(n\)个点,你需要按编号将其划分成不超过\(m\)段连续的区间,使得所有每个区间 ...
- C++第二章复习与总结(思维导图分享)
在完成了第二章的学习后,为了便于日后的复习整理,我制作了一张思维导图,有需要的可以自取. 基本数据类型 基础类型在cppreference网站上有非常完备的介绍,我一句话两句话也说不清,具体网址我会给 ...
- robotframework-ride支持python3
最近发现robotframework的RIDE工具终于支持python3了,赶紧就安装了一下. 最新版本1.7.3.1基于wxPython4.0.4,此时的wxPython也是支持Python3.x的 ...
- webpack中如何使用vue
1.安装 vue包:npm i vue -S 2.由于在webpack中,推荐使用.vue这个组件模版文件来定义组件,不然会出现vue.js移动和一些高级语法的不支持,因此需要安装能解析这种文件的lo ...
- loadrunner中JavaVuser脚本的编写
1.环境准备: LoadRunner11----->对应JDK1.6版本(32位) LoadRunner12----->对应JDK1.7版本(32位) (一).JDK下载安装完成 ...
- tensorbordX使用
安装: pip install tensorflow-1.7.0 pip install tensorbord pip install tensorbordX 启动 tensorboard --log ...
- PPI | protein-protein interaction | 蛋白互作分析
STRING database的挖掘 这个数据库绝对是做实验人的宝藏,里面包含了各种蛋白互作关系,不用做实验就有一大堆证据. IPA了解一下,收费的高端分析软件,大部分就是整合的这个数据库,很多大佬喜 ...
- Lambd Expression
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个 ...
- 『高性能模型』HetConv: HeterogeneousKernel-BasedConvolutionsforDeepCNNs
论文地址:HetConv 一.现有网络加速技术 1.卷积加速技术 作者对已有的新型卷积划分如下:标准卷积.Depthwise 卷积.Pointwise 卷积.群卷积(相关介绍见『高性能模型』深度可分离 ...
- jquery横向纵向鼠标滚轮全屏切换
html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF- ...