仅有的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()