前言:
学过c、java后来学python相对快很多,不过它们之间还是有很多的不同之处,这里只总结一些它们的不同之处,主要用于自己的复习。
一、Python基础
1. 标识符和关键字
标识符就是变量、常量、函数、属性、类、模块和包等由程序员指定的名字。
2. 变量和常量
在Python 中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。Python 采用的是基于值的内存管理方式 ,如果为不同变量赋相同值,这个值在内存中只有一份,多个变量指向同一块内存地址。
3. 运算符
“/ ”和“// ”分别表示除法和整除运算。
% 运算符除去可以用于字符串格式化之外,还可以对整数和浮点数计算余数。但是由于浮点数的精确度影响,计算结果可能略有误差。
1 < 3 < 5 # 等价于1 < 3 and 3 < 5。
位运算是以二进位(bit) 为单位进行运算的,操作数和结果都是整型数据。位运算符有:& 、| 、^ 、~ 、>> 和<
Python 不支持++ 和- -。
4. 模块导入与使用
模块的导入主要是函数、类的导入。
x = 5/2 # x结果为 2.5 普通除法
x = 5//2 #x结果为 2 整除
x = 6.0 % 2.0 # 0.0
x = 6.3 % 2.1 # 2.0999999999999996
from math import sin as f # 别名
Python 中没有数组结构
二、数字类型
Python 数字类型有四种:整数类型、浮点类型、复数类型和 布尔类型 。
Python 整数类型为int ,整数类型可以表示很大的整数,这只受计算机硬件的限制。
Python 3.6.x 开始支持在数字中间位置使用 单个下划线 作为分隔来提高数字的可读性,类似于数学上使用逗号作为千位分隔符。1_000_000 = 1000000
Python 是支持复数的,这使得Python 能够很好地用来进行科学计算。a = 3 + 4j
任何类型数据都可以通过 bool() 函数转换为布尔值,那些被认为“没有的”、“空的”值会转换为False ,反之转换为True。
除复数外 ,整数类型、浮点类型和布尔类型都有自己的转换函数,分别是int() 、float() 和bool().
三、字符串
1. 字符串的三种表示
普通字符串: 采用单引号或双引号包裹起来的字符串。
原始字符串: 在普通字符串前加r ,字符串中的特殊字符不需要转义,按照字符串的本来“面目”呈现。
长字符串: 字符串中包含了换行缩进等排版字符,可以使用三重单引号或三重双引号包裹起来,这就是长字符串
2. 字符串格式化
在字符串格式化时可以使用字符串的format()方法以及占位符。
s = '{0} 的年龄是{1} 岁。'.format(name, age)
s = '{n} 的年龄是{a} 岁。'.format(n=name, a=age)
{1:d} 表示索引为1 的占位符格式参数是十进制整数。
3. 字符串方法
函数
描述
str.capitalize
返回字符串的副本,字符串首字母大写,其他字符小写
str.casefold
返回字符串副本,字母均小写,对其他非英文字字母也均适用,按照
str.lower()
返回字符串副本,字母(特指英文字母)均小写
str.upper()
将字符串字母大写,并返回
str.center(width, filter='')
返回以原字符串为中心向两边填充的新字符串,填充物为filter,默认为ASCII空格。填充长度为width,若width小于原字符串长度,则返回原字符串副本
str.ljust(width, fillchar='')
返回一个将原字符串左端利用fillchar填充的,长度为width的新字符串。其他类似于str.center()
str.zfill(width)
在字符串最左端填充ASCII的0,若最左端为’-‘或’+'时,选次右端为首字母,width为填充后字符串宽度
str.count(sub,start=None,end=None)
返回字符串中字符sub的个数,截取字符串自start到end之间的字符串进行统计,两参数默认为None(即默认为原字符串)
str.translate(table)
table为类似于字典的键值对(映射关系),字符串中的字符将按照映射进行转换,类似于密码译对
str.encode(encoding=“utf-8”, errors=“strict”)
作用于编码为encoding的字符串,返回一个bytes类型。相应的b’ '.decode(),逆变换。errors对转换时出现的错误进行处理的方法,常用的由strict(触发异常)、ignore(忽略错误)
str.endwith(suffix, start=None, error=None)
截取字符串自start到end之间的字符串,判断字符串是否以suffix为结尾,返回True(是)、False(否)
str.startswith(suffix, start=None, error=None)
类似于str.endwith
str.expandtabs(tabsize=8)
返回字符串的副本,将字符串中的tab(默认大小为tabsize=8)替换为一个或多个空格。
str.find(sub, start=None,end=None)
截取字符串自start到end之间的字符串,查找子字符串中是否有sub,返回True,False
str.rfind(sub,start=None,end=None)
若sub为原字符串的子字符串,则返回其最高索引(最右侧一组),否则返回-1
str.format(*args, kwargs)
格式化字符串
str.format_map(mapping)
格式化字符串,mapping为字典,具有对应关系。
str.swapcase()
将原字符串的字母大小写反转,并返回
str.index(sub, start,end)
截取字符串自start到end之间的字符串,查找子字符串中是否有sub,存在返回sub首字母的在原字符串中的位置,否则触发异常
str.rindex(sub,start=None,end=None)
类似于str.rfind(sub,start=None,end=None),未找到是触发异常
str.replace(old, new, count=1)
由new替换原字符串中old子字符串,并返回一个新字符串。若找到多组,则由count决定需要替换的组数,由左向右
str.isalnum()
判断字符串中字符是否均为字母或数字,返回True,False。字符串为空时返回False。
str.isalpha()
类似于str.isalnum,判断是否均为字母字符
str.isdecimal()
类似于str.isalnum,判断是否均为十进制
str.isdigit
类似于str.isalnum,判断是否均为数字
str.isspace
类似于str.isalnum,判断是否均空格
str.lower()、str.upper()
判断字符串是否均为小写或大写
str.isprintable
判断字符串是否可打印
str.title()
将原字符串转换成title形式,并返回
str.istitle
判断字符串是否为标题,参见python标题格式
str.join(iterable)
常用形式为’sub’.join(iterable),将可迭代对象,以sub为分隔符,组成一个新的字符串
str.lstrip(chars='')
返回一个将原字符串去掉左端的chars(默认为空格)的新字符串。从左向右,原字符串最左端的字符只要包含在chars中均删除,直至原字符串最左端字符不包含在chars中。
str.rstrip()
类似于str.lstrip
str.strip()
类似于str.lstrip,两端
str.partition(‘spe’)
分割字符串,在遍历字符串首次遇见spe时分割。返回一个列表,包括原字符串在sep之前部分,spe,和原字符串在spe之后的部分。若spe在最左端或最右端,均有其右(左)部分由空格替代。未找到,返回包含原字符串和两个空格的列表。
str.rpartition(sub)
类似于str.partition(‘spe’),spe为最右一组。
str.split(spe=None,maxsplit=-1)
以spe为分隔符分割字符串,返回一个列表。若指定maxsplit,则之多分裂maxsplit+1组。
str.rsplit(spe=None,maxsplit=-1)
类似于str.split(spe=None,maxsplit=-1),只是在maxsplit不为-1时,由右计算
四、语句
1. if 语句
if 语句有if 结构、if-else 结构和elif 结构三种。
条件表达式:表达式1 if 条件 else 表达式2
if 语句可使用in 、not in、or、and关键字
if x == 0 or x == 1:
print("YES")
elif x == 2 and y == 2:
print("NO")
else:
print("YN")
2. for 语句
while 循环语句和for 循环语句都可以带else 子句,如果循环因为条件表达式不成立而 自然结束 ,则执行else 结构中的语句;如果循环是因为执行了break 语句而导致循环提前结束,则不执行else 中的语句。
for 取值 in 序列或迭代对象:
循环体
[else:
else 子句代码块]
3. while 语句
while 条件表达式:
循环体
[else:
else 子句代码块]
4. 输入、输出语句
x = input("请输入x的值:")
print(1,2,3,sep=":")
print(1,2,3,end="")
本文同步分享在 博客“战 胜”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。