python_new
  • Introduction
  • First Chapter
  • 一、python基础
    • 1.1 常识
      • sys
    • 1.2 基础语法(1)
    • 1.2 基础语法(2)
    • 1.3 常见问题求解
    • 1.4 算法
  • 二、爬虫
    • urllib库(1)
      • urllib库(2)
    • requests模块(1)
      • requests模块(2)
    • 2.1 爬虫基础(3)HTTP原理
    • 2.1 爬虫基础(4)会话和Cookies
    • 2.1 爬虫基础(5)数据存储
      • Mysql存储
      • MongoDB存储
      • Redis存储
    • 2.3 正则表达式
    • 2.4 解析库lxml
      • BeautifulSoup
      • pyquery(1)
      • pyquery(2)
    • 2.5 selenium(1)
    • 2.5 seleium(2)
    • 2.6 Json
    • 2.7 scrapy
      • scrapy(2)
    • 2.9 异步加载
    • 2.6 Splash
  • ORM框架
    • SQLAlchemy
  • Django
    • 1、初阶(一)
    • 初学:投票教程(一)
    • 初学:投票教程(二)
    • 初学:投票教程(三)
    • 初学:投票教程(总结)
    • 模型(一)
    • 模型(二)
    • 视图(一)
    • 视图(二)
    • 模板(一)
    • django实际使用笔记
  • 面试题收集总结
    • 数据结构原理
    • 算法篇
      • 排序
    • 题目篇
  • python数据分析
    • 基础了解(一)
    • 基础了解(二)
    • 基础了解(三)
  • 多线程
  • 深度学习
    • 疑问
  • keras(一)
  • 神经网络
  • 图像识别
  • Docker
    • 一、基础了解
Powered by GitBook
On this page
  • 1、数据类型
  • 1.1 Number(数字)
  • 1.2 String (字符串)
  • 1.3 Sets(集合)
  • 1.4 List(列表)
  • 1.5 Tuple(元组)
  • 1.6 Dictionary(字典)
  • 2、运算符
  • 3、数据结构**
  • 3.1 列表操作
  • 3.2 元组操作
  • 3.3 字典操作
  • 4、字符串操作

Was this helpful?

  1. 一、python基础

1.2 基础语法(1)

1、数据类型

判断数据类型的方法:type() isinstance()

>>>type(5)            # 返回数据的类型
<class 'int'>
>>>isinstance(5, int) # 返回匹配的结果,相同则返回True,否则返回False
True

1.1 Number(数字)

python中的数字类型包括int、float、bool、complex四种类型。

浮点型转换为整型:int()

>>>int(5.99) # 这里python会做截断处理
5

1.2 String (字符串)

字符串即一连串的字符组合,可以用单引号,双引号,或三引号(允许换行)包含。

  • 索引

>>>'Hello World!'[1]
'e'
>>>'Hello World!'[-1]
'!'
>>> for i in 'Hello World!':
    print(i, end = ' ')
H e l l o   W o r l d !
  • 拼接

>>> 'Hello' + ' World' + '!' # 不仅适用于字符串
'Hello World!'
>>> 'Hello' ' World' '!'  # 仅适用于字符串
'Hello World!'
  • 切片

>>> a = 'Hello World!'
>>> a[1:3]
'el'
>>> a[-4:-1]
'rld'

1.3 Sets(集合)

1.4 List(列表)

1.5 Tuple(元组)

1.6 Dictionary(字典)

2、运算符

  • 算术运算符

+ - * / // ** %
  • 赋值运算符

= += -= *= /= //= **= %=
  • 逻辑运算符

and or not
  • 位运算符

3、数据结构**

3.1 列表操作

  • 列表推导式

[i for i in range(0,10)]
[(x,y) for x in range(10) for y in range(10) if x%2 == 0 if y%2 != 0]
  • 添加元素

list.append('a')           # 添加单个元素
list.extend(['a','b','c']) # 与另一个列表合并
list.insert(1,'a')         # 将元素插入到相应的位置
  • 删除元素

list = ['a','b','c']
list.pop(1)       # 执行后返回删除的元素,如果不加参数,默认删除最后一个
list.remove('a')  # 这里使用的是列表这个类的方法
del list['a']     # 这里使用的是命令语句
list.clear()      # 删除全部元素
del list[:]       # 同上
  • 提取元素

list = ['a','b','c']
list[1]    # 
list[1:2]  #切片的方式
list[-1]
list[-2:-1]
  • 其他方法

list = ['a','b','c']

list.count('a')                # 计算元素在列表中出现的次数
list.index('a',0,2)            # 返回元素在一定范围内的位置
list.reverse()                 # 反转元素的顺序 
list.sort(key, reverse=False)  # key可以引入某个函数,使用该函数的规则排序;reverse来规定排序由大到小还是反过来
list.copy()                    # 返回列表的一个浅拷贝,相当于list[:]

3.2 元组操作

元组属于不可修改的数据类型,因此使用方法操作后会返回一个值,但原有的元组还是保持不变。

  • 索引

>>> Tuple[1]
2
>>> Tuple[-1]
4
>>> Tuple[1:3]
(2, 3)
>>> Tuple[-3:-1]
(2, 3)
  • 拼接

result = Tuple[:2] + Tuple[2:]
  • 方法

>>> Tuple.count(1)
1
>>> Tuple.index(1)
0

3.3 字典操作

Dict = {1:'one',2:'two'}
  • 修改值

Dict[1] = 'ONE'
  • 添加值

Dict[3] = 'three'
  • 初始化

>>> Dict = {}
>>> Dict.fromkeys((1,2,3),'number')
{1: 'number', 2: 'number', 3: 'number'}
  • keys、values、items

>>> for i in Dict.keys():
    print(i)
1
2
>>> for i in Dict.values():
    print(i)
ONE
two
>>> for i in Dict.items():
    print(i)
(1, 'ONE')
(2, 'two')
# 只能作为迭代器,不能使用索引,如dict.keys[1],会报错!
  • 删除元素

Dict.pop(1)    # 输入一个键,然后返回它的值并且删除
Dict.popitem() # 不需要参数,随机删除一项,并以元组的形式返回
  • 方法

Dict.clear()          # 删除字典
Dict.copy()           # 浅拷贝
Dict.get(4,'不存在')   # 查询元素是否在字典中,若在返回对应的值;否则返回后面的参数,默认是None  
Dict.setdefault(5,'five')       # 与get类似,区别在于当不存在时,会添加该键和值,若不添加第二个参数,值会默认为None
Dict.update(Dict_2)   # 更新Dict,已有的更新值,没有的添加。?

4、字符串操作

字符串与元组相同,属于不可分割的数据类型。

  • 大小写转换

str.capitalize()   # 首字母大写
str.lower()        # 全部小写(A-Z)
str.casefold()     # 与lower类似,据说适用于其他语言的小写
str.swapcase()     # 大小写反转
str.title()        # 换成标题格式,即每个单词的首字母大写,其余小写
str.upper()        # 全部大写
  • 格式输出

str.center(width[, fillchar])   # 给定一定的宽度让字符串居中显示,fillchat可以指定填充的形式为字符
str.ljust(width[, fillchar])    # 给定一定的宽度让字符串靠左显示,可填充可定字符
str.rjust(width[, fillchar])    # 靠右,同上
str.zfill(width)                # 用0填充给定宽度的字符串,填充位置值得考虑
str.expandtabs(tabsize=8)       # 用指定的空格替代横向制表符,使得相邻字符串之间的间距保持在指定的空格数以内。tab 符号默认的空格数是 8。
str.format(^args, ^^kwargs)     # 格式化字符串
str.format_map(mapping)         # 与上面类似,区别是mapping是一个字典
  • 搜索定位和替换

str.count(sub[, start[, end]])  # 返回字符串在一定范围内出现的次数
str.find(sub[, start[, end]])   # 返回最前面出现的位置,找不到返回-1
str.rfind(sub[, start[, end]])  # 返回最后面出现的位置
str.index(sub[, start[, end]])  # 与上面类似,但找不到会报错
str.rindex(sub[, start[, end]])
str.replace(old, new[, count])  # 返回替换的结果,第三个参数为替换的次数
str.lstrip([chars])             # 去掉左面的空格或特定字符
str.rstrip([chars])
str.strip([chars])              # 同上
static str.maketrans(x[, y[, z]]) # !!!!!这么好玩!密码本?!
str.translate(table)

例子:

>>> a = 'dobi'
>>> b = {'d':'dog','o':' is','b':' friend','i':'!'}
>>> table = str.maketrans(b)
>>> table
{100: 'dog', 111: 'is', 98: 'friend', 105: '!'}
>>> a.translate(table)
'dog is friend!'
  • 联合和分割

str.join(iterable)               # 以str为分隔符,将元素合并为字符串
str.partition(sep);              # 以sep为分隔符,将字符串分为三部分,中间是分隔符
str.rpartition(sep)              # 同上,不过从右边开始寻找
str.split(sep=None, maxsplit=-1) # 分割
str.rsplit(sep=None, maxsplit=-1)# 从右边
str.splitlines([keepends])       # 字符串以行界符为分隔符拆分为列表;当 keepends 为True,拆分后保留行界符,能被识别的行界符见官方文档。
string.splitlines(num=string.count('\n')) #按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

字符串条件判断
str.endswith(suffix[, start[, end]])    # 判断在指定范围内,str是不是以suffix结尾,返回True或False 
str.startswith(prefix[, start[, end]])  # 同上
str.isalnum()       # 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
str.isalpha()       # 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
str.isdecimal()     # 如果 string 只包含十进制数字则返回 True 否则返回 False.这种方法只存在于unicode对象
str.isdigit()       # 如果 string 只包含数字则返回 True 否则返回 False.
str.isnumeric()     # 如果 string 中只包含‘数字字符’,则返回 True,否则返回 False
str.isidentifier()  # 判断是不是标志符,包括已定义的各种变量
str.islower()      
str.isprintable()   # 判断字符串的所有字符都是可打印字符或字符串为空。Unicode 字符集中 “Other” “Separator” 类别的字符为不可打印的字符
str.isspace()   
str.istitle()
str.isupper()
  • 编码

str.encode(encoding="utf-8", errors="strict")
PrevioussysNext1.2 基础语法(2)

Last updated 6 years ago

Was this helpful?