标签:tornado psu 第一个字符 格式 tab %x 不可变对象 复制 成员运算符
No1. Python语言介绍
详情见百度百科。。。
No.2 Python是一门怎么样的语言
详情在百度百科。。。
No3. Python能做什么
网络应用、桌面应用、系统运维、机器学习、科学计算。。。
格式符号 |
备注 |
%c |
字符 |
%s |
字符串 |
%i |
有符号十进制整数 |
%d |
无符号十进制整数 |
%o |
八进制整数 |
%x |
十六进制整数(小写字母) |
%X |
十六进制整数(大写字母) |
%f |
浮点数 |
No.9 变量
Python的变量就是一个便利贴
- 变量名只能是字母、数字、下划线的组合
- 变量的第一个字符不能是数字
- 变量名不能和关键字重名
No.10 运算符
-
算术运算符
运算符 |
备注 |
+ |
加 |
- |
减 |
* |
乘 |
** |
幂 |
/ |
除 |
// |
整除 |
% |
模 |
-
赋值运算符
运算符 |
实例 |
= |
a = 1 |
+= |
a += 1 a = a + 1 |
-= |
a -= 1 a = a -1 |
*= |
a = 2 a = a 2 |
**= |
a = 2 a = a 2 |
/= |
a /= 2 a = a / 2 |
//= |
a //= 2 a = a // 2 |
%= |
a %= 2 a = a % 2 |
-
关系运算符
运算符 |
备注 |
== |
等于 |
!= |
不等于 |
> |
大于 |
|
小于 |
>= |
大于等于 |
|
小于等于 |
-
逻辑运算符
运算符 |
备注 |
and |
x和y均为真,返回真 |
or |
x或者y为真,返回真 |
not |
x为假,返回真 |
-
位运算符
运算符 |
备注 |
& |
按位与运算符,参与运算的两个值,如果相同位都为1,则结果为1 |
| |
按位或运算符,参与运算的两个值,只要相同位一个为1,则结果为1 |
^ |
按位异或运算符,参与运算的两个值,当相同位不同时,则结果为1 |
~ |
按位取反运算符,即1变0,0变1 |
|
左移运算符,运算符的各二进制位向左移动若干位 |
>> |
右移运算符,运算符的各二进制位向右移动若干位 |
-
成员运算符
运算符 |
备注 |
in |
如果在序列中存在返回真 |
not in |
如果在序列中不存在返回真 |
-
身份运算符
运算符 |
备注 |
is |
判断两个标识符是不是引用自一个对象 |
is not |
判断两个标识符是不是不是引用自一个对象 |
No.11常用数据类型转换
- index(x[,base]) 将x转换为一个指定进制的整数,默认为十进制
- long(x[,base]) 将x转换为一个指定进制的整数,默认为十进制
- float(x) 将x转换为一个浮点数
- str(x) 将x转换为一个字符串
- repr(x) 将x转换为表达式字符串
- eval(x) 用来计算字符串表达式并返回一个对象
- tuple(x) 将x转换成一个元祖
- list(x) 将x转换成一个列表
- chr(x) 将x(整数)转换为字符形式
- ord(x) 将x(字符)转换成整数形式
- hex(x) 将x转换成十六进制
- oct(x) 将x转换成八进制
- bin(x) 将x转换成二进制
No.12 判断语句
if 条件:
do something
else:
do something
No.12 循环语句
while 条件:
do something
栗子:
i = 0
sum = 0
while i
while 条件:
do something
while 条件:
do something
栗子:
i = 1
while i
-
for循环
在Python中for循环可以遍历任何序列
for 临时变量 in 序列:
do something
else:
do something
栗子:
name = ‘kernel‘
for i in name:
print(i)
栗子:
i = 0
while i
No.13 简述拷贝
要理解深浅拷贝需要理解下面的概念
变量->引用->对象->切片->拷贝
变量是便利贴
对象是被分配的一块内存,存储其代表的值
引用是自动形成的从变量到对象的指针
不变对象是指一旦创建就不可以改变的对象,例如字符串、数字、元组
可变对象是指可以改变的对象,例如列表、字典
a = 1
b = a
print(a) # 1
print(b) # 1
b = 2
print(a) # 1,并没有随着b的改变而改变
print(b) # 2
a = [1,2,3,4]
b = a
print(a) # [1,2,3,4]
print(b) # [1,2,3,4]
b[3] = 5
print(a) # [1,2,3,5]
print(b) # [1,2,3,5]
-
深浅拷贝
浅拷贝:只拷贝顶级的对象
深拷贝:拷贝所有对象
import copy
l1 = [1,2,3,4,[‘a‘,‘b‘]]
l2 = copy.copy(l1)
print(l1) # [1,2,3,4,[‘a‘,‘b‘]]
print(l2) # [1,2,3,4,[‘a‘,‘b‘]]
l2[0] = 11
l2[4][0] = ‘aa‘
print(l1) # [11,2,3,4,[‘a‘,‘b‘]]
print(l2) # [11,2,3,4,[‘aa‘,‘b‘]]
import copy
l1 = [1,2,3,4,[‘a‘,‘b‘]]
l2 = copy.deepcopy(l1)
print(l1) # [1,2,3,4,[‘a‘,‘b‘]]
print(l2) # [1,2,3,4,[‘a‘,‘b‘]]
l2[0] = 11
l2[4][0] = ‘aa‘
print(l1) # [11,2,3,4,[‘aa‘,‘b‘]]
print(l2) # [11,2,3,4,[‘aa‘,‘b‘]]
结论:
深浅拷贝都是对源对象的复制,占用不同的内存空间
如果源对象只有一级目录的话,源做任何改动,不影响深浅拷贝对象
如果源对象不止一级目录的话,源做任何改动,都要影响浅拷贝,但不影响深拷贝
序列对象的切片其实是浅拷贝,即只拷贝顶级的对象
Python全栈开发之基础语法
标签:tornado psu 第一个字符 格式 tab %x 不可变对象 复制 成员运算符
原文地址:http://blog.51cto.com/13559120/2287464