数据类型(二)

今日内容

1、列表

2、元组

内容回顾和补充

1、计算机基础

①硬件:cpu,内存,硬盘,主板,网卡

②操作系统:linux,centos, Ubuntu,redhat

windows

mac

③解释器,编译器

补充:编译型语言和解释型语言

编译型:写完代码后,编译器一次性编译交给计算机。c,c++,java,c#,go

解释型:写完代码交给解释器,一行一行解释,从上到下进行。py,php,ruby

④软件:应用程序

2、环境安装

①py解释器,py2,py3

②开发工具:pycharm/文本编辑器

3、py语法

解释器路径:#!/usr/bin/env python

linux系统应用:赋予文件可执行权限:chmod +x hello.py;. ./hello.py;source hello.py

①if,elif,else,while,break,contine
②编码

编码种类:acsii,unicode,utf-8,utf-16,bgk/gb2312

中文表示:

utf-8:3字节

gbk:2字节

py默认编辑器编码:

py3:utf-8

py2:ascii

③输入输出:

py2:

输入:raw_input

输出:print“ ”

py3:

输入:input

输出:print()

④数据类型
  • 整型,int:

    py2中有:int/long;py3中有int。

    强制转换:int(‘67’)

    除法:py2,import( from__ future__ import division) ,py3默认精确计算除法。

    布尔类型,bool:

    true/False 其他语言:true/false

    特殊为False的其他类型:0和“”

  • 字符串,str:

    独有功能:

    upper,lower

    replace

    strip,lstrip,rstrip

    isdigit

    startwith(' ') ,endwith('')以什么开头,结尾

    join:连接,"**".join(name)

    name='alex'

    print('_'.join(name))#循环每个元素,以_进行连接。

    格式化:format(类似%占位符)

    name="我叫{0},年龄:{1}".format('老男孩',73)

    print(name)

  • 编码:encode

    name='李杰',解释器读取到内存后,按照Unicode编码存储

    V1=name.encode('utf-8')

    print(v1)

    v2=name.encode('gbk')

    print(v2)

  • 公共特性:

    长度:len,后去字符串长度。

    索引:获取一个字符。

    切片:获取一段字符串。

    步长:name='alexalexalsc'

    val=name[0:-1:2]---2是步长
    val=name[-1:0:-2]--步长是负,从右到左取值

    索引为负,从右到左。

    val=name[::-1] 将字符串反转

    print(val)

  • for 循环

    name='alex'
    
    for item in name:
    
    print(item)
    
    name='alex'
    
    for item in name:
    
    print(itsm)
    
    break
    
    print(123)
    
    name='alex'
    
    for item in name:
    
    print(itsm)
    
    continue
    
    print(123)

    for循环打印字符串的每个元素:for>while。

    死循环:while > for。

    break:跳出全部循环

    continue;跳出本次循环,进行下次循环

    打印数字:range(0,10)

    for i in range(0,10):

    if i==7:(if i!=7:print(i))

    pass/contine

    else:

    print(i)

    注意:for,while使用环境,while无穷尽。

  • 布尔型

    True,False

    False:0和空字符

  • 输入输出

    py2:输入:raw_input

    ​ 输出:pinrt" "

    py3:输入:input()

    ​ 输出:print()

  • 变量

    字母数字下划线

  • 条件语句,循环语句

    while,for,break,continue

  • 运算符

    字符串格式化,format

    %s,

    %d,

    %%取百分号

  • 编码

    acsii

    unicode

    utf-8/utf-16

    gbk/gb2312

    中文表示:utf-8,3字节,gbk,2字节

  • 解释器路径:

    #!/usr/bin/env python

今日内容详细

1、列表

表示多个事物,使用列表。

user=['alex','zhangsan','lilei',99]

公共功能:

len:列表len,按照逗号计算

索引:从0开始。

切片:user]0:2]

步长:user[0:5:2],2是步长。

练习题:

"""
实现一个整数加法计算器(两个数相加): 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。
"""
方法1
num=[]
content=input('请输入加法:')
content=content.strip()
num=content.split('+')
print(num)
num1=int(num[0])
num2=int(num[1])
print(num1+num2) 方法2 num=[]
content=input('请输入加法:')
l=len(content)
print(l)
for i in range(l):
if content[i].isdigit():
num.append(content[i])
print(int(num[0])+int(num[1]))
方法3:
num=[]
content=input("请输入加法:")
content=content.split('+')
n1=int(content[0])
n2=int(content[-1])
print(n1+n2)

for循环:(字符串,列表,可嵌套)

输入:66+99,输出相应的结果。

通过for循环和数字计数器实现:

users=['zhangsan','lisi','wangwu']

输出每个名字,带索引号

# 练习题:请通过for循环和数字计数器实现:users = ['李邵奇','利奇航','张三丰','李子森']
"""
0 李邵奇
1 利奇航
2 张三丰
3 李子森
"""
users = ['李邵奇','利奇航','张三丰','李子森']
l=len(users)
for i in range(l):
print(i,users[i]) print("方法二")
count=0
for i in users:
print(count,i)
count+=1

删除:

del users[1]##删除索引1的元素。

字符串本省不能删除或者修改,列表可以。

修改:

users[2]=66

users[0][1]

列表的独有功能:

append()

users=[]

while True:

name=input('please input:')

users.append(name)

print(users)

输入次数限制:

users=[]

for i in range(0,3):---3次限制。

user=input('请输入用户名和密码:')

users.append(user)

username=input('请输入用户名:')

password=input('请输入密码:')

for item in users:

​ result=item

​ user=result[0]

​ pwd=result[1]

if userusername and pwdpassword:

print('登录成功!')

else:

print('登录失败!')

users=[]
for i in range(3):
name=input('请输入用户名和密码:')
users.append(name) username=input('请输入用户名:')
password=input('请输入密码:')
for item in users:
name=users[0].split(',')[0]
psswd=users[0].split(',')[1]
if username==name and password==psswd:
print("登陆成功!")
break
else:
print("登陆失败!")
break

insert

users.insert(1,'zhangsi')##在指定的索引位置插入元素。

remove:

users.remove('zhangsan')##删除zhangsan

pop()

users.pop(2) ##删除索引2元素

users.pop()##删除最后一个元素

clear()##清空列表

列表总结:

append,insert

remove,pop,clear,del users[2]

users[3]='wuxi'

索引,切片

列表嵌套:

users[3][2][0]

2、元组

元组书写规范

users = [11,22,33,"老男孩"] # 列表(可变)

users = (11,22,33,"老男孩") # 元组(不可变)

公共功能

索引

users = (11,22,33,"老男孩")

print(users[0])
print(users[-1])

切片

users = (11,22,33,"老男孩")
print(users[0:2])

步长

users = (11,22,33,"老男孩")
print(users[0:2:2])

删除(排除:tuple/str/int/bool)

修改(排除:tuple/str/int/bool)

for循环

users = (11,22,33,"老男孩")
for item in users:
print(item)

len

users = (11,22,33,"老男孩")
print(len(users))

独有功能(无)

特殊:元组中的元素不可被修改,删除。

# 示例一:
v1 = (11,22,33)
v1[1] = 999 # 错误
v1 = 999 # 正确 # 示例二:可以嵌套
v1 = (11,22,33,(44,55,66),(11,2,(99,88,),3)) # 示例三:嵌套
v2 = [11,22,33,(11,22,33)]
v2[-1][1] = 99 # 错误
v2[-1] = 123 # 正确 # 示例四:嵌套
v3 = (11,[1,2,3],22,33)
v3[1] = 666 # 错误
v3[1][2] = 123

内容总结:

1、解释型语言和编译型区别以及列举你了解的语言。

2、字符串补充功能

独有

  • startswith、endswith
  • format
  • encode
  • join

公共

  • 切片
  • 索引
  • len
  • 步长
  • for循环
  • range(0,10)

特性:不可变。

列表(可变)

公共

  • 索引
  • 切片
  • 步长
  • 修改
  • 删除
  • for
  • len

独有

  • append
  • insert
  • pop
  • remove
  • clear

列表嵌套

元组(不可变)

公共

  • 索引
  • 切片
  • 步长
  • for
  • len

独有功能(无)

元组嵌套

python笔记04的更多相关文章

  1. 我的Python笔记04

    摘要: 声明:本文整理借鉴金角大王的Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件 ...

  2. python笔记04:字典

    4.1 字典的使用 字典:通过名字来引用值的数据结构,又称为映射 字典中的值并没有特殊的顺序,但是都存储在一个特定的键下 字典提供的功能:快速查找特定键值对应关系   某些情况下,字典比列表更好用一些 ...

  3. Python笔记 #04# Methods

    源:DataCamp datacamp 的 DAILY PRACTICE  + 日常收集. Methods String Methods List Methods 缺一 Methods You can ...

  4. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块)   一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...

  5. 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)

    机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes) 关键字:朴素贝叶斯.python.源码解析作者:米仓山下时间:2018-10-2 ...

  6. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  7. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  8. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  9. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

随机推荐

  1. JAVA8之 Stream 流(四)

    如果说前面几章是函数式编程的方法论,那么 Stream 流就应该是 JAVA8 为我们提供的最佳实践. Stream 流的定义 Stream 是支持串行和并行操作的一系列元素.流操作会被组合到流管道中 ...

  2. $Noip2016/Luogu2827$蚯蚓

    $Luogu$ $Sol$ 乍一看就是个模拟叭,用个优先队列维护不就好了.不过这里有一个问题就是怎么解决没被切的蚯蚓的增长问题.可以这样处理,每次切一条蚯蚓,给切完之后的都减去$q$,最后输出答案时都 ...

  3. [系列] Go 如何解析 JSON 数据?

    概述 最近掉进需求坑了,刚爬上来,评估排期出现了严重问题,下面三张图很符合当时的心境. 谈需求 估排期 开始干 为啥会这样,我简单总结了下: 与第三方对接. 跨团队对接. 首次用 Go 做项目. 业务 ...

  4. JVM探秘:内存分配与回收策略

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 内存分配一般关注的是对象在堆上分配的情况,对象主要分配在新生代的Eden区中,如果启用 ...

  5. JVM系列(三):java的垃圾回收机制

    java垃圾回收机制介绍    上一篇讲述了JVM的内存模型,了解了到了绝大部分的对象是分配在堆上面的,我们在编码的时候并没有显示的指明哪些对象需要回收,但是程序在运行的过程中是会一直创建对象的,之所 ...

  6. 在Git的PR(Pull Request)提示冲突无法merge合并的解决方案

    问题 假设有一个分支A,向master分支提交PR,然后发生无法自动解决的冲突,PR提示不能执行merge合并. 解决方案1 本地checkout检出并切换到A分支,pull拉取更新到最新代码 在本地 ...

  7. Python基础(一):初识基本数据类型

    这个系列主要是对以往学过的Python3基础的总结和回顾. Python的基本数据类型包含数字.字符串.列表.元组.字典.集合几大类. 在介绍基本数据类型之前,先说明三个Python内建方法,有助于认 ...

  8. 小小知识点(二十二)显示屏与主机之间连接,出现无信号字样时,应检查是否正确选择集显和独显VGA接口

    显示屏与主机之间连接,出现无信号字样时,应检查是否正确选择集显和独显VGA接口 通过VGA接口判断集成显卡和独立显卡.在台式机主机上,VGA接口竖着放置的说明是集成显卡,VGA接口横着放置的说明是独立 ...

  9. SpringBoot 2.X整合Mybatis

    1.创建工程环境 勾选Web.Mybatis.MySQL,如下 依赖如下 <dependency> <groupId>org.springframework.boot</ ...

  10. PHP 对接 饿了么开放平台 接单

    <?php # 一开始使用的是API方式对接,所以我这里是API的方式+SDK的结合 (除了获取token之外都是使用SDK方式,所以看到的朋友还是直接使用纯SDK方式对接最好),因为我这里使用 ...