Python基础知识(3)
1:字符串类型转换
- num = 100
- num2 = ""
- #num是整数类型的值,num2是字符串类型的值,如果把他们两个的类型转换下呢?
- int(num2) #int 整形成整数
- str(num) #转换成字符串
2:组成字符串的两种方式
- #This One
- a = "lao"
- b = "wang"
- c = "zhao"
- #如果我们想打印 “laozhao”和“laowang”改如何打印
- d = a + b #这样打印d的结果是:laowang
- e = a + c #这样打印e的结果是:laozhao
- #如果我们想打印 “===laowang===”
- f = "===" + a + b + "==="
- #这样是不是很麻烦
- #This Two 我们试试第二种方法
- g = "===%s==="%(a+b)
3:字符串中的下标
字符串的下标是什么呢?就像我们去坐火车每一节车厢的座位号,这个及就类似于我们的下标
我们定义一个字符串,name = “ABCEDF” , 里面的adcdef就类似于座位号,每一个字符都有一个下标,注意Python的下标是从0开始计算的,我们来看
中括号里面的数值,我们称之为下标
如果你想打印一个变量里面的最后一个字符,那请问你如何获取变量里一共写了多少字符?
len :测试长度
比如 : 测试name的变量 len(name)
如何获取变量中最后一个字符呢?
name[-1]
4:切片、字符串的逆序
切片:取一片内容。就像一块羊肉,切一片的意思。
注意:切片的取值,取不到截至点的值,只能取到截至点前的一位数字
如果你冒号后面没有写截至点的话,那就默认显示后面所有的字符,我们来试试
如果我们想从第二个数字取到倒数第二个数字,我们应该如何操作?
假如我想取 name = "abcdefABCDEF" 中 ceACE我该如何操作,就是我跳着取值该如何操作?
语法为 :name[起始位置:终止位置:步长]
我们在来说说逆序,也就是倒序
上面的方法也可以写成:
我怎么去判断,冒号前面是从左边开始切片,还是右边呢?就看后面的步长,如果是 -1的话,冒号的左边变成了右边,而冒号的右边变成了字符串的最左边。
5:字符串的常见操作
find : 查找
比如:我们写一个字符串
6是什么意思呢 ? 指查找的内容在字符串的第几位,从0开始world的w是在6位
我输入错误的时候,为什么程序也会显示出来。如果找到了就会显示出位置数,如果不是,那就显示-1,找不到信息就显示 -1.
运行find的时候,找的顺序就是从左边开始找,那如果我们想从右边也就是后面开始找的话, 那我们该怎么写?
index也是索引的意思,也可以用来查找,但是唯一不同的是,find查找不到也会返回信息,index查找不到无法返回信息。除了找不到的时候功能显示不一样,其他的都一样。
count:查看在字符串中该字符一共出现几次
replace:替换字符串中的字符。相当于replace的返回值,愿字符串不变
我们再来试一次
那如果我们只想修改一个呢?,后面的1表示个数,你想修改的个数是几。
split:切割
我们把name变量里面的字符串用split来分割,按照空格来切割
capitalize:把字符串的第一个字符大写
title:把所有字符串的首字母大写
startswith:检查输入的信息是否与字符串的开头相同,如果相同就返回True,如果不是就返回False
endwhith:检查输入的信息是否与字符串的末尾相同,如果相同就返回True,如果不是就返回False
lower:把字符串中所有的大写字符串成小写
upper:把字符串中所有的小写字符串成大写
ljust:靠左居中
rjust:靠右居中
center:居中显示,居中的长度用户自己定义,center(50),前后各50
lstrip:删除左边的空白字符
rstrip:删除右边的空白字符
strip:删除两端的空白字符
rfind:类似于find()函数,不过是从右边开始查找
rindex:类似于index()函数,不过是从右边开始查找
partition:讲字myStr字符串中的,willam前,willam,和willam后分为三段显示出来
可以自己尝试在里面放置两个同样的字符,用partition和rpartition来看看什么效果
splitlines:按照行分隔,返回一个包含各行作为元素的列表
isalpha:判断是否为字母
isdigit:判断是否为数字
isalnum:判断是否为字母和数字
isspace:判断是不是纯空格,如果是返回True,如果不是返回False
join:构建一个新的字符串
6:列表
如果我们想把公司的任意一个人定义成一个变量,是没问题的,那我们想把每个部门的每个人都定义呢,也可以这样做,那会比较麻烦,这样用列表就比较简单了
那我们应该如何对列表进行 增删改查?
我们先来说添加一个名字到列表里
语法 : append
那如果我们想在指定位置插入一个名字呢?
语法:insert。前面的0代表你想插入的位置,后面的威廉,代表你想插入的姓名
append和insert的区别是一个只能在最后插入字符,一个是可以在任何位置插入字符
我们再说一个插入字符的方法
还有没有其他办法 ?
语法:extend
我们再来说说如果删除列表的内容
pop():删除列表中的最后一个,把列表中的最后一个字符拿出来,相当于删除
如果我们想删除里面的任意一个名字的时候,我们该如何操作?
语法:remove。根据内容来删除
还有一种方法和remove差不多。
语法:del。根据下标来删除
说完删除我们在来说说如何更改内容
如果我们进行查询的话,该怎么操作
语法:in 或 not in
7:字典
什么是字典?字典其实和变量和列表都是一样的,来存储内容,只不过语法不一样
字典是: infor = {键:值,键:值,键:值}
字典如何增删改查呢?
1、增加一个Key:Value
- #先定义一个字典
- infor = {'name':'willam','age':18,'addr':'Henan'}
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan'}
- #下面的命令事进行添加一个值
- infor['QQ'] = 10086
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10086}
2、修改字典的信息
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10086}
- #字典里面已经有一个QQ信息了,我们再来输入一个试试
- infor['QQ'] = 10010
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10010}
- #如果字典里面已经存在你要添加的值,会变成修改字典内该值
3、删除字典信息
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10010}
- #del 删除字典内信息,我们先来删除QQ看看效果
- del infor['QQ']
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan'}
- #再次查看字典,QQ已经没了,我们想再次删除QQ试试。报错了,如果字典内没有你想删除的信息,就会报错
- del infor['QQ']
- Traceback (most recent call last):
- File "<pyshell#47>", line 1, in <module>
- del infor['QQ']
- KeyError: 'QQ'
4、查询字典信息
- infor
- {'name': 'willam', 'age': 18, 'addr': 'Henan'}
- #和列表差不多,我们根据字典内的key来进行查找信息
- infor['name']
- 'willam'
- infor['age']
- 18
- #但是如果我们输入的值没有的话,他就会报错,怎样查看这个值是否存在在字典内而不报错呢?
- infor['QQ']
- Traceback (most recent call last):
- File "<pyshell#56>", line 1, in <module>
- infor['QQ']
- KeyError: 'QQ'
- #这样写就不会报错了
- infor.get('QQ')
- infor.get('name')
- 'willam'
- infor.get('age')
- 18
字典的增删改查:
- #增加
- xxx['Key'] = Value
- #删除
- del xxx['key']
- #修改
- xxx[已存在的key] = new_value
- #查询
- xxx.get('key')
8、While、For循环遍历列表
- #while 循环遍历
- num = [11,22,33,44,55]
- i = 0
- while i<5:
- print(num[i])
- i += 1
- #for 循环遍历
- num = [11,22,33,44,55]
- for temp in num:
- print(temp)
- #如果num里面包含很多很多的数值的时候,我们可以这样操作
- num = [11,22,33,44,55,66,77,88,99,10,111,222,333,444,555]
- i = 0
- temp_num = len(num)
- while i<temp_num:
- print(num[i])
- i += 1
9、for-else的应用
- card_name = [{'name':'老王','age':18,'addr':'河南'},{'name':'老李','age':20,'addr':'河南'}]
- find_name = input("请输入你需要查找的姓名:")
- for temp in card_name:
- if temp['name'] == find_name:
- print("找到了...")
- break
- else:
- print("查无此人")
10、列表的append、extend区别
- #extend
- a = [11,22,33]
- b = [44,55]
- a.extend(b)
- print(a)
- [11, 22, 33, 44, 55]
- #append
- a = [11,22,33]
- b = [44,55]
- a.append(b)
- print(a)
- [11, 22, 33, [44, 55]]
- #append是把整个列表都添加进去,而extend是把列表里的值一个一个的添加进去,所以要区分开来。一个事整体添加,一个是合并。
11、字典的常见操作、遍历
- infor = {'name':'willam','age':18,'addr':'Henan'}
- #我们使用xxx.keys()可以查看字典内包含了多少key
- infor.keys()
- dict_keys(['name', 'age', 'addr'])
- #同样的方式,我们也可以进行value的查询
- infor.values()
- dict_values(['willam', 18, 'Henan'])
- #我们也可以使用if进行查询有没有该信息,当然infor.get('')也是可以的
- if 'qq' in infor.keys():
- print("有QQ信息")
- if 'name' in infor.keys():
- print("有name信息")
- 有name信息
- if 18 in infor.values():
- print("有")
- 有
- #我们可以用以下命令来查看infor字典内所有的key
- for temp in infor.keys():
- print(temp)
- name
- age
- addr
- #用一下命令来查看infor字典内所有的value
- for temp in infor.values():
- print(temp)
- willam
- 18
- Henan
- #items查看字典内所有的key和value,注意输出的结果是元祖
- infor.items()
- dict_items([('name', 'willam'), ('age', 18), ('addr', 'Henan')])
- for temp in infor.items():
- print(temp)
- ('name', 'willam')
- ('age', 18)
- ('addr', 'Henan')
- #这样写更美观点
- for temp in infor.items():
- print('key=%s,value=%s'%(temp[0],temp[1]))
- key=name,value=willam
- key=age,value=18
- key=addr,value=Henan
- #下列的操作是:拆包,把元祖内的值拆开分给c,d
- a = (11,22)
- b = a
- b
- (11, 22)
- c,d = a #先计算等号右边,a的值第一个分配给左边的c,第二个分配给左边的d,依次往后推,这种方式叫作 拆包
- c
- 11
- d
- 22
- #我们再来修改下上面的items去里面的值
- for A,B in infor.items():
- print("key=%s,value=%s"%(A,B))
- key=name,value=willam
- key=age,value=18
- key=addr,value=Henan
Python基础知识(3)的更多相关文章
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python基础知识(Basic knowledge)
Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
随机推荐
- 利用ms17_010漏洞实验
1.理论 在MSF里面msfconsole可以说是最流行的一个接口程序.但是msfconsole真的是一个强大的接口程序.Msfconsole提供了一个一体化的集中控制台.通过msfconsole,你 ...
- MYSQL使用inner join 进行 查询/删除/修改示例
代码如下: --查询 SELECT tp.tp_id, tp.tpmc, tp.leveid, tp.tpdz, tp.jgm, tp.scsj, tp.pbzyid, tp.ksbfsj, tp.j ...
- iOS 7的手势滑动返回
如今使用默认模板创建的iOS App都支持手势返回功能,假设导航栏的返回button是自己定义的那么则会失效,也能够參考这里手动设置无效. if ([self.navigationController ...
- python day- 10 动态参数 函数的嵌套 命名空间和作用域 global和nolocal
一.动态参数: 动态参数是形参的一类 分为:动态位置参数(* + 函数名)表示 调用后返回的是元祖 动态关键字参数(** + 函数名)表示 形参的排列顺序: 位置参数 > 动态位置参 ...
- bzoj3727: PA2014 Final Zadanie
我真是SB之神呢这么SB的题都不会 肯定是先无脑正向思考,罗列下关系式: b[1]=∑a[i]*dep[i]=∑tot[i] (i!=1) b[i]=b[fa]-tot[i]+(tot[1]-tot[ ...
- MongoDB3.6.3 windows安装配置、启动
1.官网下载MongoDB的安装包 2.安装中一直Next即可安装成功,不过需要注意的是: 可以自定义安装,选择安装路径 值得注意的还有,安装中因为下载compass十分缓慢.把下面默认选中的勾去掉 ...
- 一步一步学Silverlight 2系列(25):综合实例之Live Search
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- FPU同步(翻译)
本篇翻译的原英文在:http://mauve.mizuumi.net/2013/06/16/desyncs-and-fpu-synchronization/#more-725(可能要FQ) 如果你曾经 ...
- rcfile
转自:http://flyingdutchman.iteye.com/blog/1871025 在当前的基于Hadoop系统的数据仓库中,数据存储格式是影响数据仓库性能的一个重要因素.Facebook ...
- [SoapUI] Reference parameter 引用变量
Reference parameter in WADL : Endpoint : ${#Project#DomainServer} Resource : {AdvisorID} Reference p ...