python学习之路1(基本语法元素)

时间:2021-10-06 01:31:02

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