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