Python 学习随笔 - 1 - 基础数据类型、变量 及 基本运算
仅有的C语言的基础都是大学时学的;
准备赶潮流,开始学习Python。
随笔记录学习过程中,靠一点点C语言基础难以去理解的地方,以及区别于C语言的地方,做些笔记作为以后参考。
Python 解释器直接可以处理的基础数据类型: 字符串、整数、浮点数、布尔值、空值
1、整数
Python可以处理任意大小的整数,包括负整数;(默认为10进制); 直接以数学形式描述即可。
如果需要定义为16进制,则需要加前缀 0x 例如: 0xff , 0x1234abc
2、浮点数
即带小数点的小数,可以通过科学记数法来移动小数点的位置,所以称之为浮点数;
例如: 12.34567 就等同于 1.234567e1
3、字符串
可以是单引号或者双引号,例如: 'ABC' "ABC" 是等同的;
如果字符串中有单引号,则可以用双引号,例如; “I'm here”
如果字符串既有单引号又有双引号,则需要转义符号 \ (如果字符串中包含 \ 则也需要加 \ 来转义,即 \\ )
如果字符串中有大量需要转义的符号,则可以通过字符串前面加 r 来解决;(等同于C语言中字符串前面加@)
字符串中可包含一些 回车换行、制表符等特殊字符 ( \n \t )
4、布尔值
True 、False (注意大小写)
5、空值
None
变量: 与C语言不同的是,Python变量本身类型不固定,而C语言中一个变量在其作用域内是不可以变化本身类型的;
变量名必须是大小写英文、数字和_的组合,且不能用数字开头;
可以以下随意定义:
a=1
print(a)
a='ABC'
print(a)
基本运算
1、整数间运算: + - * /
特殊说明: 除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数;
// 为取商
% 为取余
例如: 10/2 结果为 5.0
10/3 结果为 3.333333333335
10//3 结果为 3
10%3 结果为 1
2、
3、字符串 特殊运算及处理
用+号连接,用*号重复;例如:'A' + 'B' 或者 'A'*5
切片操作 类似于C语言中的substring , 第一个下标为0 和C语言一样 (切片操作与list的切片操作一样)
例如: A = 'Hello World!'
A[4] 结果为 'o' 第5个字符
A[0:4] 结果为'Hell' 从0开始截取4个字符 可略写为 A[:4]
A[2:4] 结果为 ‘ll’ 从第3个字符开始截取2个字符(即 后值 减 前值 的 差)
A[2:] 结果为 ‘llo World!’ 从第3个字符开始截取后面所有字符
可以通过负数下标来从右向左切片;
A[-4] 结果为 ‘r’ 倒数第4个字符
A[-4:] 结果为 ‘rld!’ 截取倒数4个字符
A[:-4] 结果为 ‘Hello Wo’ 除了倒数4个字符,截取前面所有字符
字符串常用操作:
字符串长度:len(str)
全部大写:str.upper()
全部小写:str.lower()
大小写互换:str.swapcase()
首字母大写,其余小写:str.capitalize()
首字母大写:str.title()
获取固定长度,右对齐,左边不够用空格补齐:str.ljust(width)
获取固定长度,左对齐,右边不够用空格补齐:str.rjust(width)
获取固定长度,中间对齐,两边不够用空格补齐:str.center(width)
获取固定长度,右对齐,左边不足用0补齐:str.zfill(width)
获取其中某个字符或子字符串出现的次数:str.count(substr)
字符串内部查找
1、find方法 str1.find(str2, beg=0, end=len(str1))
2、index方法 str1.index(str2, beg=0, end=len(str1))
检测 str2 是否包含在字符串str1中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 (find方法)或者 ValueError: substring not found 异常 (index方法)
字符串替换
标准语法: str.replace(old,new[,count=str.count(old)])
- old -- 指定的旧子字符串
- new -- 指定的新子字符串
- count -- 可选参数,替换的次数,默认为指定的旧子字符串在字符串中出现的总次数。
字符串去除空格或特定字符
标准语法: str.strip([chars]) 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
去两边空格:str.strip() 去左空格:str.lstrip() 去右空格:str.rstrip()
注:是去除字符序列中的所有存在的字符;例如:str.strip('123') 是把字符串的前后出现的 ‘1’ ‘2’ ‘3’ 都去除;
字符串分割
标准语法: S.split(str="", num=S.count(str))
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。默认为 -1, 即分隔所有。
字符串判断
是否以start开头:str.startswith('start')
是否以end结尾:str.endswith('end')
是否全为字母或数字:str.isalnum()
是否全字母:str.isalpha()
是否全数字:str.isdigit()
是否全小写:str.islower()
是否全大写:str.isupper()
Python 学习随笔 - 1 - 基础数据类型、变量 及 基本运算的更多相关文章
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- python学习日记(基础数据类型及其方法02)
python的变量 python中的变量不需要声明,变量载使用前必须被赋值,变量被赋值以后才会被创建. 在python中变量就是变量,没有数据类型.我们所说的类型是变量所指向内存中的对象的类型. py ...
- 记录我的 python 学习历程-Day07 基础数据类型进阶 / 数据类型之间的转换 / 基础数据类型总结 / 编码的进阶
基础数据类型 str(字符串) str:补充方法练习一遍就行 s.capitalize() 首字母大写,其余变小写 s = 'dyLAn' print(s.capitalize()) # Dylan ...
- python学习笔记02 --------------基础数据类型
python的基本数据类型: 1.基本数据 1.1. 数字类型 1.1.1 整数 int int() #将括号内内容转化为整数类型. 1.1.2 浮点数 float 1.1.3 复 ...
- Python学习day11-函数基础(1)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习课程零基础学Python
python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- Python学习day16-模块基础
<!doctype html>day16 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
- Python学习day12-函数基础(2)
<!doctype html>day12博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { pos ...
随机推荐
- iOS - 性能优化:Instruments使用简介
最近采用Instruments 来分析整个应用程序的性能.发现很多有意思的点,以及性能优化和一些分析性能消耗的技巧,小结如下. Instruments使用技巧 关于Instruments官方有一个很有 ...
- 【转载】 C#通过File类实现文件拷贝复制的功能
在Windows系统的使用过程中,一个较常使用的功能就是文件的复制拷贝操作,其实在C#开发中,也可以使用File类库中的Copy方法来实现文件的拷贝,支持设定原文件地址,以及拷贝复制后的文件存放路径. ...
- js入门之DOM
一.理解Web API Web API Application Programming Interface 应用程序编程接口, 是一个预先定义好的函数和方法 目的是提供应用程序与开发人员基于某软件或硬 ...
- MacOS X GateKeeper Bypass
MacOS X GateKeeper Bypass OVERVIEW On MacOS X version <= 10.14.5 (at time of writing) is it possi ...
- 碰撞器Colider 触发器
碰撞器可以让所依附的游戏物件对其他碰撞体产生碰撞行为(其他游戏物体必须具有Rigidbody组件) 对于不规则形状的物体,通常使用组合式碰撞体而不是网格碰撞器,以为网格碰撞器以模型的网格为基础,更为复 ...
- L ==> E · L · K
三剑客:Elastic Stack 在学习ELK前,先对 Lucene作基本了解. 今天才知道关系型数据库的索引是 B-Tree,罪过... 减少磁盘寻道次数 ---> 提高查询性能 Lucen ...
- Vue框架之基础知识
在没有学习基础知识之前,我们需要下载vue的js文件,在使用vue语法之前引包 <script src='./vue.js'></script> 一.模板语法 模板语法是一种可 ...
- 二进制部署kubernetes集群(上篇)
1.实验架构 1.1.硬件环境 准备5台2c/2g/50g虚拟机,使用10.4.7.0/24 网络 .//因后期要直接向k8s交付java服务,因此运算节点需要4c8g.不交付服务,全部2c2g足够. ...
- Windows Server 2016 IIS的安装与配置
1. 打开服务器管理器,点击[添加角色和功能选项]. 2. 进入“添加角色和功能向导”页面,点击下一步. 3. 安装类型选择[基于角色或基于功能的安装],点击下一步. 4. 进入服务器选 ...
- linux网络编程之socket编程(八)
学习socket编程继续,今天要学习的内容如下: 先来简单介绍一下这五种模型分别是哪些,偏理论,有个大致的印象就成,做个对比,因为最终只会研究一个I/O模型,也是经常会用到的, 阻塞I/O: 先用一个 ...