小编给大家分享一下Python全栈开发之基础语法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
详情见百度百科。。。
详情在百度百科。。。
网络应用、桌面应用、系统运维、机器学习、科学计算。。。
网络应用 Django/Flask/Tornado
桌面应用 PyQt/PySide/wxPython/PyGTK
系统运维 psutil/IPy/dnspython/difflib
机器学习 Scikit-Learn/Statsmodels/PyMC/Shogun
科学计算 NumPy/SciPy/Matplotlib
简单,开发效率高,高级语言,跨平台。。。
速度慢,代码不能加密,GIL锁。。。
Windows 下载Anaconda,点点点。。。
Linux 下载Anaconda,解压,安装。。。
单行注释 # 一行
多行注释 """一堆""" OR '''一堆'''
具有特殊功能的标识符,这就是所谓的关键字
import keyword print(keyword.kwlist)
格式符号 | 备注 |
---|---|
%c | 字符 |
%s | 字符串 |
%i | 有符号十进制整数 |
%d | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%f | 浮点数 |
Python的变量就是一个便利贴
变量名只能是字母、数字、下划线的组合
变量的第一个字符不能是数字
变量名不能和关键字重名
算术运算符
运算符 | 备注 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
** | 幂 |
/ | 除 |
// | 整除 |
% | 模 |
赋值运算符
运算符 | 实例 |
---|---|
= | 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 | 判断两个标识符是不是不是引用自一个对象 |
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转换成二进制
if-else
if 条件: do something else: do something
elif
if 条件: do something elif 条件: do something
if嵌套
if 条件: if 条件: do something elif 条件: do something elif 条件 if 条件: do something elif 条件: do something else: if 条件: do something elif 条件: do something
while
while 条件: do something 栗子: i = 0 sum = 0 while i < 100: sum += i i += 1
while循环嵌套
while 条件: do something while 条件: do something 栗子: i = 1 while i <= 9: j = 1 while j <= i print("%d*%d=%-2d"%(j,i,i*j),end='') j += 1 print('\n') i += 1
for循环
在Python中for循环可以遍历任何序列
for 临时变量 in 序列: do something else: do something 栗子: name = 'kernel' for i in name: print(i)
break和continue
break的作用是用来结束整个循环
栗子: i = 0 while i <= 100: i += 1 if i == 5: break
continue的作用是用来结束本次循环,然后执行下一次循环
栗子: i = 0 while i <= 100: i += 1 if i == 5: continue
要理解深浅拷贝需要理解下面的概念
变量->引用->对象->切片->拷贝
变量是便利贴
对象是被分配的一块内存,存储其代表的值
引用是自动形成的从变量到对象的指针
不变对象是指一旦创建就不可以改变的对象,例如字符串、数字、元组
可变对象是指可以改变的对象,例如列表、字典
不可变对象的赋值
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全栈开发之基础语法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。