Python-字符串及列表操作-Day2
1.数据类型
1.1 变量引出数据类型
变量:用来记录状态
变量值的变化就是状态的变化,程序运行的本质就是来处理一系列的变化
1.2 五大基本数据类型:
- 数字
- 字符串
- 列表
- 元组
- 字典
1.2.1 数字
二进制:0101010 #对应的调用bin()
八进制:1-7 #对应的调用oct()
十六进制:0-9abcdef #对应的调用hex()
- 整型
- 长整型
- 浮点
- 布尔
- 复数
1.2.2 整型
内置函数是:int()
int(a,base=b)
a是变量或者是"a(未定义变量)"
base=b b告诉计算机以什么进制进行运算
一切皆对象
age = 10 ---> int(10)--->init --->调用
以上说明所有的变量最终都是通过对象来生成创建的
python3中int()已经没有区分整型与长整型
1.2.3 布尔
True 和 False
1和0
1.2.4 浮点float
Python的浮点数就是数学中的小数
1.2.5 复数
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注意,虚数部分的字母j大小写都可以,
1.3 + 2.5j == 1.3 + 2.5J
True
1.3 字符串
字符串的定义:
msg="hello world"
1.3.1 字符串模块方法1:
#首字母大写:
print(msg.capitalize())
#按照字符串是20个 居中显示
print(msg.center(20,'*'))
#字符串中包含所选字符的计数 模式=('字符',start=1,end=2)
print(msg.count('l',1,3))
其中包含所选的字符是通过start和end字符位置确定的
#按照字符提取,[]内数字代表字符串的字符下标
print(msg[4])
#判断一个字符串是否是以'd'结尾的
print(msg.endswith('d'))
#指定空格的个数 expandtabs只是针对tab键或者空格键
msg1='a\tb'#\t
print(msg1)
print(msg1.expandtabs(10))
#找到对应字符的索引
print(msg.find('d'))
#没有找到就直接输出-1
print(msg.find('z'))
print(msg.find('d',1,11))
print('{0},{1}'.format('name','age'))
print('{name}'.format(name = "stone"))
1.3.2 字符串模块方法2:
index
索引:查看指定字符的索引
isalnum:
判断字符都是数字
msg3='123a'
isalpha:
字符都是字母
isdecimal:
判断是否是十进制数字
## isdigit(): ##
判断是否是整型数字
isnumeric:
判断是不是数字
isidentifier:
判断字符串内是否包含关键字;
islower():
判断字符串是否是小写
isspace():
判断字符串是否是空格
istitle():
是否是标题 单词首字母必须是大写的 其他的字符不能是大写的,
isupper():
是否都是大写
lhust():
左对齐
print(msg.ljust(10,'*'))
rjust():
右对齐
lower():
将所有的大写转换成小写
upper():
将所有的小写转换成大写
lstrip():
左边去除空格
rstrip():
去除右边的空格
maketrans():
将字符串进行替换 替换的字符串需要跟等长
yfill():
从右侧填充
1.3.3 字符串常用的操作
- 移除空白 strip():去除空白
- 分割 split()
- 长度 len()
- 索引 msg[3]:字符索引
- 切片 msg[0:3]:字符串切片 msg[2:7:2]:按步长取
2. 运算符
2.1 算数运算
2.2 比较运算
2.3 赋值运算
2.4 位运算
注: ~ 举例: ~5 = -6 解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110
按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了
2.5 逻辑运算
and注解:
在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,
但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有
值都为真,那么 and 返回最后一个值。
如果布尔上下文中的某个值为假,则 and 返回第一个假值
or注解:
使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。
如果有一个值为真,or 立刻返回该值
如果所有的值都为假,or 返回最后一个假值
注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个
真值,然后就会忽略剩余的比较值
and-or结合使用:
结合了前面的两种语法,推理即可。
为加强程序可读性,最好与括号连用,例如:
(1 and 'x') or 'y'
2.6 成员运算
2.7 身份运算
3. for循环
写程序最忌讳的就是重复代码!!!
循环10次:
for i in range(10):
print(i)
run执行输出:0 1 2 3 4 5 6 7 8 9 0
如果不想从0开始执行:
for i in range(1,10):
print(i)
run 执行结果:1 2 3 4 5 .. 9
range(1,10):表示从1开始一直到9;
range(2,7):表示从2开始一直到6;
3.1 猜年龄程序:
#!/usr/bin/env python
right_age = 60
for i in range(3):
age = int(input("print you guess age:"))
if age == right_age:
print("guess right!")
break
elif age > right_age:
print("guess smaller!")
else:
print("guess bigger!")
else: #如果for循环正常结束,就执行下面的语句
print("too many times!!!") # == exit("too many attempts")
3.2 for循环else语法测试:
for i in range(10):
print(i)
if i == 5:
print("5退出!")
break
else:
print("循环正常退出!")
执行结果
3.3 for循环-嵌套循环:
for i in range(10):
print(i)
for j in range(10):
if j < 6:
#break # 跳出当前层循环
continue #跳出当次循环,继续下一次循环
print(i,j)
3.4 while 循环
死循环
判断年龄,使用while+条件执行循环。
#!/usr/bin/env python
age=56
count = 0 # 计数
while count<3: # 判断执行三次跳出loop
guess = input("guess age:")
if guess.isdigit():
guess = int(guess)
else:
continue
if guess == 56:
print("OK")
break
elif guess > age:
print("bigger")
else:
print("smaller")
count += 1
4. 列表
4.1 列表功能
定义一个列表:names = []
或者name = list(1,2,4)
names = []最终调用的就是list这个类
4.1.1 增 append
names.append()
例子:names.append("zheng")
print(names)
names.insert(2,"app")在指定的index之前插入
4.1.2 删 del pop() remove()
删除的三种方式:
names.remove()
names.pop()
del names[index]
names.remove("app"):删除找到的第一个key
del names[3]:直接指定索引删除
names.pop(3):指定索引删除,不指定索引直接删除最后一个。
4.1.3 改
names[1] = "wang" 直接指定索引替换成想要的
print(names)
4.1.4 查
print(name[-2]) #直接指定索引取出
print(name[0::2]) #按照步长取值
print(name[-3:]) #取最后三个元素
print(name[:3]) #取前三个元素
print(name.index("wang"))#取元素的下标
4.1.5 计数 count()
print("count",names.count("wang"))# 获取
4.1.6 清空 clear()
name.clear() #清空列表
4.1.7 扩展合并 extend()
name.extend("liang") #作用是两个列表的合并
name1=["hello","nihao"]
name2=["ca","haha"]
name1.extend(name2) #列表扩展
name1
['hello', 'nihao', 'ca', 'haha']
4.1.8 排序 sort()
name.sort() #排序
4.1.9 反转 reverse()
name.reverse() #反转
python3中列表中必须统一 元素中字符串与数字不能混用
4.1.10 copy()
copy语法重新制定内存与原内容内存id存储位置不同
4.1.11 列表的长度len()
name = [11,22,33]
print(len(name))
3
4.3 循环一个列表
for i in names:
print(i)
enunerate(name):
4.4 列表的判断
len(a)
# 判断一个列表的长度
val >=0 and val <len(a)
4.5 数据类型转换内置函数汇总
5 Python整理-小记
5.1 执行脚本传入参数
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
Python内部提供的模块
业内开源的模块
程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print sys.argv
5.2 sys os 模块小记
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
5.2.1 sys 模块
sys
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print(sys.argv)
#输出
$ python test.py helo world
['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到了
5.2.2 os模块
os
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
os.system("df -h") #调用系统命令
5.2.3 完全结合一下
import os,sys
os.system(''.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行
Python-字符串及列表操作-Day2的更多相关文章
- python字符串、列表和文件对象总结
1.字符串是字符序列.字符串文字可以用单引号或者双引号分隔. 2.可以用内置的序列操作来处理字符串和列表:连接(+).重复(*).索引([]),切片([:])和长度(len()).可以用for循环遍历 ...
- Python字符串的相关操作
1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...
- python字符串、列表和字典的说明
python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...
- Python编程之列表操作实例详解【创建、使用、更新、删除】
Python编程之列表操作实例详解[创建.使用.更新.删除] 这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋 ...
- Python 基础篇:字符串、列表操作
字符串操作 判断是否为数字 string = "200" string.isdigit() >>false 待完善.. 列表操作 列表是我们最以后最常用的数据类型之一, ...
- python数据类型(字符串、列表操作)
一.整形和浮点型整形也就是整数类型(int)的,在python3中都是int类型,没有什么long类型的,比如说存年龄.工资.成绩等等这样的数据就可以用int类型,有正整数.负整数和0,浮点型的也就是 ...
- Python 第二篇:python字符串、列表和字典的基本操作方法
本文基于python 3.5.1 python常见的数据类型有字串.列表.元组.字典等,本文将详细介绍每一种数据类型的操作方法. 一:str字串的操作方法: 1.capitalize()--> ...
- 【02】Python 字符串、列表、元组、字典
1 列表 list就是一种采用分离式技术实现的动态顺序表(tuple也一样): 在建立空表(或者很小的表)时,系统分配一块能容纳8个元素的存储区: 在执行插入操作(insert或append)时,如果 ...
- python字符串和数值操作函数大全(非常全)
字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\‘的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...
随机推荐
- 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter问题
问题:64位系统中安装了32位程序解决办法 是因为64位系统中安装了32位程序 解决方法: yum install glibc.i686
- centos7安装eclipse方法
很多喜欢编程的朋友并不是很喜欢使用Windows来编写程序,尽管可视化编程但是操作相对繁琐,因而只在电脑上装有Linux系统,那么我们来说一下Linux下安装Java EE编程工具eclipse的方法 ...
- Springboot项目如何把项目运行在服务器上
作为一个开发者,不可避免的要把本地项目变成可以接入外网的上线项目,今天来记录下springboot框架下如果把项目打包放在服务器上运行 第一步,首先要买个服务器,这个一般甲方会提供 第二步,导入jar ...
- 关于Android SDK Manager更新速度慢的解决方法
因为我的C盘比较小,android sdk安装在c盘那么他下载的东西也会默认在c盘.所以我选择安装在其他的盘.而且我发现android sdk manager可以开多个窗口,这样的话如果每个窗口都很慢 ...
- jQuery对于动态生成的元素绑定无效的问题~~
问题:很多时候发现,对动态生成的元素绑定click事件是无效的- 原因:直接绑定到动态生成的元素是无效的,是因为Jquery扫描文档找出所有的$(‘’)元素,并把函数绑定到每个元素的click事件上, ...
- C++单例模式的经典实现(Singleton)
C++单例经典实现 本文主要介绍C++使用中的单例的两种经典实现,基本可满足一般的使用,主要分为饿汉模式和懒汉模式两种 饿汉模式 class Singleton { public: static Si ...
- c++ --> cin和cout输入输出格式
cin和cout输入输出格式 Cout 输出 1>. bool型输出 cout << true <<" or " << false < ...
- linux小白成长之路1————通过Parallels安装CentOS虚拟机
以下是通过Mac版Parallels安装CentOS虚拟机的教程: 1.在Parallels向导中选择"下载CentOS",点击"继续":  2.点击&quo ...
- Python基础-week05
本节大纲:Author:http://www.cnblogs.com/Jame-mei 模块介绍 time & datetime模块 random os sys shutil json &am ...
- 自动化制作.framework
1.生成.framework前的配置工作详见:http://www.cnblogs.com/huangzs/p/8029258.html 2. 将以下脚本粘贴进去,修改FMK_NAME. p.p1 { ...