1、 注释
2、变量
3、类型转化
4. python打印输出
5. 逻辑运算,条件控制
6. for 循环
7. 字符串函数
8. 列表数组
9. 二维数组
10. python 元组
11. python 字典
12. python 函数
# 1. 单行注释
'''
多行注释
'''
# 2. python中 变量自动识别 类型
name = input();
#python3 输入函数
print(name)
'''
3. python3类型 转化
int(x)
long(x)
float(x)
str(x)
'''
str1='5000'
a=int(str1)
'''
4. python占位符输出:
%c
%s
%d : 整数
%f :小数
字符串支持+ 号输出
'''
print("姓名是:%s年龄是%d"%(name,a));
num1=20
num2=40
# 5. python 逻辑运算 and or not
print("python字符串号输出:" + str(num1))
if num1 > 10 and num2>20:
print("num 大于10")
...
elif num1 < 100:
print("num小于10")
...
else:
print("else")
...
print("6. for循环学习.....................")
name=" xiao,ming "
for x in name: # 可以是 字符串、可以是[]、可以是 map.item()
if x==',':
break
print(x)
for i in range(10,20): # 这里通过range显示范围
print("for---%d",i)
# 字符串 截取
print("7. 字符串学习.....................")
# print(name[0]) # 去字符串的某一个字符
# print(name[3:5]) # [3,5) 个字符
# print(name[2:]) # 去[2 后面字符
# print(name[1:-1]) # 从第一个字符开始,倒数第一个字符
#print(name.find("xi", 0, len(name))) # 找到返回索引,否则返回-1 find(str,0,end=len(mystr))
print(name.rfind("x")) # 从右边开始查找
# print(name.replace("xiao","da",1)) # "da"替换"xiao" 替换不操作1次
# print(name.split(","))
# print(name.startswith("xiao"))
# print(name.rstrip().lstrip()) # rstrip 删除右边空白字符 左边空白字符
# print(name.strip()) # 删除2边空白字符
print(name.isdigit()) # name 只是包含数字 返回true
print(name.isalnum()) # 所有字符是数字或者字母返回true
print(name.isspace()) # 只包含空隔返回true
li=["my","name","is"]
str2="_"
print(str2.join(li)) # 返回 my_name_is
print("8.列表学习.....................")
# 列表中可以不同类型,相当于数组
namelist=[1,"xiaohei","xiaoze"]
namelist.append("xiaoze") #在末尾插入元素
namelist.insert(0,"kaitou") # 在开头插入元素
del namelist[len(namelist)-1] # 根据index角标删除最后一个元素
namelist.remove("xiaoze") # 根据元素内容删除
namelist[1]="xiugai" # 修改元素
namelist.sort() # 排序
namelist.reverse() # 反转
for item in namelist: # 查找元素
print(item)
if "xiaohei" in namelist:
print("找到了")
...
# 9.二维数组
namelist2=[['a','b'],[1,2]]
for temp1 in namelist2:
for temp2 in temp1:
print(temp2)
# 10. python 元组 只读数组
tuple=('a','b')
# 11.python 字典
students={"name":"小明","id":100}
print(students["id"]) # 如果不存在键会报错
print(students.get("id",20)); # 不存在不会报错,使用默认值
students["id"]=31
students["age"]=45 # 添加元素
del students["name"] # 删除指定元素
# del students #删除整个字典
#students.clear() # 清空字典
print(students.keys()) # 键列表
print(students.values()) # 值列表
print(len(students)) # 键个数
# print(students.has_key("age"))
print(students)
for key,value in students.items():
print("key:"+str(key) +"value:"+str(value))
print("======================12.python函数学习==============================")
def add2num(a,b=50):
return a+b
print(add2num(100,200))
sum1 = lambda arg1,arg2 : arg1+ arg2
print("sum1:"+ str(sum1(10,20)))
# 回调函数
def fun110(a,b,opt):
return opt(a,b)
print(fun110(100,1,lambda arg1,arg2 : arg1+ arg2))
students2=[{"id":100,"name":"小101"},{"id":102,"name":"小102"},{"id":101,"name":"小101"}]
# 回调函数 ,按照 id 进行排序
students2.sort(key = lambda x:x['id'])
print(students2)
13. 文件api 、目录api os
14. python面向对象
类定义: 对象属性、对象方法
_init、 __str__ 函数
访问修饰符
继承
多态:参数、返回值
类属性、类方法
15. python 异常
捕获指定异常
捕获所有异常
try-catch-finally
之定义异常,捕获,抛出
print("===================13. Python 文件api=========================")
# 打开文件
'''
r: 读
r+: 读写
w+: 读写,覆盖,会创建文件
a+: 读写, 追加,会创建文件
w: 写,覆盖,会创建文件
a: 写, 追加,会创建文件
rb: 二进制文件读
wb: 二进制文件写
ab: 二进制文件追加
rb+: 二进制文件读写
wb+: 二进制文件写
ab+
'''
f= open("a.txt","r+")
# 调用以后指针会执行文件结尾,无法读取内容
f.write("hello---world")
#f.close()
'''
0 : 表示文件开头
1: 表示当前位置
2: 表示文件结尾
f.seek(offset,from): offset 偏移量 from起始位置
'''
# 把指针定位到文件开头
f.seek(0,0)
conent=f.read() # 读5个字节
print("content: "+ conent)
#content1 = f.readline() # 读取一行内容
#print(content1)
# f.close()
# 文件内容考别
# fb= open("b.txt","w+")
# # 文件拷贝备份
# for lineContext in f.readlines(): #readLines读取文本所有内容
# fb.write(lineContext)
# print("当前位置是"+str(fb.tell()));
# f.close()
# fb.close()
# Python 文件夹api 使用
import os
# os.rename("b.txt","bb.txt") #文件重命令,bb.txt新名字
# os.remove("bb.txt") # 删除文件
# os.mkdir("systemfile") # 创建文件夹
# print(os.getcwd()) # 获取当前目录
print("===============14. python 面向对象==============================")
class Car:
def __init__(self,name,age):
# python对象属性 直接添加就行了,不用申明,在init方法中
self.username=name
self.age=100
def __showUserName(self):
print("名字是:"+self.username)
def showMsg(self): # pthon 中对象方法
print("我是msg")
def __str__(self): # 重写toString()方法
return "名字是:"+self.username+" 年龄是:"+str(self.age)
def run(self):
print("开始跑了:" + self.username)
BWM=Car("xiaoze",490)
# BWM.showUserName()
print(BWM)
'''
python中私有的,在类的内部使用
python 访问修饰符: 属性|方法 前面加 2个 下划线 __ 表示私有属性、方法,私有属性|方法不能通过对象访问,不能被子类继承
默认共有的
'''
# Python 中继承 使用
class BENCI(Car): # 继承用() 多继承用class C(A,B)
# 子类必须重写父类的构造函数,子类有责任实例化父类的属性
def __init__(self,name,age):
# self.username=name;
# self.age=age
# 调用父类的 构造方法
super().__init__(name,age)
def run(self):
print("开始跑了:"+self.username)
benci=BENCI("奔驰",40)
# benci.run()
# 子类重写父类方法
# 多态,传递不同类型,调用不同方法
def Fun(obj):
obj.run()
Fun(benci)
class People(object):
address="湖南" # 类属性,相当于Java中静态属性
# 类方法
@classmethod
def getCountry(cls):
return "类方法"
def getCountStatic():
return "静态方法"
p1=People()
print(p1.address)
print(People.address)
print(People.getCountry())
print(People.getCountStatic())
print("===============15. Python 异常处理================")
try:
print(num11110)
except (IOError,NameError) as result: # 捕获多个异常,元组, result捕获异常信息描述
print(result)
# 捕获所有异常
try:
print(num1120)
except Exception as result:
print(result)
# 没有捕获到异常
try:
num=100
print(num)
except Exception as result:
print(result)
else:
print("没有捕获到异常")
finally:
print("无论如何都要执行代码,比如f.close")
# 抛出之定义异常
class ShorInputException(Exception):
def __init__(self,length,atleast):
self.lenght=length
self.atleast= atleast
def testException():
try:
raise ShorInputException(2, 10) # 抛出一个之定义异常
except ShorInputException as result:
print(result)
testException()
16. python 模块化
引入整个模块
引入模块的某一个函数
mytest1.py
def addall(a,b):
return a+b
'''
可以根据 __name__ 变量结果判断,执行的python的脚本是被引入还是执行的, 从而选择 测试代码
pytyhon mytest1.py : 执行结果是 __main__
如果是引入那么 mytest1
'''
print("当前环境的name是"+__name__)
mathfun.py
# python 模块化引入
#import math # 引入整个模块
from math import ceil # 引入模块中的某一个函数
# print(math.ceil(3.4)) # python中模块
print(ceil(4.54))
# 引入指定模块 通过名称调用函数
import mytest1
print(mytest1.addall(40,40))