几个概念

表达式

  • 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合

语句

  • 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成

程序

  • 程序就是由一条一条的语句和一条一条的表达式构成的。

函数

  • 函数就是一种语句,函数专门用来完成特定的功能

  • 形如:XXX()

  • 函数分类

    • 内置函数:: 或者内建函数,就是由语法规定存在的函数,这些函数,包含

      在编译器的运⾏时库中,程序员不必单独书写代码实现它,只需要调⽤既

    • 自定义函数:由程序员⾃主的创建的函数 当我们需要完成某个功能

      时,就可以去调⽤内置函数,或者⾃定义函数

  • 参数 ()中的就是函数的参数,可以有多个参数,但是多个参数要用逗号隔开

  • 返回值


标识符

  • python语言的组成:
    • 关键字,标识符,注释,变量和数值,运算符,语句,函数,序列
  • 关键字:具有一些特殊功能的标识符 ,python已经使⽤的了,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
1
2
3
4
5
6
7
False    await    else    import    pass 
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
  • 标识符
    • 开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
  • 命名方式:
    • 驼峰命名法: 小驼峰:myName 大驼峰: MyName
    • 下划线命名法:get_url

基本数据类型

  • 整数 1-1000 int 有一个最大数值 超过最大数值即为内存溢出
  • 浮点型 float
  • 布尔值和空值
    • 布尔值:True,False用于逻辑判断
    • 空值 None 表示值不存在

变量

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
    • 变量的运算:需要注意的是在运算过程中含有浮点数,那么他返回的就是一个浮点数类型
  • 两个对象相等≠两个对象是同一个对象
1
2
3
4
5
6
7
8
9
10
s1 = {'Jerry':'Python'} 
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}
print(id(s1),id(s2))
print(s1==s2)

{'Jerry': 'Python'}
2086464219896 2086464220328
True

字符串

  • 用一对单引号或者双引号包裹的内容就是字符串

    • 单引号和双引号不能混合使用
    • 相同引号之间不能嵌套
  • 转义字符

    • \ 表示后面的字符就是本身字符的意思,不具有其他作用
    • \t 表示一个tab键的距离 ,制表符
    1
    2
    3
    print('1'+'\t'+'2')

    1 2
  • \n 换行符 相当于回车键

    1
    2
    3
    4
    print('1'+'\n'+'2')

    1
    2
  • \‘表示’
  • \‘’表示’’
  • \\表示\
  • 长字符串

    • 长字符串 又叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’
    • 三重引号可以换行,并且会保留字符串中的格式
  • 格式化字符串

    • 拼串
    1
    2
    3
    4
    s = 'hello'
    print ('s=' +s)

    s= hello
    • 参数传递
    1
    2
    3
    4
    s='hello'
    print('s=', s)

    s= hello
    • 占位符

      %d 整数占位

      1
      2
      3
      4
      5
      d=1
      a='age=%d'%d
      print(a)

      age=1

      %s 字符串占位

      1
      2
      3
      print('i am %s'%'sansanbudejiuya')

      i am sansanbudejiuya

      %f 浮点数占位

    • f’{变量}’/ str.format

    1
    2
    3
    4
    5
    6
    s1 = '三三'
    s2 = '不得酒吖'
    s = f'hello,{s1},{s2}'
    print(s)

    hello,三三,不得酒吖
    1
    2
    3
    4
    5
    s = '{}不得{}吖'
    a = s.format('三三','酒')
    print(a)

    三三不得酒吖
  • 字符串操作

    • len() 字符串的⻓度
    1
    2
    3
    4
    5
    6
    a = 'hello'
    print(a)
    print(len(a))

    hello
    5
    • max() 最⼤值
    • min() 最⼩值
    1
    2
    3
    4
    5
    6
    a = 'hello'
    print(max(a))
    print(min(a))

    o
    e
  • find: 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1

    1
    2
    3
    4
    mystr = 'hello world itcast and itcastcpp'
    mystr.find('itcast', 0, len(mystr))

    12
    1
    2
    3
    4
    mystr = 'hello world itcast and itcastcpp'
    mystr.find('itcast', 0, len(10))

    12
  • index:跟find()⽅法⼀样,只不过如果str不在 mystr中会报⼀个异常.

    1
    2
    3
    4
    mystr = 'hello world itcast and itcastcpp'
    mystr.index('itcast', 0, 10)

    ValueError: substring not found
  • count :返回 str在start和end之间 在 mystr⾥⾯出现的次数

    1
    1 mystr.count(str, start=0, end=len(mystr))
    1
    2
    3
    4
    mystr = 'hello world itcast and itcastcpp'
    mystr.count('itcast', 0, len(mystr))

    2
  • replace: 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.

    1
    mystr.replace(str1, str2, mystr.count(str1))
    1
    2
    3
    4
    5
    mystr = 'hello world itcast and itcastcpp'
    mystr= mystr.replace('itcast', 'HA')
    print(mystr)

    hello world HA and HAcpp
    1
    2
    3
    4
    5
    mystr = 'hello world itcast and itcastcpp'
    mystr= mystr.replace('itcast', 'HA',1)
    print(mystr)

    hello world HA and itcastcpp
  • split: 以 str 为分隔符切⽚ mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个⼦字符串

    1
    mystr.split(str=" ", 2)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    name = ''hello world ha ha''
    name = name.split('' '')
    print(name)

    ['hello', 'world', 'ha', 'ha']
    name = mystr.split(" ", 2)
    print(name)

    ['hello', 'world', 'ha ha']
  • capitalize 把字符串的第⼀个字符⼤写

    1
    mystr.capitalize()
  • title 把字符串的每个单词⾸字⺟⼤写

    1
    2
    3
    4
    5
    a = "hello itcast" 
    a = a.title()
    print(a)

    Hello Itcast
  • startswith 检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False

    1
    mystr.startswith(obj)
  • endswith 检查字符串是否以obj结束,如果是返回True,否则返回 False

    1
    mystr.endswith(obj)
  • lower 转换 mystr 中所有⼤写字符为⼩写

    1
    mystr.lower()
  • upper 转换 mystr 中的⼩写字⺟为⼤写

    1
    mystr.upper()
  • ljust 返回⼀个原字符串左对⻬,并使⽤空格填充⾄⻓度 width 的新字符串

    1
    mystr.ljust(width)
    1
    2
    3
    4
    5
    6
    7
    mystr='hello'
    mystr = mystr.ljust(10)
    print(mystr)
    print(len(mystr))

    hello 到此为止是空格
    10
  • rjust 返回⼀个原字符串右对⻬,并使⽤空格填充⾄⻓度 width 的新字符串

    1
    mystr.rjust(width)
    1
    2
    3
    4
    5
    6
    7
    mystr='hello'
    mystr = mystr.rjust(10)
    print(mystr)
    print(len(mystr))

    hello
    10
  • center 返回⼀个原字符串居中,并使⽤空格填充⾄⻓度 width 的新字符串

    1
    mystr.center(width)
    1
    2
    3
    4
    5
    6
    7
    mystr='hello'
    mystr = mystr.center(20)
    print(mystr)
    print(len(mystr))

    hello
    20
  • lstrip 删除 mystr 左边的空⽩字符

    1
    mystr.lstrip()
    1
    2
    3
    4
    5
    mystr='        hello'
    mystr = mystr.lstrip()
    print(mystr)

    hello
  • rstrip 删除 mystr 字符串末尾的空⽩字符

    1
    mystr.rstrip()
  • strip 删除mystr字符串两端的空⽩字符

    1
    mystr.strip()
  • rfind 类似于 find()函数,不过是从右边开始查找.

    1
    mystr.rfind(str, start=0,end=len(mystr) )
  • rindex 类似于 index(),不过是从右边开始.

    1
    mystr.rindex( str, start=0,end=len(mystr))
    1
    2
    3
    4
    5
    6
    a = 'a b c d e f g'
    print(a.rindex('d'))
    print(a.rindex('h'))

    6
    ValueError: substring not found
  • partition 把mystr以str分割成三部分,str前,str和str后

    1
    mystr.partition(str)
    1
    2
    3
    4
    5
    mystr='三三不得酒吖'
    mystr = mystr.partition('不得')
    print(mystr)

    ('三三', '不得', '酒吖')
  • rpartition 类似于 partition()函数,不过是从右边开始.

    1
    mystr.rpartition(str)
    1
    2
    3
    4
    5
    mystr='三三不得不得酒吖'
    mystr = mystr.rpartition('不得')
    print(mystr)

    ('三三不得', '不得', '酒吖')
  • splitlines 按照⾏分隔,返回⼀个包含各⾏作为元素的列表

    1
    mystr.splitlines()
    1
    2
    3
    4
    5
    6
    7
    8
    mystr = '三三\n不得酒吖'
    print(mystr)
    mystr = mystr.splitlines()
    print(mystr)

    三三
    不得酒吖
    ['三三', '不得酒吖']
  • isalpha 如果 mystr 所有字符都是字⺟ 则返回 True,否则返回 False

    1
    mystr.isalpha()
  • isdigit 如果 mystr 只包含数字则返回 True 否则返回 False.

    1
    mystr.isdigit()
  • isalnum 如果 mystr 所有字符都是字⺟或数字则返回 True,否则返回 False

    1
    mystr.isalnum()
  • isspace 如果 mystr 中只包含空格,则返回 True,否则返回 False.

    1
    mystr.isspace()
  • join mystr 中每个元素后⾯插⼊str,构造出⼀个新的字符串

    1
    mystr.join(str)
    1
    2
    3
    4
    5
    6
    a = ' '
    b = ['三三','不得','酒吖']
    c = a.join(b)
    print(c)

    三三 不得 酒吖