29 07 2021

Python基础语法

#if
a = 2
b = 3 
if a > b:  
    print("a max!") 
else:  
    print("b max!")
    
#if 是否包含   
s = "hello" 
ss = "hello world" 
if s in ss:  
    print("Contain") 
else:  
    print("Not Contain")
    
    
#################################################################################################################################################

    
#for 语句
# 循环遍历字符串 
for s in "hello":  
    print(s)
    
# 循环遍历列表 
fruits = ['banana', 'apple', 'mango'] 
for fruit in fruits:  
    print(fruit)
    
# 循环遍历 5 次 
for i in range(5):  
    print(i)
    
# 打印 1~10 之间的奇数 
for i in range(1, 10, 2):  
    print(i) 
#格式:range(start, end[,step]) 在 range()函数中,start 表示起始位置,end 表示结束位置,step 表示每次循环的步长。 运行上面的程序,输出结果为“1 3 5 7 9”。


#################################################################################################################################################


#列表、元组与字典

# 定义列表
lists = [1, 2, 3, 'a', 5]

# 打印列表
print(lists)

# 打印列表中的第 1 个元素
print(lists[0])

# 打印列表中的第 5 个元素
print(lists[4])

# 打印列表中的最后一个元素
print(lists[-1])

# 修改列表中的第 5 个元素为“b”
lists[4] = 'b'
print(lists)

# 在列表末尾添加元素
lists.append('c')
print(lists)

# 删除列表中的第一个元素
lists.pop(0)
print(lists)


# 定义元组
tup1 = ('a', 'b', 3, 4)
tup2 = (1, 2, 3)

# 查看元组
print(tup1[0])
print(tup2[0:2])

# 连接元组
tup3 = tup1 + tup2
print(tup3)

#复制元组
tup4 = ("Hi!")
print(tup4 * 3)

#列表是可变的,即可以追加、修改或 删除其中的元素,而元组是不可变的。


# 定义字典
dicts = {"username":"zhangsan",'password':123456}

# 打印字典中的所有 key
print(dicts.keys())

# 打印字典中的所有 value
print(dicts.values())

# 向字典中添加键/值对
dicts["age"] = 22

# 循环打印字典 key 和 value
for k, v in dicts.items():
    print("dicts keys is %r " %k)
    print("dicts values is %r " %v)

# 删除键是'password'的项
dicts.pop('password')

# 打印字典以列表方法返回
print(dicts.items())

# Python 规定一个字典中的 key 必须是独一无二的,value 可以相同。


#################################################################################################################################################

#函数、类和方法

# 定义 add()函数
def add(a, b):
    print(a + b)
    
# 调用 add()函数
add(3, 5)

#默认值
def add(a=1, b=2):  
    return a + b 
c1 = add() 
c2 = add(3, 5) 
print(c1) 
print(c2)

# 定义 MyClass 类
class MyClass(object):
    def say_hello(self, name):
    return "hello, " + name
    
# 调用 MyClass 类
mc = MyClass()
print(mc.say_hello("tom"))


#类初始化
class A:
    def --init-- (self, a, b):
        self.a = int(a)
        self.b = int(b)
        
    def add(self):
        return self.a + self.b
        
# 调用类时需要传入初始化参数
count = A('4', 5)
print(count.add())


#继承
class B(A):
    def sub(self, a, b):
    return a - b
print(B(2,3).add())


#################################################################################################################################################



#模组

# 调用 time 模块
	import time

# 直接导入 ctime()函数
from time import ctime
print(ctime())

# 直接导入 time 模块下的多个函数
from time import time, sleep

# 导入 time 模块下的所有函数
from time import *
print(ctime())
print("休眠两秒")
sleep(2)
print(ctime())

# 对导入的 sleep 函数重命名
from time import sleep as sys_sleep
def sleep(sec):
	print("this is I defined sleep() ")
	
	

#自定义模块

#下面创建一个目录 project1,并在目录下创建两个文件,结构如下:
#project1/
#├── calculator.py
#└── test.py

#在 calculator.py 文件中创建 add()函数。
def add(a, b):
	return a + b
#在相同的目录下再创建一个文件 test.py,导入 calculator.py 文件中的 add()函数。

# 导入 calculator 文件中的 add 函数
from calculator import add
print(add(4,5))


#跨目录调用文件
#project2/
#└──  module/ 
#	└──calculator.py
#└── test/
#        └── test.py


import sys
from os.path import dirname, abspath
project_path = dirname(dirname(abspath(__file__)))
sys.path.append(project_path + "\\module")
from calculator import add
print(add(2,3))


延伸阅读
  1. 用threejs展示stl格式3D模型
  2. js浮点数乘除