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