python基础语法
一、数据类型
六个标准数据类型:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
1、Number(数字):int、float、bool、complex(复数)。
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'>
类型判断,可以用type,也可用 isinstance() 来判断
a,b,c,d = 20,5.5,True,4+3j print(isinstance(a,int),isinstance(b,float),isinstance(c,bool),isinstance(d,complex))
输出:True True True True
isinstance 和 type 的区别在于:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
2、字符串截取: 变量名【头下标:尾下标:步长】 字符串可被索引和截取
str = '123456' print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2) str = '123456789' print(str[1:5:2]) 输出:24
格式化字符串
1、f'Hello {name}' name为变量明
2、'Hello %s' % name
3、列表list:和字符串一样,可被索引和截取,列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)
截取列表:变量名[头下标:尾下标:步长] 步长为-1,表示逆向
加号 + 是列表连接运算符,星号 * 是重复操作。
def reverseWords(input): inputWords = input.split(" ") inputWords = inputWords[-1::-1] print(inputWords) output = ' '.join(inputWords) return output if __name__ == '__main__': input= 'I like runoob' rw = reverseWords(input) print(rw)
print的值:['runoob', 'like', 'I']
返回值:runoob like I
列表内置函数及方法:
序号 | 函数 | |
1 | len(list) | 列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 将元组转换为列表 |
序号 | 方法 | 描述 |
1 | list.appent(obj) | 在列表末尾添加新的对象 |
2 | list.count(obj) | 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index.obj) | 将对象插入列表 |
6 | list.pop(index=-1) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) | 移除列表中某个值的第一个匹配项 |
8 | list.reverse() | 反向列表中元素 |
9 | list.sort(key=None,reverse=False) | 对原列表进行排序 |
10 | list.clear() | 清空列表 |
11 | list.copy() | 复制列表 |
4、Tuple(元组) 元组的元素不能修改,可被索引和截取
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组 tup2 = (20,) # 一个元素,需要在元素后添加逗号
5、Set(集合):不可重复
创建集合可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
parame = {value01,value02,...}
或者
set(value)
6、Dictionary(字典):列表是有序的对象集合,字典是无序的对象集合,它是一个无序的 键(key) : 值(value) 的集合
输出字典的所有键:字典变量名.keys()
输出字典的所有值:字典变量名.values()
1)字典是一种映射类型,它的元素是键值对。
2)字典的关键字必须为不可变类型,且不能重复。
3)创建空字典使用 { }。
字典内置函数: clear()、keys()、values()
7、bytes 类型:不可变的二进制序列(byte sequence)
bytes() 函数将其他类型的对象转换为 bytes 类型。bytes() 函数的第一个参数是要转换的对象,第二个参数是编码方式,如果省略第二个参数,则默认使用 UTF-8 编码:x = bytes("hello", encoding="utf-8")
x = b"hello" if x[0] == ord("h"): print("The first element is 'h'")
ord() 将字符转换整数
print(ord("A"))
输入值:65
print(ord("a"))
输入值:97
二、数据类型转换
函数 | 描述 |
---|---|
将x转换为一个整数 |
|
将x转换到一个浮点数 |
|
创建一个复数 |
|
将对象 x 转换为字符串 |
|
将对象 x 转换为表达式字符串 |
|
用来计算在字符串中的有效Python表达式,并返回一个对象 |
|
将序列 s 转换为一个元组 |
|
将序列 s 转换为一个列表 |
|
转换为可变集合 |
|
创建一个字典。d 必须是一个 (key, value)元组序列。 |
|
转换为不可变集合 |
|
将一个整数转换为一个字符 |
|
将一个字符转换为它的整数值 |
|
将一个整数转换为一个十六进制字符串 |
|
将一个整数转换为一个八进制字符串 |
三、算术运算符
运算符 | 描述 |
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x 除以 y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 取整除 - 往小的方向取整数 |
ORM框架的核心说白了都一样,就是将数据库类型转换成面向对象编程语言的类型,可以理解为“翻译”。