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('===== ...
随机推荐
- Linux (麒麟)系统 重启后无法登陆进图形界面
登录图形化界面的时候,会显示GNOME电源管理器没启动等提示信息,会一直卡在登录界面 在启动的时候按ESC或者在登录界面crtl+alt +f3 进入字符终端界面 查看物理存储空间占用信息,可能会有一 ...
- vue+vux页面滚动定位(支持上下滑动)
接上篇文章:https://www.cnblogs.com/ligulalei/p/10622778.html在上篇文章中实现了通过使用scrollIntoView()在使用vux的移动端实现了点击锚 ...
- 自动化pip安装
其实正确安装python3.6后,在安装目录里就有pip.exe文件,只不过用的时候,要进入pip的安装目录下进行安装numpy等. 如进入这个目录, D:\Program Files\Python\ ...
- MySQL:(一)
数据库概述 什么是数据库 数据库是一个文件系统.通过标准SQL语言操作文件系统中数据——用来存放软件系统的数据! SQL:Structured Query Language 结构查询语言 常用数据库简 ...
- Axure 矩形交互样式与单选按钮组设置
矩形交互样式: 场景:当点击昵称的时候,密码栏会显示红框,当点击密码的时候,昵称会显示红框 补充:昵称栏和密码栏的组成其实是一个矩形框和一个文本框,这样才可以设置出场景所示的样式 这里的设置只是简单的 ...
- python基础知识点(unittest)
目录: unittest 单元测试框架 1.写用例: Testcase 2.执行:TestSuite 类 TestLoader 类 3.比对结果(期望值/实际值):断言函数 4.结果:TestText ...
- 《R语言入门与实践》第三章:R 对象
在这一章,包含的内容有: R 的数据类型 属性 类(特殊的属性) Ruby 的数据结构 R 数据类型 R 可以识别六种类型的数据类型,分别是: double integer character log ...
- 关于RedHat Linux无法使用yum命令安装gcc-c++问题
初入职场,在给RedHat Linux安装环境的时候遇到这么个问题. 参考:http://www.linuxidc.com/Linux/2017-08/146548.htm [root@localho ...
- Monkey工具
Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey. Monkeyrunner.benchmark.其它test too ...
- redist命令操作(二)--哈希Hash,列表List
1.Redis 哈希(Hash) 参考菜鸟教程:http://www.runoob.com/redis/redis-hashes.html Redis hash 是一个string类型的field和v ...