一、基本知识


 

python SnowNLP基础语法 python基本语法总结_bc

 2.一行多条语句:

python SnowNLP基础语法 python基本语法总结_bc_02

3.断行:

python SnowNLP基础语法 python基本语法总结_字符串_03



4.注释



'''这是一段 多行注释'''

python SnowNLP基础语法 python基本语法总结_bc_04

 

5. 变量


1. 变量类型(局部变量、全局变量、系统变量)

2. 变量赋值

  多重赋值x=y=z=1

  多元赋值x,y = y,x
3. 变量自增 x+=1 x-=1(不支持x++, x--)


***Python3中没有常量******

二、Python的基本数据类型(6种)


1.数字Number


  1. 种类
    1. 整型int(Python3中没有长整型,int长度几乎没有限制)

    2. 浮点型float
    3. 布尔型bool

      **False: 0,0.0,'',[],(),{}

      **True: 除False以外,['']或[[],[]]不是False

    4. 复数型complex

  2. 操作符: +,-,*,/,//(地板除),**(乘方) 

    ***Python3中的/是真实除,1/2=0.5*****

  3. 类型转换

    1. str(): 其他类型转为字符串, 如str(12)
    2. int(): 字符串数字转为整型(字符串不是纯整数会报错), 如int("12")

    3. float(): 字符串转换为浮点数,如float("1.23")


2.字符串String


 1. 字符串系统方法

  • len(): 计算字符串长度,如len("abcdefg")
  • find()/index(): 查找字符串中某个字符第一次出现的索引(index()方法查找不到会报错), 如"abcdefg".find("b"); "abcedfgg".index("g")         
  • lower()/upper(): 将字符串转换为全小写/大写,如"AbcdeF".lower();"abcedF".upper()
  • isdigit()/isalpha()/isalnum(): 判断字符串是否纯数字/纯字母/纯数字字母组合, 如isdigit("123"),结果为 True
  • count(): 查询字符串中某个元素的数量,如"aabcabc".count("a")
  • join(): 将列表元素按字符串连接,如"".join(["a","b","c"])会按空字符连接列表元素,得到"abc"
  • replace(): 替换字符串中的某已部分,如"hello,java".replace("java", "python"),将java 替换为 python
  • split(): 和join相反,将字符串按分隔符分割成列表, 如"a,b,c,d".split(",")得到["a", "b", "c", "d"]
  • strip()/lstrip()/rstrip(): 去掉字符串左右/左边/右边的无意字符(包括空格,换行等非显示字符),如" this has blanks \n".strip()得到"this has balnks"

 2. 字符串格式化

  • %: 如"Name: %s, Age: %d" % ("Lily", 12)或"Name: %(name)s, Age: %(age)d" % {"name": "Lily", "age": 12}
  • format: 如"Name: {}, Age: {}".format("Lily", 12)或"Name: {name}, Age: {age}".format(name="Lily",age=12)
  • substitude(不完全替换会报错)/safe_substitude: 如"Name: ${name}, Age: ${age}".safe_substitude(name="Lily",age=12)

  列表元素支持各种对象的混合支持嵌套各种对象如["a", 1, {"b": 3}, [1,2,3]]


  1. 列表操作

    赋值: l = [1, "hello", ("a", "b")]

    获取: a = l[0]  # 通过索引获取

    增: l.append("c");l.extend(["d","e"]);l+["f"]

    删: l.pop() # 按索引删除,无参数默认删除最后一个;l.remove("c") # 按元素删除 改:l[1]="HELLO" # 通过索引修改

    查: 遍历 for i in l: print(i)

  2. 列表系统方法

    append()/insert()/extend(): 添加/插入/扩展(连接) index(): 获取元素索引

    count(): 统计元素个数

    pop()/remove(): 按索引/元素删除 sort()/reverse(): 排序/反转


    例如: 字符串反转s="abcdefg"; r=''.join(reversed(a))

  •  4.元组tuple


  •   1. 不可改变,常用作函数参数(安全性好)
      2. 同样支持混合元素以及嵌套
      3. 只有一个元素时,必须加","号,如a=("hello",) - 因为Python中()还有分组的含义,不加","会识别为字符串  

*****字符串/列表/元组统称为序列有相似的结构和操作方法*****

  • 5.集合set

      1.集合可以通过序列生成a = set([1,2,3])   2.集合无序,元素不重复(所有元素为可哈希元素)   3.集合分为可变集合set和不可变集合frozenset
      4.操作方法: 联合|,交集&,差集-,对称差分^
      5.系统函数: add()/update()/remove()/discard()/pop()/clear()

    6.字典dict
  • 字典是由若干key-value对组成, 字典是无序的, 字典的key不能重复,而且必须是可哈希的,通常是字符串 字典操作
  • 赋值: d = {"a":1, "b":2}
  • 获取: a = d['a']或a = d.get("a") # d中不存在"a"元素时不会报错 增: d["c"] = 3; d.update({"d":5, "e": 6}
  • 删: d.pop("d");d.clear() # 清空
  • 查: d.has_key("c")
  • 遍历:

   遍历key: for key in d:或for key in d.keys():

  • 遍历value: for value in d.values():遍历key-value对: for item in d.items():

三、序列相关操作方法

 1.索引

  - 正反索引: `l[3];l[-1]`
  - 索引溢出(IndexError): 当索引大于序列的最大索引时会报错,如[1,2,3,4]最大索引是3,引用l[4]会报IndexError

2.切片

  • l[1:3]   # 从列表索引1到索引3(不包含索引3)进行截取, 如 l = [1, 2, 3, 4, 5], l[1:3]为[2, 3]
  • l[:5:2]  # 第一个表示开始索引(留空0), 第二个表示结束索引(留空为最后一个,即-1), 第三个是步长, 即从开头到第5个(不包含第5个),跳一个取一个
  • 例如: 字符串反转 s="abcdefg";r=s[::-1]

3.遍历

  • 按元素遍历: for item in l: print(item)
  • 按索引遍历: for index in range(len(l)): print(l[index])
  • 按枚举遍历: for i,v in enumerate(l): print((i,v))

4. 扩展/连接(添加多个元素): extend()/+ "abc"+"123";[1,2,3]+[4,5];[1,2,3].extend([4,5,6,7])

5. 类型互转: str()/list()/tuple()

****list转str一般用join(), strl转ist一般用split()******

6.系统函数

  • len(): 计算长度
  • max()/min(): 求最大/最小元素
  • sorted()/reversed(): 排序/反转并生成新序列(sort()/reverse()直接操作原序列)l_new=sorted(l);l_new2=reversed(l)