Python 基础知识(二)

一、基础数据类型

1、数字int

数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:

#bit_length() 当十进制用二进制表示时,最少使用的位数
# -*- coding:UTF-8 -*-
v = 11
data = v.bit_length()
print(data)
# 二进制:
# 0   0   0   0  0  0  1  0
# 十进制:
# 128 64  32  16 8  4  2  1
#因为11小于16,而16占用5位。11最小占用应该为4位。
输出内容为:4

 2、布尔值

布尔值就两种:True,False。就是反应条件的正确与否。

真   1   True。

假   0   False。    

"""
int  ---> str :str(int)       ##数字转为字符串
str  ---> int :int(str) str必须全部是数字组成。    ##字符串转为数字int --- > bool  0 False  非零 True     ##数字转为bool
bool ---> int  int(True) 1    int(False)  0       ##布尔转为数字str ---> bool  '' False   非空字符串 True     ##字符串转为bool.
"""

3、字符串

3.1、字符串的索引

    索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

A = 'alex bog d3dfj%sdkfA'
s1 = A[0]
print(s1)     #输出内容:a
s2 = A[3]
print(s2)     #输出内容:x
s3 = A[-1]
print(s3)      #输出内容:A

3.2、字符串的切片

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)

a = 'ABCDEFGHIJK'
print(a[0:4])       #输出: ABCD
print(a[2:5])        #输出:CDE
print(a[0:])          #后面区间不加表示默认输出到最后。输出:ABCDEFGHIJK
print(a[0:5:2])       #加步长,最后面的2为步长。输出:ACE
print(a[5:0:-2])       #反向步长。输出: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(30))                      #   cd Adfsdfs 12EF dG677JK
空白处用*填补
r =a.center(30,"*")
print(r)                                    #***cd Adfsdfs 12EF dG677JK****#count方法    统计字符串元素出现的个数
r = a.count("d")                      #统计“d”在语句中出现的次数
print(r)                               ## 输出结果:   4r = a.count("d",0,5)                #统计“d”在下标区间为0到5中间出现的次数
print(r)                               #输出结果:    2
#startwith   判断是否以...开头
s = a.startswith('c')
print(s)                       #返回布尔值:True
s = a.startswith('A',3,6)
print(s)                      #在下标3到6间查找是否以大写字母A开头
#判断是否以...结尾
s= a.endswith('k')
print(s)                       ##返回布尔值:falses4 = a.find('A',0,6)
print(s4)                  ##找不到就返回-1(数组下标),找到就返回内容对应的下标,此处返回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',1))      #将Alex替换成sb,后标位置为1时,替换一个。后标位置的数字表示要替换的个数。#is方法
name = 'jenxin123'
print(name.isalnum())         #字符串由字母和数字组成
print(name.isalpha())         #字符串由字母组成
print(name.isdigit())         #字符串由数字组成
View Code

 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(0,55)
# print(li)                      # 输出:[55, 'alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f

\xe6\x98\x8e'], set(['name', 'alex '])]
#append 追加到最后
# li.append('aaa')
# print(li)                      #输出内容: [55, 'alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f

\xe6\x98\x8e'], set(['name', 'alex ']), 'aaa']
#extend 迭代的去增加
# li.extend(['a,q,w'])print(li)                       #输出内容:['alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex ']), 'a,q,w']
列表的增

5.2、删

pop 按着位置去删除,有返回值
# l1 = li.pop(1)
# print(l1)                        #输出:123
# print(li)                        #输出:['alex', True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])]#del 按着位置去删除,也可以切片删除,没有返回值
# del li[1:3]
# print(li)                        #输出:['alex', (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])]
#remove  按着元素去删除
li.remove(123)
# print(li)                       #输出: ['alex', True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])]
#clear 清空列表
li.clear()
列表的删

5.3、改

# li = [1,'a','b','c',2,3]
# li[1] = 'dfsdfsdfsdfgbc'
# print(li)                  # 输出:[1, 'dfsdfsdfsdfgbc', 'b', 'c', 2, 3]
# li[1:3] = ['c','ddddssgvb']
# print(li)
列表的改

5.4、查

a = ["a","b","g","c","d","c"]
#切片去查,或者循环去查。
其他操作:# count(数)(方法统计某个元素在列表中出现的次数)
# print(a.count("a"))                      #输出:1
# index(方法用于从列表中找出某个值第一个匹配项的索引位置)
# print(a.index("c"))                      #输出:2
# 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之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典:存储数据多,关系型数据,查询速度快(二分查找)。
3.6版本之前,字典是无序的,3.6之后字典是有序的。字典的key是唯一的。key 必须是不可变的数据类型。key:不可变的数据类型(可哈希):str,bool,tuple,int。value:任意数据类型。
数据类型分类:不可变的数据类型(可哈希):str,bool,tuple,int可变的数据类型:dict,list,set。容器类数据类型:list,tuple,dict,set.
View Code

 6.1、增

#1、 setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
dic = {'name_list':['b哥', '张帝', '人帅', 'kitty'],'dadong':{'name':'dadong','age': 46,'sex': 'ladyboy',},
}
dic.setdefault('k','v')
print(dic)#2、dic['key1']='value1' ,有则替换,无则添加
字典的增

6.2、删

1、 pop根据key删除键值对,并返回对应的值,如果没有key,则返回默认的返回值。
dic_pop = dic.pop("name_list",'无返回值')
print(dic_pop)              #输出:['b哥', '张帝', '人帅', 'kitty']
print(dic)                  #输出:{'dadong': {'name': 'dadong', 'age': 46, 'sex': 'ladyboy'}}
2、随机删除字典中某个键值对,将删除的键值对元组的形式返回。
dic_pop1 = dic.popitem()
print(dic_pop1)         #输出:('dadong', {'name': 'dadong', 'age': 46, 'sex': 'ladyboy'})
3、clear 清空字典
dic_clear = dic.clear()
print(dic,dic_clear)          #输出:  {} None
字典的删

6.3、改

dic1 = {'name':"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","wegint":75}
dic2.update(dic1)  #将dic1所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中。
print(dic2)          #输出:{'name': 'jin', 'wegint': 75, 'age': 18, 'sex': 'male'}
字典的改

6.4、查

value = dic["name"]
print(value)                #输出:报错   KeyError: 'name'
print(value)               #输出:    ['b哥', '张帝', '人帅', 'kitty']value2 = dic.get("123","默认返回值")            #输出:默认返回值
print(value2)
字典的查

6.5、字典的循环

#字典的循环
dic = {"name":"jin","age":18,"sex":"male"}
for key in dic:print(key)        #输出:name age sexfor item in dic.items():print(item)   #输出:('name', 'jin')  ('age', 18)  ('sex', 'male')for key,value in dic.items():print(key,value)  #输出内容:name jin  age 18  sex male
字典循环

 7、练习题

练习一:
l1 = [1, 2, 'alex', 'wusir',['oldboy', 'ritian', 10], 'taibai']
#1.将'alex'全部变成大写,放回原处
#2.给['oldboy', 'ritian', 99]追加一个元素'女神'
#3.将'ritian'首字母大写,放回原处
#4.将10通过数字相加,或者字符串相加变成100# l1 = [1, 2, 'alex', 'wusir',['oldboy', 'ritian', 10], 'taibai']
# l1[2]=l1[2].upper()
# l1[4].append('女神')
# l1[4][1]=l1[4][1].capitalize()
# l1[4][2]=str(l1[4][2]+90)
# print(l1)
# l1[4][2]=int(l1[4][2])-90
# l1[4][2]=str(l1[4][2])+'0'
# print(l1)练习二:
#######练习2###########
dic = {'name_list':['东哥', '张帝', '人帅', 'kitty'],'大东':{'name':'dadong','age': 46,'sex': 'ladyboy',},
}
#1,['大东', '张帝', '人帅', 'kitty']追加一个元素,'骑兵'
#2,将kitty全部变成大写。
#3,将老男孩 改成oldboy。
#,将ladyboy首字母大写。
# dic['name_list'].append('骑兵')
# dic['name_list'][-2]=dic['name_list'][-2].upper()
# dic['老男孩']['name']='oldboy'
# dic['老男孩']['sex']=dic['老男孩']['sex'].capitalize()
# print(dic)
练习题

 

转载于:https://www.cnblogs.com/dadonggg/p/8807281.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解JavaWeb(五)——过滤器和监听器

深入理解JavaWeb(五)——过滤器和监听器 摘要:在基于Java-Web核心技术的开发应用中,为了一些特定的用途或目的,那么Filter和Listener就要闪亮登场了。在本文中我们来聊一聊Servlet规范中的另俩技术的核心知识点&#x…

ps一点等于多少厘米_劝告大家:女人40岁后,体重多少算正常?太瘦也不好

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有分享,完全是免费订阅,请放心关注。由于身高、骨骼、体型和体重的不同,与男性相比,女性将相…

java xml转map_java练习本(原每日一练)(20190514)

名人名言昨日翻译“The No. 1 reason people fail in life is because they listen to their friends, family, and neighbors.”——Napoleon Hill“人们生活中失败的第一个原因是他们听取朋友、家人和邻居的意见。”——拿破仑希尔今日名言“Your time is limited, so don’t…

? SegmentFault Hackathon 文艺复兴上海站作品集 - 获奖篇

承上回,在 Day 1 中,石墨文档、Agora.io 声网和 HPE 的技术团队针对自家的 SDK、API 等作了深度介绍,今天就来看看我们的开发者是如何将作品和服务关联起来的吧。 跳蚤市场 24 小时的编程,艺术家都将什么作品搬上自己的摊位&#…

华为手机云闪付付款码如何截图_云闪付乘车码,它带着优惠又来了

云闪付乘车码又来了!想必这段时间大家有些(甚是)想念薅羊毛的日子想起那快乐时光嘴角总是不经意的偷偷乐不多说了,直接上优惠特别提醒:1分钱乘公交5折乘地铁......详戳▼▼▼银联信用卡1分钱乘公交活动时间:2019年12月6日—2019年…

ChemDraw教程:如何查看和删除俗名

化学范畴里,允许用俗名表示ChemDraw原子标记或原子标记的一部分,可以定义俗名的快捷键也可以自由查看或删除俗名,熟练掌握可以提高ChemDraw软件使用效率,下面将具体介绍此部分内容。 一、查看俗名 查看已定义俗名的方法有两种&…

谈Find指令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系…

k8s部署tomcat及web应用_部署 Spring Boot 应用到 K8S 教程

点击上方 Java后端,选择 设为星标优质文章,及时送达作者:qingmuqingmu.io/2020/04/08/Spring-Boot-Operator-User-Guide/前言在Kubernetes中部署spring boot应用整体上来说是一件比较繁琐的事情,而Spring Boot Operator则能带给你…

Web性能优化分析

如果你的网站在1000ms内加载完成,那么会有平均一个用户停留下来。2014年,平均网页的大小是1.9MB。看下图了解更多统计信息。 直击现场 《HTML开发MacOSApp教程》 http://pan.baidu.com/s/1jG1Q58M 网站的核心内容需要在1000ms内呈现出来。如果失败了&a…

闭包/Block当成函数参数实现回调

2019独角兽企业重金招聘Python工程师标准>>> Swift // MARK:// MARK: 获取数据/// 获取数据class func toolLoadData(completion:(finish: String) -> ()? ,content: String) {self .nextStepRequest({ (finish) -> ()? in// 接收到数据 调用 block 传递数据…

使用labview读取一副位图,并进行BCG校准(或修改其BCG)程序解析

进行图像处理第一步肯定就是要读取一副图片,然后再进行图像的BCG校准。 首先讲解一下用到的函数第一个函数为IMAQ Create,位于 视觉与运动--Vision Utilities---Image Management---IMAQ create 函数如图,对于如何看函数功能,还是…

实现生成小学四则运算练习题

实现小学四则运算练习题 1.题目要求 本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。 题目1: 我们在刚开始上课的时候介绍…

[转] 64位windows下添加postgreSQL odbc数据源

系统环境:windows7 64位 postgreSQL9.0(64bit)ps:安装postgreSQL时确定安装了odbc驱动。问题:点击“开始-》控制面板-》管理工具-》数据源(ODBC)-》用户DSN-》添加”,未出现postgreSQL关联选项。…

Mysql ---Sqlserver数据迁移到Mysql(Mysql建表迁移数据)

1 试用了MysqlWorkBench的数据迁移功能 以为能实现:建立跟Sqlserver一样的表结构和视图的功能,sqlserver的数据迁移到mysql 实际上发现:即使勾选了表和视图,实际上却只能建立表结构。 视图结构,表数据,都没…

vscode 默认初始化_Visual Studio Code(vscode)使用介绍

[TOC]vscode 安装软件直接在vscode官网(https://code.visualstudio.com/)下载安装。建议将下图红框中勾选,安装完成后可通过鼠标右键打开vscode。安装界面使用介绍插件安装安装完成后,左侧栏可以看到不同模块,一开始包…

梯度下降法分析

梯度下降法存在的问题 梯度下降法的基本思想是函数沿着其梯度方向增加最快,反之,沿着其梯度反方向减小最快。在前面的线性回归和逻辑回归中,都采用了梯度下降法来求解。梯度下降的迭代公式为: \(\begin{aligned} \theta_j\theta_j…

PHP程序员的技术成长规划

2019独角兽企业重金招聘Python工程师标准>>> 按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求&#…

flink 入门

http://ifeve.com/flink-quick-start/ http://vinoyang.com/2016/05/02/flink-concepts/ http://wuchong.me/blog/2016/05/09/flink-internals-understanding-execution-resources/ 要了解一个系统,一般都是从架构开始。我们关心的问题是:系统部署成功后…

mybatis 多租户saas_彻底理解微商城多租户Saas架构设计

原文链接:https://blog.csdn.net/haponchang/article/details/104246317,感谢作者提供这么好的总结!1.具体的SaaS架构必须1.先仔细选择最适合应用程序需求的租户模型,2.需要根据租户模型来选定最终的架构,即应用程序设…

Python模块——subprocess

subprocess模块 通过Python去执行一条系统命令或脚本。 三种执行命令的方法 subprocess.run(*popenargs, inputNone, timeoutNone, checkFalse, **kwargs) #官方推荐 subprocess.call(*popenargs, timeoutNone, **kwargs) #跟上面实现的内容差不多,另一种写法 sub…