python中(str,list,tuple)基础知识汇总


Posted in Python onFebruary 20, 2018

python是一门动态解释型的强类型定义语言(先编译后解释)

动态类型语言

动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来

解释型

程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行

强类型

一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了

优点:效率高,团队开发,移植,拓展,嵌入

缺点:速度慢,不能加密,禁止多线程并行进程

告诉解释器用什么编码执行

#!/usr/bin/env python
# -*- coding: utf-8 -*-

进制

二进制  01
八进制  01234567
十进制  0123456789
十六进制  0123456789ABCDEF

注释

#单行注释
'''多行注释'''

用户输入:input('用户输入内容')
打印屏幕

name = 'sunlizhao'

print('I am %s'%(name))

%s是字符串 %d是数字 %f是浮点型

数据类型

数字

int(整型),long(长整形),float(浮点型),complex(负数)
布尔

真或假, 1或0, true或false
字符串

name = 'sunlizhao'

print('I am %s'%(name))

%s是字符串 %d是数字 %f是浮点型

字符串操作:

name.capitalize()       首字母大写
name.casefold()         大写全部小写
name.center(50,'-')     在name的两边输出  -  字符
name.count('s')          统计s出现的次数
name.encode()           字符编码为bytes格式
name.endswith('lz')     判断字符串是否为lz结尾
's\tlz'.expandtabs(10)    讲\t转换为多长的空格
name.find('sl')               查找sl,找到返回其索引,  找不到返回-1

format :

    >>> msg = "my name is {}, and age is {}"
    >>> msg.format("alex",22)
    'my name is alex, and age is 22'
    >>> msg = "my name is {1}, and age is {0}"
    >>> msg.format("alex",22)
    'my name is 22, and age is alex'
    >>> msg = "my name is {name}, and age is {age}"
    >>> msg.format(age=22,name="ale")
    'my name is ale, and age is 22'

format_map

    >>> msg.format_map({'name':'alex','age':22})
    'my name is alex, and age is 22'

num1 = [11,22,33]
num2 = (11,22,33)
#num3 = {'a' = 11, 'b' = 22, 'c' = 33}
 
myStr = 'hello word itcast and'
#字符串操作
print (myStr)
print(myStr.find("word"))#找不到返回-1,找到返回下标
print(myStr.rfind("itcast"))#从右面查找,返回下表
print(myStr.index('word'))#同find,找不到会出现异常
print(myStr.rindex("itcast"))#同find
 
print(myStr.count('e'))#查找出现的次数
 
print(myStr.replace('word','Word',1))#将word替换为Word(从左到右替换一个)
 
print(myStr.split(' '))#将字符串中的空格切割掉
 
print(myStr.capitalize())#字符串第一个字符大写
print(myStr.title())#首字母大写
 
print(myStr.lower())#所有大写字符转换为小写
print(myStr.upper())#所有小写字母转换为大写
 
lyric = " 想陪你一起看大海 "
print(lyric.center(50))#在50个字符中居中
print(lyric.ljust(50))#靠左
print(lyric.rjust(50))#靠右
 
print(lyric.strip())#清除左右两侧空格
print(lyric.lstrip())#清楚左侧空格
print(lyric.rstrip())#清楚右侧空格
 
print(lyric.partition("一起"))#以'一起'为中心分割成三段
print(lyric.rpartition("一起"))#从右边开始查找(元组)
 
file_name = "xxxx.txt"
print(file_name.endswith(".txt"))#判断是否是.txt为后缀
print(file_name.startswith("xxxx"))#判断是否是xxxx为开头
 
numbe = "q"
print(numbe.isalpha())#判断是否是字母
print(numbe.isdigit())#判断是否是数字
print(numbe.isalnum())#判断是否是数字或者字母
 
print(numbe.isspace())#判断是否是纯空格
 
a = ["aa","bb","cc"]
b = " "
print(" ".join(a))#将a中的字符串用b连接起来

列表,元祖操作

定义列表

names = ['孙礼昭','slz','sunlizaho']

下标从0开始names[0],names[1],names[2]

倒取从-1开始 names[-1],names[-2],names[-3]
切片:取多个元素

步长为2

names[::2]

如果想取到最后一个元素,不能写-1

names[0:]
追加:

从最后添加

names.append('我是新来的')
插入:

通过索引插入

names.insert(0,'我是第一')
修改:

通过索引修改

names[0] = '我才是第一'
删除:

强删list

def names

清空list

names.clear()

按照下标删除元素内容

def names[0]

names[0] = []

删除指定元素

names.remove('slz')

删除列表最后一个值

names.pop()
拓展:

list1的内容添加到names的后面

names.extend(list1)
统计:

统计names中slz出现的次数

names.count('slz')
排序/翻转:

按照ascll码排序,注意py3不同数据类型不能排序

names.sort()

将整个list倒序(不排只倒)

names.reverse()
获取下标:

根据元素内容获取下标(只返回找到的第一个)

names.index('slz')

元组:tuple一旦创建,不得修改

t = (a,b,[c,d])
tt = t[2]
tt[0] = e
tt[1] = f
print(tt)

不是说不能变吗? 现在为什么又可以变了呢!

tuple的不变是指向不变,指向的list不能变,但是里面的内容是可以更改的

Python 相关文章推荐
python使用心得之获得github代码库列表
Jun 25 Python
Python编程实现的图片识别功能示例
Aug 03 Python
浅谈python中的正则表达式(re模块)
Oct 17 Python
python音频处理用到的操作的示例代码
Oct 27 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
django 简单实现登录验证给你
Nov 06 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
解决python中0x80072ee2错误的方法
Jul 19 Python
Python 反转字符串(reverse)的方法小结
Feb 20 #Python
python如何实现int函数的方法示例
Feb 19 #Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 #Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 #Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 #Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 #Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 #Python
You might like
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
nginx 设置多个站跨域
2021/03/09 Servers
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
vscode 远程调试python的方法
2017/12/01 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
安全标语大全
2014/06/10 职场文书
2014年医务科工作总结
2014/12/18 职场文书
情况说明书格式及范文
2019/06/24 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python