Python - Charles-Charmless/Charles-Charmless.github.io GitHub Wiki


Created: 2023-06-26T00:08

packages

Name Tags
opencc 简体繁体转换

虚拟环境

创建

mkdir <Project_name>
cd <Project_name>

#创建新的环境
 python<version> -m venv <virtual-environment-name>

激活

source <Path_Project>/bin/activate

Day 01第一天基本输入输出

print('%d + %d = %d',% (a,b,a+b))

Day 02 第二天程序结构

分支结构

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:跳过本次循环,继续执行下次循环

Day 03第三天函数和模块

定义函数

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()

Day 04 第四天字符串和数据结构

字符串

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}

Day 05 第五天面向对象

定义类

class classname(object):
	def __init__()  :  初始化函数

访问可见性问题

在python中如果希望属性是私有的,那么在给属性命名的时候可以用两个下划线开头

访问器(getter),修改器(setter),包装器(@property)

__slot__变量限定自定义类型的对象只能绑定某些属性只对当前类的对象生效对子类不起作用
@staticmethod
定义静态方法
@classmethod定义类方法第一个参数约定名为cls代表当前类相关的信息的对象类本身也是对象,,有的地方成为类的元数据对象

类之间关系: is a,has -a,use-a分别是继承,关联,和依赖关系

继承

class fatherclass()

class sonclass(fatherclass)

多态:通过重写让父类的同一个行为在子类中用于不同的实现版本,从而不同的子类对象会表现出不同的行为

⚠️ **GitHub.com Fallback** ⚠️