python基础知识学习

python基础知识

python输入输出

python输出

关键字print()

可以使用print加“…”或’…'或“‘…’”来打印内容

如果要在字符串中打印“或’要使用\

代码示例

print("He said \"Let\'s go!\"")

显示为He said “Let’s go!”

print中可以通过**+号**实现字符串拼接

代码示例

user_age=18
print("知道了你今年"+user_age+"岁了!")

对于一个字符串可以通过len(字符串名)来获取长度

也可通过print(字符串名[索引数])来获取单个字符但记住索引从0开始

在printh函数中保留小数点可用(‘%.保留位数’%数字)

代码示例

gpa_dict={"小明":3.251,"小花":3.869,"小李" :2.683 ,"小张" :3.685}
for name, gpa in gpa_dict.items():
    print(str(name)+"你好,你的当前绩点为:"+str('%.2f' % gpa))
    

python输入

关键字input()

需要变量接收返回值

代码示例

user_age=int(input("请输入你的年龄:"))#转成int型才能进行下一步计算
user_age_after_10_year=user_age+10
print("您十年会是"+str(user_age_after_10_year)+"岁")
#user_age_after_10_year要转成字符串才能打印

代码图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApadfuBn-1676033163225)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 103631.png)]

变量名命名

不可以有空格,开头不能有数字,不可以用“…”号包裹

图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52Wfva4V-1676033163225)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 093729.png)]

命名法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OSOrLAbz-1676033163226)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-17 212242.png)]

python数据类型

基本和C\C++相同,但是python字符串为str

也有bool类型真为True,假为False,记住T和F都要大写

None为NoneType类型

type可以查看返回的关键字

加入其他数据库

类似于C/C++中include<>

代码示例

import math#加入数学数据库

python注释

可以使用“”“…”“”或#

python条件语句

if语句(判断三符号)

if 判断条件

如果只有两个条件则使用else如果多个判断条件使用elif

逻辑图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HjBLqocI-1676033163226)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 104125.png)]

代码示例

def colculate_BMI(weight,height):
    bmi=weight/(height**2)
    if(bmi<=18.5):
        print("您的BMI分类为偏瘦") 
    elif(18.5<bmi<=25):
        print("您的BMI分类为正常")
    elif(25<bmi<=30):
        print("您的BMI分类为偏胖")
    elif(bmi>30):
        print("您的BMI分类为肥胖")
    return bmi

person1=colculate_BMI(55,1.67)
print("您的BMI指数为"+str(person1))

#表示str()函数,将对象转化为适于人阅读的形式,
#语法是“str(object='')”,返回一个对象的string格式。
判断三符号(and,or,not)

and(与)同C\C++的&&

or(或)同C\C++的||

not(非)同C\C++的!

优先级not->and->or

for语句

使用方法 for 变量名 in 可迭代对象(例列表与元组和字典)

代码示例

temperature_ dict = {"111":36.4, "112":36.6"113":36.2}
#变量名编号,体温in后即迭代每个键值对
for staff_id, temperature in temperature_ _dict.items( ):
    if temperature>= 38:#存在第二个参数>= 38即输出key值
        print(staff_id)

range关键字

range(起始值,结束值(但是只会到结束值前一个),步长(不写默认为1))

如果range(1,10,2)则输出1,3,5,7,9

效果图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tANBSsAn-1676033163226)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 213903.png)]

format函数的语法及用法

(1)语法:‘{}’.format()

(2)用法:用于格式化字符串。可以接受无限个参数,可以指定顺序。返回结果为字符串。

代码示例

不设置位置,按默认顺序(从左到右)输出。

#默认顺序
'学习{}中的{}函数'.format('python','format')
->'学习python中的format函数'

指定位置

#指定顺序
'学习{1}中的{0}函数'.format('format','python')
->'学习python中的format函数

设置参数

#①
#定义列表list1
list1 = ['hello','say','world','s']  
'LiMing {0[1]}{0[3]} {0[0]} to {0[2]}'.format(list1)
->'LiMing says hello to world'
 
#②
#定义列表list1
list1 = ['hello','say']  
list2 = ['world','s']
'LiMing {0[1]}{1[1]} {0[0]} to {1[0]}'.format(list1,list2)
->'LiMing says hello to world'

(4)数字格式化

#保留两位小数点
'{:.2f}'.format(314.541)
-> '314.54'
 
#保留一位小数点并携带正负符号
'{:+.1f}'.format(1.2684)
-> '+1.3'
 
print('{:+.1f}'.format(-45.62556))  #加入print函数输出可以去掉引号
-> -45.6
 
#不保留小数点
print('{:.0f}'.format(-45.62556))
-> -46
 #说明:加上‘+’可以将数字的符号正确输出

while语句

使用示例

list1=["你","好","吗""兄","弟"]
i=0
while i<lan(list1)
      print(list1[i])
      i=i+1

for循环与while循环使用时机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cdea2eEi-1676033163226)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 214502.png)]

python列表与元组和字典

列表

创建列表

列表名=[“数据1,数据2”]

关键字append()

可以通过append()添加数据

代码示例

shopping_list = ["键盘""键帽"]
shopping_list.append("显示器")
#不可shopping_list=shopping_list.append("显示器")

方法和函数差别

图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mULOQ6FW-1676033163227)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 110308.png)]

关键字remove()

代码示例

shopping_list = ["键盘""显示器"]
shopping_list.remove("显示器")

其他常用关键字

max,min,num

代码图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n1uvfxi7-1676033163227)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 110527.png)]

元组

创建元组

元组名=(“数据1,数据2”)

和列表基本一致

注意点

列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。

元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。

图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F5vrvC5L-1676033163227)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 212848.png)]

字典

创建字典

字典名={key:value,key:value}

可以通过in关键字来判断字典内key是否存在

代码示例

contacts={"小明":10001}
print("小明"in contacts)#返回True
print("小明明"in coutacts)#返回False

可以通过del关键字来删除字典内key和value

代码示例

contacts={"小明":10001}
print("小明"in contacts)#返回True
del contacts["小明"]

字典关键字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M6dvfDsD-1676033163227)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 213619.png)]

字典查询代码图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xOQFCaYJ-1676033163227)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-16 213358.png)]

python函数

python函数的定义

del(关键字) 函数名()内可以加形参

函数调用 函数名()

如果函数无返回语句return语句,默认为return None

引入其他外部函数方法

import语句

全部函数都引用(可能会出现与其他引入函数重名有风险)

代码示例

import statistics
print(statistics.median([19, -536]))
print(statistics.mean([19, -5, 36]))
from…import…语句

引入指定函数名

代码示例

from statistics import median, mean
print(median([19, -5, 36]))
print(mean([19, -536]))
from…import *语句

全部函数都引用(可能会出现与其他引入函数重名有风险)

代码示例

from statistics import *
print (median([19-536]))
print(mean([19, -536]))

python类

类创建

代码示例

class ATM
def __init__(self,编号,银行,支行)#构造函数,编号,银行,支行为形参
    self.编号=编号#self类似于C\C++this->
    self.银行=银行
    self.支行=支行
ATM1=ATM("001","招商银行","中山支行")   
class Score:
    def __inif__(self,Yuwen,Shux,Yingyu):
        self.yuwen=Yuwen
        self.shux=Shux
        self.yingyu=Yingyu

class student:#创建一个学生类
    def __init__(self,Name,Xhao):
        self.name=Name#定义名字
        self.xhao=Xhao#定义姓名
        self.score={"语文":0,"数学":0,"英语":0}
        #定义一个字典科目为key值,成绩为value

    def set_Score(self,course,score):#改成绩成员函数
            if course in self.score:#利用if语句判断是否存在科目
                self.score[course]=score#将输入的成绩赋值给字典中的成绩
                #score[course]即是value的值
    def print_Score(self):
            print(f"学生{Person.name}的学号为{Person.xhao}")
            #不要忘记加上 f ,否侧输出的是单纯的字符串,不会进行变量替换
            for course in self.score:#利用for循环来打印成绩
                #即遍历self.score中的每个key值,在通过key值获得score
                print(f"{course}:{self.score[course]}分")
Person=student("小明",10001)
Person.set_Score("语文",95)
Person.set_Score("数学",95)
Person.print_Score()

封装

即无法看到里面内容

继承

class 子类(父类)

当子类和父类同时有构造函数时优先调用子类

但是可以使用关键字super()._ init_(形参1,形参2)来优先调用父类构造函数

代码示例

class Employee:
    def __init__(self,m_name,m_id):
        self.name=m_name
        self.id=m_id
    def print_info(self):
        print(f"员工姓名{self.name},员工编号{self.id}")


class FullTimeEmpoyee(Employee):
    def __init__(self,m_name,m_id,m_monthly_salary):
        super().__init__(m_name,m_id)
        self.monthly_salary=m_monthly_salary

    def calculate_monthly_pay(self):
        return self.monthly_salary

class PartTimeEmpoyee(Employee):
    def __init__(self,m_name,m_id,m_salary,m_days):
        super().__init__(m_name,m_id)
        self.daily_salary=m_salary
        self.work_days=m_days

    def calculate_days_pay(self):
        return self.daily_salary*self.work_days

    
zs=PartTimeEmpoyee("张三",10001,90,24)
ls=FullTimeEmpoyee("李四",10002,3000)
zs.print_info()
ls.print_info()
lsgozhi=ls.calculate_monthly_pay()
print("李四工资为"+str(lsgozhi))
zsgozhi=zs.calculate_days_pay()
print("张三工资为"+str(zsgozhi))

使用继承时机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-utEpnpMz-1676033163228)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-18 124025.png)]

python读写文件

写入文件分为绝对路径和相对路径

绝对路径

Windows系统中C:\文件夹1\文件夹2\文件名.后缀名

Linux系统则不分盘直接\即可

相对路径

从当前文件位置出发向上为 . 向下为 /,同一文件夹下则文件名.后缀

图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mW98cFyA-1676033163228)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-18 193900.png)]

打开文件

第一种,with open(“文件路径”,“模式”,编码方式) as file:不用写关闭文件

第二种,f=open(“./data.txt”,“r”,encoding=“utf-8”)有返回值

要写f.close()关闭文件,释放资源

文件路径分为绝对路径相对路径

模式有 (r,r+)读取,(w,w+)写入,(a,a+)追加

写入要手动加换行

编码方式一般为encoding=“utf-8”

图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dslekpgh-1676033163228)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-19 165210.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pcKQUxal-1676033163228)(C:\Users\y’z\Desktop\pyhton\1547003-20181206175954237-1334479314.png)]

读文件函数

自定义名.read(),会记录读取位置,第一次如果读取到文末则第二次读取读取为空

括号内可以指定读取字节数

自定义名.readline(),会根据换行符判断读取内容,可以和while即判断条件一起用输出全部内容即判断取出行是否为空

代码示例

f = open(". /data. txt","r", encoding="utf-8")
line = f.readline()
while line !=" ":
    print(line)
    line=f.readline()

自定义名.readlines(),一般和for循环一起使用

概念图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDGc1d35-1676033163228)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-18 195208.png)]

代码图示

f = open(". /data. txt","r", encoding="utf-8")
lines=f.readlines()#把每一行内容储存到列表
for line in lines:#遍历每行内容
    print(line)#打印

三种方法区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BABgarzy-1676033163229)(C:\Users\y’z\Desktop\pyhton\屏幕截图 2022-12-18 195255.png)]

文件读写代码示例

with open("./poem.txt","w",encoding="utf-8") as f:
    f.write("我欲乘风归去,\n又恐琼楼玉宇,\n高处不胜寒。\n")

#with open("./poem.txt","a",encoding="utf-8") as f:
#    f.write("起舞弄清影,\n何似在人间。")

#with open("./poem.txt","r",encoding="utf-8") as f:
#    print(f.read())

with open("./poem.txt","a+",encoding="utf-8") as f:
     print(f.tell())
     f.write("起舞弄清影,\n何似在人间。")
     #因为附加完文本后指针
     #已经移到末尾故要使用 f.seek(0)将指针移到文件开头f.tell可以查看当前位置
     f.seek(0)
     print(f.tell())
     print(f.read())

三种方法区别

[外链图片转存中…(img-BABgarzy-1676033163229)]

文件读写代码示例

with open("./poem.txt","w",encoding="utf-8") as f:
    f.write("我欲乘风归去,\n又恐琼楼玉宇,\n高处不胜寒。\n")

#with open("./poem.txt","a",encoding="utf-8") as f:
#    f.write("起舞弄清影,\n何似在人间。")

#with open("./poem.txt","r",encoding="utf-8") as f:
#    print(f.read())

with open("./poem.txt","a+",encoding="utf-8") as f:
     print(f.tell())
     f.write("起舞弄清影,\n何似在人间。")
     #因为附加完文本后指针
     #已经移到末尾故要使用 f.seek(0)将指针移到文件开头f.tell可以查看当前位置
     f.seek(0)
     print(f.tell())
     print(f.read())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值