辛小鬼家的Python基础语法

常用函数

print()函数

print()函数基本用法

input() 函数

输入函数,在控制台输入信息传到后台的一种方法。
获取到的数据是字符串(str)类型。

变量名=input(“这里输入问题”)
示例: name=input(“请输入你的姓名:”)

time模块的函数

time.sleep(秒)

在这里插入图片描述

random模块

生成随机数random.randint()

要生成随机数,要使用random随机数模块中的randint(a,b)函数,括号内为a,b两个数字为生成随机数的范围,a是小数字,b是大数字。

#多运行几次,看看结果是不是随机生成的~
import random 
#调用random模块
num = random.randint(1,100)
# 随机生成1-100范围内(含1和100)的一个整数,并赋值给变量a
print(num)

Math模块

向上取整

math.ceil(变量)

这里是引用

小知识点

注释

  • 单行注释
# 这里写入单行注内容
  • 多行注释
"""
多行注释
多行注释
多行注释
"""

转义字符

在这里插入图片描述

数据类型

基本数据类型

整数(int)

英文为integer, 简称int。
没有小数点的纯数字

浮点数(float)

带小数点的数字。
因为浮点数的特点,导致它在计算机内运算时,结果不是那么精确,会有四舍五入的差。要得出结果应该要四舍五入才能得到正确的数。

字符串(string)

英文名string,简称str。

格式化字符串(字符串拼接)

格式符%后面有一个字母,这个字母用来控制数据显示的类型。【%s】就是占住这个位置,将变量转换成字符串。

在这里插入图片描述

print('【李逍遥】\n血量:%s\n攻击力:%s' %( freeLi_life, freeLi_attack))
print('【拜月教主】\n血量:%s\n攻击力:%s' %(BOSS_life, BOSS_attack))

复杂数据类型(列表/字典)

列表

列表格式(创建列表)

变量名=[值1,值2,值3]
trans formers=[ ‘擎天柱’,大黄蜂’,‘救护车’ ]

提取列表单个元素

根据列表的下标进行提取。列表中的下标是从0开始的。
格式:列表名[下标]
示例:trans formers[0]

提取列表多个元素(切片)

冒号左边空,就要从下标为0的元素开始取。
右边空,就要取到列表的最后一个元素。
冒号左边数字对应的元素要拿,右边的不拿

对列表进行添加/删除元素(append()/del)
添加元素

格式:列表名.append(需要添加的元素)
示例:trans formers.append(‘卡西莫多’)

删除元素

格式:del 列表名[要删除的元素的下标]
示例: del trans formers[0]

字典

字典格式(创建字典)

格式:变量名={key1:值1,{key2:值2,{key3:值3}
示例:fc = { ‘擎天柱’: 95 ,‘大黄蜂’:90 ,‘救护车’:86, ‘巨无霸福特’:80,‘红蜘蛛’:80 }

提取字典元素

根据字典的key值获取
格式:字典名[key]
示例:trans formers[“擎天柱”]

对字典进行添加/删除元素
添加元素

格式:字典名[[key值]]((需要添加对应的值)
示例:trans formers[’卡西莫多‘]=“222”

删除元素

格式:del 列表名[要删除的key]
示例: del trans formers[“秦天柱”]

列表和字典的通用函数

获取长度(len())

格式:len(列表名/字典名)

变量与赋值

变量

变量命名规范

在这里插入图片描述

全局变量与局部变量

全局变量:用global修饰
…………………………………………………………………………………………………………
在这里插入图片描述

赋值和等于的区别

	一个等于号是赋值,两个等于号是判断等号两边是否相等。

在这里插入图片描述

运算符

算数运算符

在这里插入图片描述
在这里插入图片描述

赋值运算符

在这里插入图片描述

比较运算符

在这里插入图片描述

python中真假判断

在这里插入图片描述

逻辑运算

在这里插入图片描述

判断真假函数(bool())

bool()函数用来判断一个数据为真还是为假。

print('以下数据判断结果都是【真】:')
print(bool(True))
print(bool(10))
print(bool('xyz'))

print('以下数据判断结果都是【假】:')
print(bool(False))
print(bool(0))
print(bool(''))
print(bool(None))

字符串拼接(+)

数据转换

type()函数==>查询数据类型

与print()函数一起用。
例如:print(type())

类型转换的函数

在这里插入图片描述

条件语句

if语句

单项判断:if

在这里插入图片描述

切记:满足条件运行的代码一定要缩进!!!

双向判断:if…else…

在这里插入图片描述

多向判断:if…elif…else…

在这里插入图片描述

列表和字典

列表

列表格式(创建列表)

变量名=[值1,值2,值3]
trans formers=[ ‘擎天柱’,大黄蜂’,‘救护车’ ]

提取列表单个元素

根据列表的下标进行提取。列表中的下标是从0开始的。
格式:列表名[下标]
示例:trans formers[0]

提取列表多个元素(切片)

冒号左边空,就要从下标为0的元素开始取。
右边空,就要取到列表的最后一个元素。
冒号左边数字对应的元素要拿,右边的不拿

对列表进行添加/删除元素(append()/del)

添加元素

格式:列表名.append(需要添加的元素)
示例:trans formers.append(‘卡西莫多’)

删除元素

格式:del 列表名[要删除的元素的下标]
示例: del trans formers[0]

列表遍历

for循环遍历

在这里插入图片描述#### while循环遍历

在这里插入图片描述

字典

字典格式(创建字典)

格式:变量名={key1:值1,{key2:值2,{key3:值3}
示例:fc = { ‘擎天柱’: 95 ,‘大黄蜂’:90 ,‘救护车’:86, ‘巨无霸福特’:80,‘红蜘蛛’:80 }

提取字典元素

根据字典的key值获取
格式:字典名[key]
示例:trans formers[“擎天柱”]

对字典进行添加/删除元素

添加元素

格式:字典名[[key值]]((需要添加对应的值)
示例:trans formers[’卡西莫多‘]=“222”

删除元素

格式:del 列表名[要删除的key]
示例: del trans formers[“秦天柱”]

字典遍历

值遍历和键遍历

在这里插入图片描述

键值对的遍历

键值对遍历

列表和字典的通用函数

获取长度(len())

格式:len(列表名/字典名)

循环语句

一,for…in…循环语句

for i in 字典/列表/字符串:
循环体
在这里插入图片描述

1.range()函数

range(y) 可以生成从0-(y-1)的整数序列。
range(x,y) 可以生成从x-(y-1)的整数序列。
range(x,y,z) 可以生成从x-(y-1)的整数序列。但是要满足数字与数字间隔为z的要求。
举例:
range(6) 输出:0,1,2,3,4,5
range(3,7) 输出:3,4,5,
range(3,33,2)输出:3,5,7,9,11,13…31

二,While循环语句

在这里插入图片描述

三,退出循环关键词

break:跳出整个循环语句。

continnue:结束本次循环, 从下一次循环继续执行。它只能跳过本次的循环,但是这次之后的循环仍然会执行。

pass:占据一个位置“什么都不做”,满足我的条件,就跳过。

else:结束循环后执行else 语句块,如果break跳出循环,则不会执行else语句块。如果遇到continnue,是会执行else语句块的。
示例:
在这里插入图片描述
在这里插入图片描述

函数/方法

定义函数

在这里插入图片描述在这里插入图片描述

函数命名规范

在这里插入图片描述

参数

位置参数:普通参数。

默认参数:在定义函数时就赋值,默认参数必须在位置参数之后。在调用的时候可写可不写,如果加上这个参数就把定义的默认值覆盖掉。
…………………………………………………………………………………………………………
示例:
在这里插入图片描述

不定长参数:
在这里插入图片描述

返回值

多个返回值:会返回一个元组
示例:

import random 
foodten = ['蛋挞','鸡翅','薯条']
def order(money):
    if money > 99:
        a = random.choice(foodten)
        return a,'冰激淋'
    elif 69 < money < 99:
        b = random.choice (foodten)
        return b
    else:
        return '不好意思,您的消费达不到优惠活动'
print(order(50))
print(order(70))
print(order(130))

结果
在这里插入图片描述

异常处理

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

常用的异常类型

在这里插入图片描述

面向对象与类的创建及使用

创建类

class Musician:    #创建类
    glasses = "墨镜"   #创建类属性

    def __init__(self,city):  #创建初始化方法
        self.city = city      #赋值属性
        print('组织语言中……')

    def intr(self):      #创建类方法
        print('我来自%s' % self.city)

hebe = Musician('中国台湾')  #类实例化对象
print(hebe.glasses)
hebe.intr()   #调用类方法

类的继承

继承的语法

在这里插入图片描述

举例:

#补全代码
class Car:
    wheel = 4
    def run(self):
        print('有%d个轮子,可以飞速的行驶'%self.wheel)
class BMW(Car):
    pass
BMW320 = BMW()
print(BMW320.wheel)
BMW320.run()

输出结果

在这里插入图片描述

相关函数

isinstance():是否属于某某类

isinstance()函数来判断一下某个实例是否属于某个类。

举例

#直接运行
class Car:
    wheel = 4
    def run(self):
        print('有%d个轮子,可以飞速的行驶'%self.wheel)
class BMW(Car):
    pass

BENZ600 = Car()  #使用Car类创建奔驰600
BMW320 = BMW()   #使用BMW类创建BMW320
print("验证:子类创建的实例也属于父类")
print(isinstance(BENZ600,Car))
print(isinstance(BMW320,Car))
print("验证:父类创建的实例不属于不属于不属于子类")
print(isinstance(BENZ600,BMW))
print("验证:所有类创建的实例都属于根类")
print(isinstance(BENZ600,object))
print(isinstance(BMW320,object))

输出结果:
在这里插入图片描述

编码解码和文件的读写

编码解码

编码encode就是把人类语言转成计算机语言,计算机的编码,就是把字符串类型的数据,转换成bytes类型的数据。

解码decode就是把计算机语言转成人类语言。计算机的解码,就是把bytes类型的数据,转换成字符串类型的数据。

这里的计算机语言有一个相同之处,就是最前面都有一个字母‘b’,这是代表它是bytes(字节)类型的数据。

编码时用什么样的编码表,解码的时候就用什么样的编码表。
在这里插入图片描述

使用方法
在这里插入图片描述

举例
在这里插入图片描述

文件读写

文件读取

示例:

myfile = open(r'test.txt','r')
myfilecontent = myfile.read()
print(myfilecontent)
myfile.close()
1.打开文件:opoen()函数

在这里插入图片描述

myfile是变量,存放读取的文件。

第一个r是固定符号。

'test.txt’是需要读取文件的文件名,在这里, readfile.py文件与test.txt文件需要放在同一文件夹内

最后一个‘r’是文件打开模式,‘r’代表read, 意为文件读取。

2.读取文件内容:read()

myfilecontent = myfile.read()

3.关闭文件:close()

myfile.close()

文件写入

1.打开文件

还是使用open()函数, 除了最后一个参数,其余参数不动, 把最后一个参数换成‘w’,是write意思,意为写入。

myfile = open(r'test1.txt','w')
2.写入内容
myfile.write('从你的全世界路过')
3。关闭文件
myfile.close()

open()函数详解

在这里插入图片描述

在这里插入图片描述

‘wb’模式, 它的意思是以二进制的方式打开一个文件用于写入。
图片、音频都是以二进制形式存在,所以使用wb模式就好了。

open另一个使用方法

在打开文件,读写结束后,自动关闭文件

with open(r'test.txt','a') as myfile:
    myfile.write('你好')

导包和模块

导包

import 模块名

在这里插入图片描述

import …as…

给引入的模块起一个别名

import mytest as ts
print(ts.strtest) #打印mytest模块中变量strtest 

ts.hello()        #运行mytest模块中函数hello()

shaonian = ts.Test()   #mytest模块中Test类的实例化
print(shaonian.strClass)   #打印实例属性
shaonian.go()       #调用实例方法go方法

from…import…

在这里插入图片描述

主方法/入口方法

在这里插入图片描述

模块

时间模块

import time;  # 引入time模块
 
ticks = time.time() #时间戳   每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
print ("当前时间戳为:", ticks)

localtime = time.localtime(time.time()) #本地时间  从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。
print ("本地时间为 :", localtime)

localtime = time.asctime( time.localtime(time.time()) ) #根据需求选取时间格式
print ("本地时间为 :", localtime)

print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) )# 格式化成2016-03-20 11:45:39形式
 
print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) )# 格式化成Sat Mar 28 22:24:24 2016形式
  
a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))# 将格式字符串转换为时间戳

CSV模块

读取csv文件
import csv

with open("user_2020-09-23_2.csv",encoding='GBK')  as r:
    print("内容如下\n")
    reader = csv.reader(r)
    #使用csv的reader()方法,创建一个reader对象
    for content in reader:
    #遍历reader对象的每一行
        print(content)

print("读取完毕!")
写入CSV文件
import csv
with open("daochu.csv",'a')  as r:
    writer = csv.writer(r)
    writer.writerow([41,42,43])
print("写入完毕!")

收发邮件模块

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
Python对SMTP支持有smtplibemail两个模块,email负责构造邮件,smtplib负责发送邮件。

在这里插入图片描述

from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr(( Header(name, 'utf-8').encode(), addr))
# 输入Email地址和口令:
from_addr = 'yuting.xin@bjlrtc.com'
password = 'Aa253396'
# 输入SMTP服务器地址:
smtp_server = 'smtp.bjlrtc.com'
# 输入收件人地址:
to_addr = 'yaoyao.cui@bjlrtc.com'

content = '''
<h1>
哈哈哈2
    哈哈哈2
            哈哈哈2
</h1>
'''

msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = _format_addr(u'开课吧 <%s>' % from_addr)
msg['To'] = _format_addr(u'管理员 <%s>' % to_addr)
msg['Subject'] = Header(u'来自小辛的问候2……', 'utf-8').encode()

server = smtplib.SMTP_SSL(smtp_server,465)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()

login()方法用来登录SMTP服务器,参数有两个, from_addr是用户输入的发件邮箱, password是发件邮箱的密码。
sendmail()方法就是发邮件,需要引入三个参数:
第一个参数:from_addr是发件人的邮箱地址
第二个参数:[to_addr] 是收件人的邮箱地址, 是列表形式。因为邮件可能一次发给多个人,使用列表,如果发送多个人,就写多个邮箱,中间使用逗号隔开。
第三个参数:msg.as_string()把邮件内容MIMEText对象变成str。

server.quit()语句,是邮件发送结束后,停止服务的意思.

server = smtplib.SMTP_SSL(smtp_server, 465) # SMTP协议加密端口是465
server.set_debuglevel(1)               #调试级别

用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值