1.变量与简单数据类型
1.1变量
变量就是给你所写代码的信息起一个名字,用来存储此信息,使信息变得更加的简洁易读,
例如:message = "Hello World!",其中message就是一个变量;
1.1.1变量的命名规则与使用
1.变量名只能包含字母、数字、下划线,变量名可以以字母或下划线开头,但不能以数字开头
2.变量名不能包含空格,可以用下划线代替空格
3.不能和python关键字或函数名重名
4.变量名最好简洁,描述性好
5.谨慎使用小写i和大写O
6.尽量避免使用大写字母(看个人爱好)
7.使用变量时注意不要用错变量名
python关键字:False,None,True,and,as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
1.2字符串
字符串就是一系列的字符,在python中,带有单引号或者双引号的字符都是字符串,例如"Hello!",'world!',
两类四种表示方法:
--由一对单引号/双引号表示,表示单行字符串
--由一对三单/双引号表示,表示多行字符串(可当注释用)
--最外层引号为字符串引号,内部出现其他引号可当文本输出
--最外层为三个单引号作为字符串引号,内部可出现单,双引号
1.2.1操作字符串
1.字符串的序号
--正向递增,反向递减,索引和切片
2.高级切片
[M:N:K]根据步长对字符串进行切片
--<字符串>[M:N];M缺失表示至开头,N缺失表示至结尾
-例:”0123456789”[:3] 输出结果”0.12”
--<字符串>[M:N:K]
-例:”0123456789”[1:8:2] 输出为”1357”
--逆序:”0123456789”[::-1] 输出为”9876543210” #步长为-1指从后往前取数值
3.转义符\:\后面的字符将当作字符本意来理解
--例:”这里有个双引号(\”)” 输出为:这里有个双引号(“)
--“\b”光标回退
--“\n”换行
--“\r”回车(光标移动到本行首)
4.字符串操作
--x+y表示连接两个字符xy变为新的字符
--n*x或x*n表示复制n次字符串x
--x in s 如果x是s的子串则返回True,否则False
5.字符串处理函数
--len(x)返回字符串x的长度,例:len(‘一二三456’) 结果为6
--str(x)把任意类型的x转变为字符串形式, 例:str([1,2]) 结果为 ‘[1,2]’
--hex(x)和oct(x)把整数x变为十六进制或八进制小写形式字符串
--chr(u)和ord(x),把Unicode编码转换为单字符,把单字符转换为Unicode编码
--Unicode编码:统一字符编码,从0到1114111(0x10FFFF),每个编码对应一个字符
6.字符串处理方法
--str.lower()或str.upper();返回字符串,全部字符小/大写;例:’sadASX’.lower();结果为sadasx
--str.split(sep=None);返回一个列表,由str根据sep分隔组成;例:’A,B,C’.split(‘,’);结果为[‘A’,’B’,’C’]
--str.count(sub);返回字符串sub在str中出现的次数;例:’a apple a day’.count(‘a’)结果为4
--str.replace(old,new);返回str,所有old字串被new代替;例:’python’.replace(‘n’,’n123.io’)结果为’python123.io’
--str.center(width[,fillchar]);根据width居中,fillchar可选;例:’python’.center(20,’=’)结果为=====python=====
--str.strip(chars)从str中去掉在其左和右chars中列出的字符;例:’=_python_=’.strip(‘_=p’);结果为’ytho’
--str.join(iter)在iter变量除最后一个元素外,每个元素后增加一个str;例:’,’.join(‘123456’)结果为’1,2,3,4,5,6’ 主要用于字符串分隔等
7.字符串类型的格式化
(1)“{}:计算机{}的CPU占用率为{}%”.format(“2018-10-10”,”C”,”10”) #槽的顺序和format()函数中参数的顺序默认情况下一一对应,都是从0开始
--把format()方法中的参数按对应顺序填充到模板字符串的槽中,可以在槽中指定所要填充的format()中第几个参数
(2)槽内部对格式化的配置
--{<参数序号>:<格式控制标记>}
--{:<填充><对齐><宽度>},填充是用于填充的单个字符,对齐包括左对齐<,右对齐>,居中^,宽度是指槽设定的输出宽度
--{:<,><.><类型>},第一个尖括号中的逗号为数字的千位分隔符,第二个尖括号中的点表示浮点数小数精度或字符串最大输出长度,类型包括整数b,c,d,o,x,X,浮点数包括E,e,f,%
例:”{0:=^20}”.format(“P”) 输出为’========P========’
“{:10}”.format(“p”) 输出为’p_________’ #默认情况下填充为空格左对齐
8.拼接字符串
可以用加号来合并字符串
例:name = "ad"
print("hello," + name + "!")
9.删除空白
字符串或者存储字符串的变量后面有如下方法:
.rstrip() # 删除右空白
.lstrip()# 删除左空白
.strip() # 删除左右空白
注意:如果字符串中有类似单引号或双引号的字符,那么尽量用双引号括的字符串
1.3数字类型及其操作
1.3.1类型
1.整数类型与数学中一致,可正可负pow(x,y)表示x的y次方,无限算
2.浮点数类型与数学中一致,浮点数取值范围约-10的308次方至10的308次方,精度为10的-16次方(53位二进制表示小数部分),浮点数间运算存在不确定位数,不是bug,一般发生在10的-16次方左右
3.浮点数可以采用科学记数法表示,采用字母e或E为幂的符号,以10为基数
<a>e<b>表示a*(10^b); 例:4.3e-3 结果为0.0043;9.6E5值为960000.0
4.复数类型(与数学中一致)
x²=-1 定义j=根号下-1 a+bj,a为实部,b为虚部
例:z = 1.23e-4+5.6e+89j
z.real获取实部,z.imag获取虚部
1.3.2相关操作
1.数值运算操作符
x+y x-y x*y
x/y #结果与数学运算一致(浮点数结构)
x//y整数除,取商10//3结果3
x%y模运算,取余10%3结果1;
x**y=pow(x,y)幂运算
xop=y即x=xopy,op为二元操作符
x+=y x-=y x*=y x/=y x//=y x%=y x**=y例:x**=3即x=x**3
各类型间进行混合运算,生成结果为最宽类型(整数<浮点<复数);例:123+4.0=127.0
2.数值运算函数
abs(x)取x的绝对值
divmod(x,y)商余(x//y,x%y);例:divmod(10,3)结果为(3,1)
pow(x,y[,z])幂余(x**y)%z,[]内可省略
round(x,d)四舍五入,d为保留小数的位数,默认为0,一般用于浮点数间运算和比较进行辅助
max(x1,x2,…xn);min(x1,x2…xn)比较几个数的大小,n不限
int(x)将x变为整数;float(x)将x变为浮点数,增加小数部分;complex(x)将x变为复数,增加虚部
2.基本语法元素
2.1例子:
# 保存用户输入信息。
TempStr = input(“请输入带有符号的温度值:”)
# [‘F’,’f’]表示两个元素’F’,’f’,判断前者是否与列表中某个元素相同。
If TempStr[-1] in [‘F’,’f’]:
C = (eval(TempStr[0:-1])-32)/1.8
print(“转换后的温度是{:.2f}C”.format(C))
elif TempStr[-1] in [‘C’,’c’]:
F = 1.8*eval(TempStr[0:-1])+32
print(“转换后的温度是{:.2f}F”.format(F))
else:
print(“格式错误”)
2.1.1缩进
代表程序格式框架,必须保持缩进一致,一般4个空格或一个Tab;
2.1.2注释
单行注释用#加内容,多行注释用’’’ 内容 ‘’’
2.1.3语句与函数:
1.分支语句:if elif else: 函数:input eval print python中的函数类似于数学中y=f(x)
2.input()从控制台获得用户输入的函数,使用格式:<变量> = input(<提示信息字符串>),用户输入的信息以字符串类型保存在变量中
3.print()以字符形式向控制台输出结果
print()函数的格式化:
print(“转换后的温度是{:.2f}C”.format(C)),{}表示槽,后续变量保存到槽中,{:.2f}表示将C变量填充到这个位置时取小数点后两位,如C值为123.456789,输出为 转换后的温度为123.45C
4.评估函数eval():去掉参数最外层引号并执行余下语句,使用格式:eval(<字符串或字符串变量>)
例:eval(“1”)输出为1;eval(“1+2”)输出为3;eval(‘“1+2”’)输出为”1+2”;eval(‘print(“Hello”)’)输出为Hello;eval(TempStr[0:-1]),如果TempStr[0:-1]值为”12.3”,则输出为12.3