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 ...
随机推荐
- 一、hystrix如何集成在openfeign中使用
所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 HystrixInvocationHandler hystrix是开源的一个熔断组件,s ...
- SPI简述
SPI是器件的比较常用的通信协议. SPI总共有四根线: SS:片选线,每个设备都和主机MCU有一条单独片选线相连,片选线拉低意味主机输出,也就是说一个主机可以和多个从机相连,只需要有足够多的片选线. ...
- [LeetCode] 45. Jump game II ☆☆☆☆☆(跳跃游戏 2)
https://leetcode-cn.com/problems/jump-game-ii/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-b ...
- jenkins的理解及安装
目录 一.理论概述 二.安装 一.理论概述 Jenkins的介绍 Jenkins是一个基于MIT License协议的开源软件项目,是基于Java开发的一种持续集成(CI)工具,用于监控持续重复的 ...
- roles
nginx 官方下载 [root@ansible roles]# tree yngx yngx ├── defaults ├── files │ ├── blog.conf │ ├── edu ...
- Usages for IntelliJ & Eclipse
IntelliJ ⌘E Select a recently opened file from the list. ⌘/ (left command + /)⌥⌘/ (right command + / ...
- Win10 hosts文件无法保存
Win10无法修改编辑保存hosts文件怎么办?Win10系统默认是没有权限去编辑保存系统里的文件,这也是权限不够才导致修改编辑hosts后无法保存的原因,解决的办法就是把自己的帐户权限给提高就行了. ...
- SQL Server 2005的几个新功能
SQL Server 2005相对于SQL Server 2000改进很大,有些还是非常实用的. 举几个例子来简单说明 这些例子我引用了Northwind库. 1. TOP 表达式 SQL Serv ...
- Java注解合并,注解继承
莆田SEO:spring中有时候一个类上面标记很多注解. 实际上Java注解可以进行继承(也就是把多个注解合并成1个) 比如说SpringMVC的注解 @RestController @Request ...
- Connecting Graph
Given n nodes in a graph labeled from 1 to n. There is no edges in the graph at beginning. You need ...