02 Python学习笔记-基本数据类型

一、基本知识
1.缩进:

 

 2.一行多条语句:

3.断行:

4.注释
# 单行注释 

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

 

5. 变量

  •   1. 变量类型(局部变量、全局变量、系统变量)
  •   2. 变量赋值

        多重赋值x=y=z=1

        多元赋值x,y = y,x

  •   3. 变量自增 x+=1 x-=1(不支持x++, x--)

*******Python3常量用大写表示,例如:PI = 360  表示常量,常量不能修改******

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

1.数字Number

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

    2. 浮点型float

    3. 布尔型bool  (非空即真,非0即真)

      **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)
3.列表List
  列表元素支持各种对象的混合支持嵌套各种对象如["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)

6种基本数据类型特点总结:

  • 1.数字/字符串/元组:长度固定
  • 2.序列(字符串/列表/元组):有序
  • 3.集合/字典:无序,不重复/键值不重复

 

posted @ 2019-09-20 23:44  落落mo  阅读(374)  评论(0编辑  收藏  举报