python笔记04
数据类型(二)
今日内容
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的更多相关文章
- 我的Python笔记04
摘要: 声明:本文整理借鉴金角大王的Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件 ...
- python笔记04:字典
4.1 字典的使用 字典:通过名字来引用值的数据结构,又称为映射 字典中的值并没有特殊的顺序,但是都存储在一个特定的键下 字典提供的功能:快速查找特定键值对应关系 某些情况下,字典比列表更好用一些 ...
- Python笔记 #04# Methods
源:DataCamp datacamp 的 DAILY PRACTICE + 日常收集. Methods String Methods List Methods 缺一 Methods You can ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...
- 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)
机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes) 关键字:朴素贝叶斯.python.源码解析作者:米仓山下时间:2018-10-2 ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
- boost.python笔记
boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
随机推荐
- 【他山之石】mybatis打印sql日志 相关配置
背景:mybatis的sql日志打印对我来说一直比较迷,哪怕看过网上很多博客后还是这样,这两天刚好又遇到了问题,要查sql不得已又来查阅,这次终于搞定了. mybatis是有提供日志功能支持的,目前支 ...
- FRPC 双向socket通讯 转发请求类轮子
一直在找一个能双向通讯的C#库 学识浅薄没有找到 于是封装一个预计BUG奇多的轮子 他是基于SuperSocket开发的 这样的 它跟传统的 架构不一样 它的最小架构 或者 客户端即是服务端 比如一个 ...
- 分支结构,for循环,while循环,跳出循环
#流程控制 概念:通过规定的语句让程序代码有条件的按照一定的方 式执行 顺序结构 按照书写顺序来执行,是程序中最基本的流程结构 选择结构(分支结构.条件结构) 分支结构 单路分支:if(执行的条件){ ...
- PHP 经典面试题集
这篇文章介绍的内容是关于PHP 经典面试题集 PHP 经典面试题集,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 结合我自己面试情况,面对的一些php面试题列举出来,基本上结合自己的看 ...
- 曹工说Spring Boot源码(12)-- Spring解析xml文件,到底从中得到了什么(context:component-scan完整解析)
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...
- latex一些有用的写法
编辑博文的时候总是忘语法,然后到网上查-- 干脆记一下! 1.编辑漂亮的函数上下标 \(\sum\limits_{i=1}^n\) 对于原有的函数:$\sum\limits_{i=1}^n$ \(\m ...
- [bzoj4011] [洛谷P3244] [HNOI2015] 落忆枫音
Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出 这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂--我们也 ...
- php变量中两种特殊类型
第一种----资源 资源(resource):资源是由专门的函数来建立和使用的,例如打开文件.数据连接.图形画布.我们可以对资源进行操作(创建.使用和释放).任何资源,在不需要的时候应该被及时释放.如 ...
- fastjson中Map与JSONObject互换
1.//将map转换成jsonObject JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap)); 将 ...
- Shell命令整理
Shell命令 一.认识Shell 在Linux系统中,Shell充当着用户与Linux内核的桥梁,俗称壳保护着Linux内核,同时也负责完成用户与内核之间的交互. 当用户需要与内核交互时,将命令传递 ...