Python - Charles-Charmless/Charles-Charmless.github.io GitHub Wiki
Name | Tags |
---|---|
opencc | 简体繁体转换 |
创建
mkdir <Project_name>
cd <Project_name>
#创建新的环境
python<version> -m venv <virtual-environment-name>
激活
source <Path_Project>/bin/activate
print('%d + %d = %d',% (a,b,a+b))
分支结构
if statement:
elif statement and/or statement:
else statement:
嵌套分支
if statement:
else:
if statement:
else statement:
循环结构
for-in循环
for var in range:
while 循环
break 终止当前循环
continue:跳过本次循环,继续执行下次循环
定义函数
def funcname(input=x,input=x,):
return xxx
可变参数函数
def funcname(*args):
for var in args:
statement
return xxx
模块
module1.py
def function1():
module2 py
def function2():
from module1 import function1
from module2 import function2
import module1 as m1
m1.function1()
import module2 as m2
m2.function2()
如果在模块文件内除了函数还有其他可执行的文件,那么在导入模块的时候还会执行这些语句,可以通过一下的条件来除了
if __name=='__main__':
变量的作用域
全局作用域,局部变量
用global 关键字来指示函数中的变量来自于全局作用域,如果全局作用域中没有该变量则会定义一个全局变量
使用nonlocal关键字来指示变量来自域嵌套作用域
python文本代码格式
def main():
codeXXXXXXXXXXXXXXXXXXXxx
pass
if __name__=='__main__':
main()
字符串
s1='hello'
s2="hello"
s3="""
hello1
hello2
"""
在\后面可以跟一个八进制和十六进制的数来表示字符 \num表示八进制,\x表示十六进制 \u 表示unicode编码
如果不希望字符中的\表示转义,可以在字符串最前面加上字母r来指示
字符运算函数
(not) in
[ ] [:] 从字符串中去除某个字符或某些字符 单个或者向量
len()
capitalize
列表(向量)可以不同类型
list1=[1,2,3,5,8 ]
元组
可以用一个变量来存储多个数据,元组的元素不能修改
t=('a',36,True,'asdf')
集合
set1 = {1,2,3,4,5}
字典,关键在于键值对
scores={'a':15,'b':25,'d':''asdf}
定义类
class classname(object):
def __init__() : 初始化函数
访问可见性问题
在python中如果希望属性是私有的,那么在给属性命名的时候可以用两个下划线开头
访问器(getter),修改器(setter),包装器(@property)
__slot__变量限定自定义类型的对象只能绑定某些属性,只对当前类的对象生效,对子类不起作用
@staticmethod
定义静态方法
@classmethod定义类方法,第一个参数约定名为cls,代表当前类相关的信息的对象(类本身也是对象,,有的地方成为类的元数据对象)
类之间关系: is a,has -a,use-a分别是继承,关联,和依赖关系
继承
class fatherclass()
class sonclass(fatherclass)
多态:通过重写让父类的同一个行为在子类中用于不同的实现版本,从而不同的子类对象会表现出不同的行为