python基础知识

python基础数据类型

基础数据类型

 

基础数据类型的分类:

python3中有六个标准的数据类型

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionary(字典)

Python3的六个标准数据类型中:

  • 不可变数据类型(四个):Number、String、Tuple、Sets
  • 可变数据类型(两个):List、Dictionary

number数据类型

概念:

  Python3支持int、float、bool、complex(复数)

  在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。

  内置的type()函数可以用来查询变量所指的对象类型 

  >>> a, b, c, d = 20, 5.5, True, 4+3j

  >>> print(type(a), type(b), type(c), type(d))

  <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
例子

注意:

  • 在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
  • Python可以同时为多个变量赋值,如a,b = 1,2
  • 一个变量可以通过赋值指向不通类型的对象
  • 数值的除法(/)总是返回一个浮点数,要获取证书使用//操作符。
  • 在混合计算时,Python会把整型转换成浮点数
  • Python还支持复数,复数可以用a+bj,或者complex(a,b)表示,a和b都是浮点数

string数据类型

概念:

  Python中的字符串是以单引号(’)或者双引号(“)引起来的

  1,截取字符串格式为:变量[头下标:尾下标]

  #!/usr/bin/python3

  str = 'Yehewudi'

  print (str)       # 输出字符串
  print (str[0:-1])   # 输出第一个到倒数第二个的所有字符
  print (str[0])     # 输出字符串第一个字符
  print (str[2:5])    # 输出从第三个开始到第五个的字符
  print (str[2:])    # 输出从第三个开始的后的所有字符
  print (str * 2)    # 输出字符串两次
  print (str + "TEST") # 连接字符串
例子

  Python使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符

>>> print('Yehe')
Ye
he
>>> print(r'Yehe')
Yehe
>>>
例子
  另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用"""..."""或者'''...'''跨越多行

字符串常用用法

  count  通即字符串里某个字符出现的次数,支持切片

  语法:str.count(sub, start=0end=len(string))

  a="awawaw aaa ijoa"
  print(a.count("a" 3 -1))
  
  4
例子

  encode  指定编码格式字符串

  语法:str.encode(encodeing='UTF-8',errors = 'strict')

  • encoding  要使用的编码

  • errors  设置不通错误的处理方案

  find  判断字符串中是否包含自字符串,如果在返回索引值,如果不再返回-1支持切片

  a="awawaw aaa ijoa"
  print(a.find("aaa"))
  
  7
例子

  format  格式化输出

  print("姓名:{name}, 年龄:{age}".format(name = "yehe", age = 17))
  姓名:耶喝,年龄:17
例子

  index  查找字符串是否包含子字符串,如果存在返回索引,不存在报错

      a="asdf"
  print(a.index("s"))
  
  1  
例子

  isdigit  判断字符串是否只由数字组成,是返回True,否返回Flase

  a="11"
  print(a.isdigit())
  
  True
  True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
例子

  返回值为False: 汉字数字

  返回值为Error: 无

  isidentifier  判断字符串是否由字母开头,是返回True,否返回Flase

  a="asd11"
  print(a.isidentifier())

  True
例子

  islower  判断字符串是否由小写字母组成,是返回True,否返回Flase

  a="asd"
  print(a.islower())

  True
例子

  isupper  判断字符串中所有的字母是否都为大写,是返回True,否则返回Flase

  a="ASDF"
  print(a.isupper())

  True
例子

  isspace  判断字符串是否只由空格组成,是返回True,否则返回Flase

  a="  	  "
  print(a.isspace())

  True
例子

  isalpha  判断字符串是否只由字母组成,是返回True,否则返回Flase

  a="asdqweq"
  print(a.isalpha())

  True
例子

  isalnum  判断字符串是否由字母和数字组成,是返回True,否则返回Flase

  a="asdqweq1234"
  print(a.isalnum())

  True
例子

   join  将序列中的元素以指定的字符连接生成一个新的字符串

  a="-"
  print(a.join("asd"))

  a-s-d
例子

  lower  将字符串中所有大写字符转为小写

  a="AAA"
  print(a.lower())

  aaa
例子

  replace  将字符串中的字旧符替换成新字符,替换不超过max次

  a="My name is yehe"
  print(a.replace("yehe", "daige"))

  My name is daige
例子

  split  通过指定分隔符对字符串进行分隔,已分割后的字符串为元素组成列表

  语法:str.split(str="", num=string.count(str)).

  •  str  分隔符,默认为空格

  • num   分隔次数

  a="asd qwe zxc"
  print(a.split())

  ['asd', 'qwe', 'zxc']
例子

  upper  将字符串中的小写字母转为大写字母

  a="aaa"
  print(a.upper())

  AAA
例子
 

字符串不常用的用法

  capitalize  将字符串的第一个字母变成大写,其他字母变小写

  a="awawaw AAA ijoa"
  print(a.capitalize())

  Awawaw aaa ijoa
例子

  casefold与lower相似

  两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法

  center  返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格

  语法:str.center(width[, fillchar])

  • width  字符串的总宽度

  • fillchar   填充字符
  a="yehe"
  
  a.center(20, '*')
  ********yehe********
例子

  expandtabs  将字符串中的tab符号(' ')转为空格,tab为8个空格

  endswith  判断字符串自否以指定字符结尾,是返回True,否则返回False,支持切片

  a="yehe"
  
  a.endswith("he")
  True
例子

  format_map(不清楚)

  isnumeric  判断字符串是否只由数字组成,是返回True,否返回Flase

  a="123"
  print(a.isnumeric())

  True
  True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
例子

  返回值为False: 无

  返回值为Error: byte数字(单字节)

  isdecimal  判断字符串是否只包含十进制字符返回True,否则返回False

    a="123"
  print(a.isdecimal())

  True
  True: Unicode数字,,全角数字(双字节)
例子

  False: 罗马数字,汉字数字

  Error: byte数字(单字节)

  isprintable  判断字符串中所有字符是否都属于可打印字符

      a="123	"
  print(a.isprintable())

  False
例子

  istitle  判断字符串中所有的单词首字母为大写,其他字母为小写,是返回True,否则返回Flase  

      a="This Is A Yehe!"
  print(a.istitle())

  True
例子

  ljust  返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串

  lstrip  截掉字符串左边的空格或指定字符

  maketrans  ????

  partition  根据指定的分隔符讲字符串进行分隔

      a="yeheayehe!"
  print(a.partition("a"))

  ("yehe", "a", "yehe!")  
例子

  rsplit  通过指定分隔符对字符串进行切片,类似于 split() 方法,只不过是从字符串最后面开始分割。

  rfind  返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1

  rindex  返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数

  rjust  返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串

  rpartition  与partition类似,从后往前。

  rstrip   删除 string 字符串末尾的指定字符(默认为空格).

  startswith  用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False,支持切片

  splitlines  按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表

  swapcase  对字符串的大小写字母进行转换

  title  返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写

  translate  根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中

  zfill  返回指定长度的字符串,原字符串右对齐,前面填充0

注意:   

  • Python没有单独的字符类型,一个字符就是长度为1的字符串
  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义
  • 字符串可以用+运算符进行字符串的拼接操作
  • Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始
  • Python中的字符串不能改变    

list列表

概念:

  List是Python中使用最频繁的数据类型。

  列表可以完成大多数集合类的数据结构实现。列表中元素的类型不相同,它支持数字,字符串甚至可以包含列表(嵌套)。

  列表是写在方括号“[]”之间、用逗号分隔的元素列表。

  和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

  列表的截取格式为:变量[头下标:尾下标]  

  #!/usr/bin/python3 

  list = [ 'abcd', 786 , 2.23, 'yehe', 70.2 ] 
  tinylist = [123, 'yehe'] 

  print (list)       # 输出完整列表 
  print (list[0])     # 输出列表第一个元素 
  print (list[1:3])    # 从第二个开始输出到第三个元素 
  print (list[2:])     # 输出从第三个元素开始的所有元素 
  print (tinylist * 2)  # 输出两次列表 
  print (list + tinylist) # 连接列表
例子

常用用法:

  append  在列表末尾添加新的元素

    a = ["yehe", "test", 123]
    a.append("qweqwe")
    print(a)

    ["yehe", "test", 123, "qweqwe"]
例子

  count  用于统计某个元素在列表中出现的次数。

    a = ["yehe", "test", 123, 123]
  print(a.count(123))

  2
例子

  clear  清空列表

  extend  用于在列表末尾一次性追加另一个序列中的多个值

  a = ["yehe", "test", 123]
  b = ["qwe", "asd"]
  a.extend(b)
  print(a)

  ["yehe", "test", 123, "qwe", "asd"]
例子

  index  从列表中找出某个值第一个匹配项的索引位置

  a = ["yehe", "test", 123]
  print(a.index("test"))

  1
例子

  insert  将指定对象插入列表的指定位置

  a = ["yehe", "test", 123]
  a.insert(1, "asd")
  print(a)

  ["yehe", "asd", "test", 123]
例子

   pop  删除列表中的一个元素(默认为最后一个),并且返回值为该元素,没有则会报错

  a = ["yehe", "test", 123]
  a.pop(1)
  print(a)

  ["yehe", 123]
例子

  remove  删除列表中某个元素的第一个匹配项,没有则会报错

  a = ["yehe", 123, "test", 123]
  a.remove(123)
  print(a)

  ["yehe", 123]
例子

  sort  对列表进行排序

    a = [3, 2, 4, 1]
  a.sort()
  print(a)

  [1, 2, 3, 4]
例子

不常用用法:

   reverse  用于反向列表中元素

  a = ["yehe", "test", 123]

  a.reverse()
  print(a)

  [123, "test", "yehe"]
例子

注意:

  • List卸载方括号之间,元素用逗号分隔
  • 和字符串一样,list可以被索引和切片
  • List可以用+操作符进行拼接
  • List中的元素是可以改变的

tuple元组

概念:

  元组与列表类似,不用之处在于元组不能修改。元组卸载小括号里“()”,元素之间用逗号分隔

用法:

  与列表类似,只是不能修改

  只有count与index函数

注意:

  • 和字符串一样,元组可以被索引和切片
  • 元组也可以被索引和切片,方法一样
  • 注意构造包含0或1个元素的元组的特殊语法规则
  • 元组也可以使用+操作符进行拼接

dictionary字典

概念:

  字典是Python中另一个非常游泳的内置数据类型。

  列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过索引存取。

  字典是一种映射类型,字典用大括号“{}”表示,它是一个无序的键(key):值(value)对集合。

  键(key)必须使用不可变类型。

  在同一个字典中,键(key)必须是唯一的。

      #!/usr/bin/python3

  dict = {} 
  dict['one'] = "1"
  dict[2] = "2"

  testdict = {'name': 'yehe','code':1, 'site': 'www.qqq.com'}

  print (dict['one'])     # 输出键为 'one' 的值
  print (dict[2])        # 输出键为 2 的值
  print (testdict)       # 输出完整的字典
  print (testdict.keys())   # 输出所有键 
  print (testdict.values())  # 输出所有值
例子

用法:

  clear  删除字典内所有元素

  a = {"name": "yehe", "age": 18}
  a.clear
  print(a)
例子

  fromkeys  创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值

  a = {}
  b = ["name", "age", "test"]
  print(a.fromkeys(b, 10))

  {'name': 10, 'age': 10, 'test': 10}
例子

  get  函数返回指定键的值,如果值不在字典中返回默认值

  a = {"name": "yehe", "age": 18}
  print(a.get("name"))
  
  yehe
例子

  items  以列表返回可遍历的(键, 值) 元组数组(列表转元组)

  a = {"name": "yehe", "age": 18}
  b = a.items()
  print(b)
  
  dict_items([('name', 'yehe'), ('age', 18)])
例子

  keys  已列表的形式返回一个字典所有的键

  pop  删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值

  a = {"name": "yehe", "age": 18}
  a.pop("name")
  print(a)
  
  {'age': 18}
例子

  popitem  随机返回并删除字典中的一对键和值(一般删除末尾对),如果字典为空则报错

  setdefault  和get()方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

  a = {"name": "yehe", "age": 18}
  print(a.setdefault("test"))
  print(a)
  
  {'name': 'yehe', 'age': 18, 'test': None}
例子

  update  把字典dict2的键/值对更新到dict里

  a1 = {"name": "yehe", "age": 18}
  a2 = {"hobby":"women"}
  a1.update(a2)
  print(a1)
  
  {'name': 'yehe', 'age': 18, 'hobby': 'women'}

例子

  values  已列表的形式返回字典中的所有值

注意:

  • 字典是一种映射类型,它的元素是键值对。
  • 字典的关键字必须为不可变类型,且不能重复。
  • 创建空字典使用{}。 

sets集合(不重要)

概念:

  集合是一个无序不重复元素的序列。

  基本功能是进行成员关系测试和删除重复元素。

  可以使用大括号{ }或者set()函数创建集合,但是创建一个空集合必须用set()

  创建格式

  parame = {value01,value02,...}
  或者
  set(value)
View Code

用法:

  a = set('abracadabra')

  b = set('alacazam')

  1,差集

    print(a - b)

  2,并集

    print(a | b)

  3,交集

    print(a & b)

  4,反交集

    print(a ^ b)

  5,增

    a.add('666')    增加一个元素

    a.update('abc')  迭代增加 

  6,删

    a.remove     删除一个元素 

    a.pop      随机删除一个元素

    a.clear       清空集合

    del a        删除集合

基础数据类型的补充

  1,python数据类型的转换

函数 描述
int(x [,base])  将x转换为一个整数
float(x)  将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列s转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

编码:

 

 

 

 

 

原文地址:https://www.cnblogs.com/yehewudi/p/8749340.html