一次撸玩python基础

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

 

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值