python - 学习笔记【基础数据结构】

python基础语法:

声名变量:
    message = "hello world"    # 不需要变量修饰符

基本类型:
    1、字符串       message = "hello world"
    2、布尔类型     message = True
    3、整数         message = 1             
    4、浮点数       message = 2.3                 
    5、数字         message = 2                    
    6、列表         message = [2,3,4,5]           
    7、元组         message = (200,5)            
    8、字典         message = {'color':'green','points':5}    # K-V存储

强转类型: 
int(x [,base]) 将x转换为一个整数
long(x [,base]) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符    

高级元素操作:
列表的基本操作
    message = [2,3,4,5]
    message[0]  # 获取第一个对象
    message[-1] # 获取最后一个对象
    message.append(6) # 从末端添加元素
    message.insert(0,6) # 从指定位置添加元素  0表示索引的位置
    del message[0]  # 删除指定元素
    message.pop()  # 从尾部弹出元素
    message.pop(0)  # 从指定位置弹出元素
    message.remove(5) # 根据值来删除对象
    message.sort() # 对内元素正序
    message.sort(reverse=True) # 对内元素正序
    result=sorted(message)  # 对列表元素排序返回排序的结果  列表元素本身不排序
    message.reverse() #列表元素反转 
    len(message) #长度
    message.index(x) # 返回第二个索引对象
    message.count(x) # 某元素的个数

    for m in message:   # 遍历列表  注意python语法要求是缩进来控制程序的层级关系
        print(m);
        
    2 in message   # 返回布尔值 判断是否存在


常用列表操作:
    nums=list(range(1,10))  # 生成1-9的列表
    for n in range(1,10)  # 遍历1-9的元素
    sum(nums) # 求和元素
    max(nums) # 元素最大
    min(nums) # 元素最小
    nums[1:4] # 列表分片  截取索引第一到第四
    nums[-3:] # 序列分片  倒数第三个截取

元组基本操作:(操作基本和列表一样,元组为不可修改的列表)
    data = (200,5);
    for d in data:
        print(d);
    
字典操作
data = {}
data['one']='key'  # 添加
del data['one'] # 删除特定元素

# 遍历字典k-v
fo k,v in data.item():
    print('k -> '+k)
    print('v -> '+v)

# 遍历字典所有键
fo k in data.keys():     # data.values()  所有值列表
    print('k -> '+k)

if的基本操作
number = 1;
if number > 5 and number < 8:
    print("this is one");
elif number > 8 or number == 0:
    print("this is two");
else:
    print("this is else our");

    
函数定义
def greet_user(username):
    print("hello "+username)
# 函数参数默认值
def log(a='this is one',b='this is two'):
    print("print "+a)
    print("print "+b)
    

# 函数返回值 # 默认函数返回 None
def add(a=1,b=2):
    return a+b

# 返回多个变量
def add(a=1,b=2):
    return a,b
x,y = add(1,2)  # 把结果赋值给变量

# 不定长度
def make_array(*strs):

# 任意键值对信息传入
def make_name(firstName,secondName,**userInfo):

导包
import pandas as p  # 包内所有函数
from numpy import array as ar # 导入单个函数

基本类的编写
class Dog():
    # 初始化函数  #类的作用域里 self为当前类本身(类似java的this)
    def __init__(self, name, age):
         self.name = name
         self.age = age
         self.__Id = 1  # 类私有的属性

    def setName(self, name):
          self.name = name

    def printObj(self):
         print("输出 : name ", self.name, " age ", str(self.age))

    def getId(self):
         return self.__Id

    def __getName(self): 
         return self.name
         
#   继承Dog类元素
class SmallDog(Dog):
      def __init__(self, name, age):
            super().__init__(name,age)

      # 重写父类元素
      def printObj(self):
         print("输出 :small name ", self.name, " age ", str(self.age))  

# 类的基础应用 
import Dog  # 导入Dog模块
dog = Dog("miss",18) # 执行初始化
dog.printObj() # 执行对象函数
dog.hob = "new" # 对象赋予新属性
print(dog.name)  # 公有属性直接获取
print(dog._Dog__Id)  # 调用类私有的属性

# 基础文件操作    
with open("test.txt") as fileObj:
    fileObj.read() # 读取所有
    for line in fileObj: #行读
        print(line)
    fileObj.readLines() # 行集合

with open("test.txt",w) as fileObj: # 写入文件
    fileObj.write("this is test two")

with open("test.txt",a) as fileObj: # 追加文件
    fileObj.write("this is test three")
    
# json文件存储
nums = [2,3,4,5]
with open("nums.json",w) as f_obj:
    json.dump(nums,f_obj)

with open("nums.json") as f_obj:
    nums = json.load(f_obj)

    
# 异常操作
try:
    print(5/0)
except ZeroDivisionError:
    pass  # 忽略 跳过
    # print("you cannot divide by zero!")
else:    # 可忽略
    print("other except")
finally:   # 可忽略
    print("this is finally!")

# 高级函数
# map 转变新集合
li = [11,2,22,33,4]
new_list = map(lambda x:x+2,li)  # 对原集合进行计算后返回
print(list(new_list))

# filer 过滤集合
new_list = filter(lambda x:x>10,li)  # 对原集合条件筛选后返回
print(list(new_list))

# reduce
from functools import reduce  # 引入方法
result = reduce(lambda x,y: x + y ,li,100)  # 初始值100 默认0   # 累加求和

 

# 用字典或数组来封装函数
def add(a,b):
    return a+b

def delete(a,b):
    return a-b
    
calculate = {"add":add,"delete":delete}    

print(calculate["add"](1,2))
print(calculate["delete"](1,2))

你可能感兴趣的:(python,python)