Python 基础知识(二)
一、基础数据类型
1、数字int
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数
# -*- coding:UTF- -*-
v =
data = v.bit_length()
print(data)
# 二进制:
#
# 十进制:
#
#因为11小于16,而16占用5位。11最小占用应该为4位。
输出内容为:
2、布尔值
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
"""
int ---> str :str(int) ##数字转为字符串
str ---> int :int(str) str必须全部是数字组成。 ##字符串转为数字 int --- > bool False 非零 True ##数字转为bool
bool ---> int int(True) int(False) ##布尔转为数字 str ---> bool '' False 非空字符串 True ##字符串转为bool.
"""
3、字符串
3.1、字符串的索引
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
A = 'alex bog d3dfj%sdkfA'
s1 = A[]
print(s1) #输出内容:a
s2 = A[]
print(s2) #输出内容:x
s3 = A[-]
print(s3) #输出内容:A
3.2、字符串的切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)
a = 'ABCDEFGHIJK'
print(a[:]) #输出: ABCD
print(a[:]) #输出:CDE
print(a[:]) #后面区间不加表示默认输出到最后。输出:ABCDEFGHIJK
print(a[::]) #加步长,最后面的2为步长。输出:ACE
print(a[::-]) #反向步长。输出:FDB
3.3、字符串的方法
a = 'cd Adfsdfs 12EF dG677JK'
#capitaliza方法 首字母大写
print(a.capitalize()) #Cd adfsdfs 12ef %g677jk
#swapcase方法 大小写翻转
print(a.swapcase()) #CD aDFSDFS 12ef %g677jk
#title 每个单词的首字母大写
print(a.title()) #Cd Adfsdfs 12Ef Dg677Jk
#center方法 内容居中,总长度,空白处填充
print(a.center()) # cd Adfsdfs 12EF dG677JK
空白处用*填补
r =a.center(,"*")
print(r) #***cd Adfsdfs 12EF dG677JK**** #count方法 统计字符串元素出现的个数
r = a.count("d") #统计“d”在语句中出现的次数
print(r) ## 输出结果: r = a.count("d",,) #统计“d”在下标区间为0到5中间出现的次数
print(r) #输出结果:
#startwith 判断是否以...开头
s = a.startswith('c')
print(s) #返回布尔值:True
s = a.startswith('A',,)
print(s) #在下标3到6间查找是否以大写字母A开头
#判断是否以...结尾
s= a.endswith('k')
print(s) ##返回布尔值:false s4 = a.find('A',,)
print(s4) ##找不到就返回-(数组下标),找到就返回内容对应的下标,此处返回A对应的数组下标4 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
ret9 = 'title,Tilte,atre,'.split('t')
print(ret9) ##输出结果:['', 'i', 'le,Til', 'e,a', 're,'] #strip方法
name = '*start**'
#去除语句中所有的“*”
print(name.strip('*')) 输出结果: start
#去除语句头部的“*”
print(name.lstrip('*')) 输出结果: start**
#去除语句尾部的“*”
print(name.rstrip('*')) 输出结果: *start #replace 替换
name = 'alex say :i have one tesla,my name is alex.
print(name.replace('alex','sb',)) #将Alex替换成sb,后标位置为1时,替换一个。后标位置的数字表示要替换的个数。 #is方法
name = 'jenxin123'
print(name.isalnum()) #字符串由字母和数字组成
print(name.isalpha()) #字符串由字母组成
print(name.isdigit()) #字符串由数字组成
4、元组
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
5、列表
5.1、增
li = ['alex',123,True,(1,2,3, ' wusir '),[1,2,3, ' 小明'],{ 'name','alex '}]
#insert 按着索引去增加
# li.insert(,)
# print(li) # 输出:[, 'alex', , True, (, , , ' wusir '), [, , , ' \xe5\xb0\x8f \xe6\x98\x8e'], set(['name', 'alex '])]
#append 追加到最后
# li.append('aaa')
# print(li) #输出内容: [, 'alex', , True, (, , , ' wusir '), [, , , ' \xe5\xb0\x8f \xe6\x98\x8e'], set(['name', 'alex ']), 'aaa']
#extend 迭代的去增加
# li.extend(['a,q,w'])
print(li) #输出内容:['alex', , True, (, , , ' wusir '), [, , , ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex ']), 'a,q,w']
列表的增
5.2、删
pop 按着位置去删除,有返回值
# l1 = li.pop()
# print(l1) #输出:
# print(li) #输出:['alex', True, (, , , ' wusir '), [, , , ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])] #del 按着位置去删除,也可以切片删除,没有返回值
# del li[:]
# print(li) #输出:['alex', (, , , ' wusir '), [, , , ' \xe5\xb0\x8f\xe6\x98\x8e'], set (['name', 'alex '])]
#remove 按着元素去删除
li.remove()
# print(li) #输出: ['alex', True, (, , , ' wusir '), [, , , ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])]
#clear 清空列表
li.clear()
列表的删
5.3、改
# li = [,'a','b','c',,]
# li[] = 'dfsdfsdfsdfgbc'
# print(li) # 输出:[, 'dfsdfsdfsdfgbc', 'b', 'c', , ]
# li[:] = ['c','ddddssgvb']
# print(li)
列表的改
5.4、查
a = ["a","b","g","c","d","c"]
#切片去查,或者循环去查。
其他操作: # count(数)(方法统计某个元素在列表中出现的次数)
# print(a.count("a")) #输出:
# index(方法用于从列表中找出某个值第一个匹配项的索引位置)
# print(a.index("c")) #输出:
# sort (方法用于在原位置对列表进行排序)。
a.sort()
print(a) #输出: ['a', 'b', 'c', 'c', 'd', 'g']
print(a.sort()) # None
# reverse (方法将列表中的元素反向存放)
a.reverse()
print(a) # 输出: ['g', 'd', 'c', 'c', 'b', 'a']
列表的查
6、字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典:存储数据多,关系型数据,查询速度快(二分查找)。
.6版本之前,字典是无序的,.6之后字典是有序的。字典的key是唯一的。key 必须是不可变的数据类型。
key:不可变的数据类型(可哈希):str,bool,tuple,int。
value:任意数据类型。
数据类型分类:
不可变的数据类型(可哈希):str,bool,tuple,int
可变的数据类型:dict,list,set。
容器类数据类型:list,tuple,dict,set.
6.1、增
#、 setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
dic = {
'name_list':['b哥', '张帝', '人帅', 'kitty'],
'dadong':{
'name':'dadong',
'age': ,
'sex': 'ladyboy',
},
}
dic.setdefault('k','v')
print(dic) #、dic['key1']='value1' ,有则替换,无则添加
字典的增
6.2、删
、 pop根据key删除键值对,并返回对应的值,如果没有key,则返回默认的返回值。
dic_pop = dic.pop("name_list",'无返回值')
print(dic_pop) #输出:['b哥', '张帝', '人帅', 'kitty']
print(dic) #输出:{'dadong': {'name': 'dadong', 'age': , 'sex': 'ladyboy'}}
、随机删除字典中某个键值对,将删除的键值对元组的形式返回。
dic_pop1 = dic.popitem()
print(dic_pop1) #输出:('dadong', {'name': 'dadong', 'age': , 'sex': 'ladyboy'})
、clear 清空字典
dic_clear = dic.clear()
print(dic,dic_clear) #输出: {} None
字典的删
6.3、改
dic1 = {'name':"jin","age":,"sex":"male"}
dic2 = {"name":"alex","wegint":}
dic2.update(dic1) #将dic1所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中。
print(dic2) #输出:{'name': 'jin', 'wegint': , 'age': , 'sex': 'male'}
字典的改
6.4、查
value = dic["name"]
print(value) #输出:报错 KeyError: 'name'
print(value) #输出: ['b哥', '张帝', '人帅', 'kitty'] value2 = dic.get("","默认返回值") #输出:默认返回值
print(value2)
字典的查
6.5、字典的循环
#字典的循环
dic = {"name":"jin","age":,"sex":"male"}
for key in dic:
print(key) #输出:name age sex for item in dic.items():
print(item) #输出:('name', 'jin') ('age', ) ('sex', 'male') for key,value in dic.items():
print(key,value) #输出内容:name jin age sex male
字典循环
7、练习题
练习一:
l1 = [, , 'alex', 'wusir',['oldboy', 'ritian', ], 'taibai']
#.将'alex'全部变成大写,放回原处
#.给['oldboy', 'ritian', ]追加一个元素'女神'
#.将'ritian'首字母大写,放回原处
#.将10通过数字相加,或者字符串相加变成100 # l1 = [, , 'alex', 'wusir',['oldboy', 'ritian', ], 'taibai']
# l1[]=l1[].upper()
# l1[].append('女神')
# l1[][]=l1[][].capitalize()
# l1[][]=str(l1[][]+)
# print(l1)
# l1[][]=int(l1[][])-
# l1[][]=str(l1[][])+''
# print(l1) 练习二:
#######练习2###########
dic = {
'name_list':['东哥', '张帝', '人帅', 'kitty'],
'大东':{
'name':'dadong',
'age': ,
'sex': 'ladyboy',
},
}
#,['大东', '张帝', '人帅', 'kitty']追加一个元素,'骑兵'
#,将kitty全部变成大写。
#,将老男孩 改成oldboy。
#,将ladyboy首字母大写。
# dic['name_list'].append('骑兵')
# dic['name_list'][-]=dic['name_list'][-].upper()
# dic['老男孩']['name']='oldboy'
# dic['老男孩']['sex']=dic['老男孩']['sex'].capitalize()
# print(dic)
练习题
Python 基础知识(二)的更多相关文章
- python基础知识(二)
python基础知识(二) 字符串格式化 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 print(' %s is boy'%('tom')) ----> ...
- python基础知识二
对象 python把在程序中用到的任何东西都成为对象. 每一个东西包括数.字符串甚至函数都是对象. 使用变量时只需要给他们赋一个值.不需要声明或定义数据类型. 逻辑行与物理行 物理行是你在编写程序时所 ...
- python基础知识二 列表、元组、range
3.6.2 列表 1.列表 -- list 有序,可变,支持索引,用于存储数据(字符串,数字,bool,列表,字典,集合,元组,). list1 = [] list1 = ['alex',12,T ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识3---字符编码
阅读目录 一 了解字符编码的知识储备 二 字符编码介绍 三 字符编码应用之文件编辑器 3.1 文本编辑器之nodpad++ 3.2 文本编辑器之pycharm 3.3 文本编辑器之python解释器 ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- python基础知识部分练习大全
python基础知识部分练习大全 1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py #必须在首行 ...
随机推荐
- Linux的wget命令
wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget http://www.linuxsense.org/xxxx/xxx. ...
- 源码分析一(Iterator、Collection以及List接口)
1:Iterable接口,实现这个接口的类对象可以进行迭代 package java.lang; import java.util.Iterator; /** * 实现这个接口的类所创建的对象可以进行 ...
- Linux less 常用导航命令
linux中经常用less来查看文件,文件较短的时候用pgup(pageup), pgdn(pagedown),↑,↓几个键够,但是当文件比较长的时候用一些快捷键就能很方便实现快速导航. 1. 按匹配 ...
- windows 7 64位出现Oracle中文乱码
提示oracle客户端无法连接指定字符 安装好客户端之后,如图 将数据库dbhome_1中的network文件夹全部复制到客户端,如图 然后在设置环境变量:F:\app\Administrator\p ...
- SQL利用CASE按分组显示合计
按行显示的合计 select game, sum(purchase) as purchase_sum from purchase group by game; 按列显示的合计 select sum(c ...
- 大杂烩 -- Java中Iterator的fast-fail分析
基础大杂烩 -- 目录 Java中的Iterator非常方便地为所有的数据源提供了一个统一的数据读取(删除)的接口,但是新手通常在使用的时候容易报如下错误ConcurrentModificationE ...
- 记安装ubuntu server和一些程序
1. 安装ubuntu server 按照流程走了一遍,一切画面都正常,就是重启后界面只有一个光标闪啊闪,我不知道应该再装一遍还是找老大来解决,想了下,以前电脑就是因为出错才重装的,现在这个情况有可能 ...
- 【GIS】Cesium GLTF
cd D:\GISSoft\3DsMax2017\COLLADA2GLTF-v2.1.4-windows-Release-x64 COLLADA2GLTF-bin.exe -f tree05.DAE ...
- 设置js同源
1)设置 document.domain 成一样的就行了(前提是都是同一个顶级域名) 2)例如,域名1:news.xxx.com ,域名2:member.xxx.com,这时可以设置它们的 docum ...
- 64位Oracle 11g 使用PL/SQL
Oracle 11g和PL/SQL安装完后,发现打开PL/SQL并不能连接Oracle数据库! [第一回合]完败! 先是在网上找解决方法,说是需要使用Net Configuration Assista ...