1、print的用法:
#将数据输出文件中,注意点,1:所指定的盘符存在,2:使用file=fp fp=open('G:/text.txt','a+') #a+如果文件不存在就创建,存在就在文件内容后面继续追加print('helloworld',file=fp) fp.close()转义字符:反斜杠\+想要时间的转义功能首字母
2、当字符串中包含反斜杠、单引号、双引号等有特殊用途的字符时,必须使用反斜杠对这些字符进行转义
反斜杠:\\
单引号:\'
双引号:\"
换行:\n
回车:\r
水平制表符:\t
退格:\b(back)
print('hello\nworld') print('hello\tworld') print('helloooo\tworld') print('hello\rworld') #world将hello进行了覆盖 print('hello\bworld') #\b是退一个格,将o退没了print('http:\\\www.baidu.com') print('老师说:\'大家好\'') #原字符,不希望字符串中的转义字符起作用,就使用原字符,就是在字符串之前加上r,或R print(r'hello\nworld') #注意事项,最后一个字符不能是反斜杠 #print(r'hello\nworld\') #报错 print(r'hello\nworld\\') #双斜杠可以
3、二进制与字符编码
8bit = 1byte
1024byte = 1kb
1024kb = 1Mb
1024Mb = 1Gb
1024Gb = 1Tb
print(chr(0b100111001011000)) print(ord('乘'))
4、python中的标识符和保留字
保留字:有一些单词被赋予了特定的含义,这些单词在你给定的任何对象起名字时都不能用。
查看保留字:import keyword
print(keyword.kwlist)
标识符:变量、函数、类、模块和其他对象的起的名字。
可以字母、数字、下划线,不能以数字开头,不能是保留字,严格区分大小写。
33个保留字:
5、变量的定义和使用
变量是内存中一个带标签的盒子 name = '玛利亚' name:变量名 值:玛利亚
变量由三部分组成:
标识:对象所存储的内存地址,使用内置函数id(obj)来获取
类型:对象的数据类型,使用内置函数type(obj)来获取
值:对象所存储的具体数据,使用print(obj)可以将值进行打印输出
print('标识',id(name)) print('类型',type(name)) print('值',name)
6、常用的数据类型
整数类型(integer):int 如98
#整数可以表示为二进制、八进制、十进制、十六进制。默认为十进制。 print('十进制',118) print('八进制',0o176) #八进制以0o开头 print('二进制',0b10101111) #二进制以0b开头 print('十六进制',0x1EAF) #十六进制以0x开头
浮点数类型:float 如3.1415
使用浮点数进行计算时,可能会出现小数位数不确定的情况如print(1.1+2.2)结果为3.3000000000000003
解决办法:导入模块decimal
from decimal import Decimal print(Decimal('1.1')+Decimal('2.2'))
布尔类型:bool 如True/False
#布尔类型可以转成整数计算 print(f1+1) print(f2+1)
字符串类型:str 如'人生苦短,我用Python'
字符串又被称为不可变的字符序列
可以使用单引号、双引号、三引号
单引号和双引号定义的字符串必须在一行,三引号定义的字符串可以分布在连续的多行。
str1 = '人生苦短,我用Python' str2 = "人生苦短,我用Python" str3 = """人生苦短, 我用Python""" str4 = '''人生苦短, 我用Python''' print(str1,type(str1)) print(str2,type(str2)) print(str3,type(str3)) print(str4,type(str4))
7、数据类型转换
name = '张三' age = 20 print(type(name),type(age)) #说明name和age的数据类型不相同 print('我叫'+name+'今年,'+age+'岁') #当将str类型与int类型进行连接时,报错,解决方案,类型转换 print('我叫'+name+',今年'+str(age)+'岁') #将int类型通过str()函数转换成了str类型
str()将其他数据类型转换成字符串,也可用引号转换
print('————str()将其他类型转成str类型————') a = 10 b = 198.8 c = False print(type(a),type(b),type(c))#<class 'int'> <class 'float'> <class 'bool'> print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c))) #10 198.8 False <class 'str'> <class 'str'> <class 'str'>
int()将其他数据类型转成整数(注意:文字类和小数类字符串无法转换成整数,浮点数转换成整数抹零取整)
print('————int()将其他类型转成int型————') s1 = '128' f1 = 98.7 s2 = '76.77' ff = True s3 = 'hello' print(type(s1),type(f1),type(s2),type(ff),type(s3)) print(int(s1),type(int(s1))) #将str转成int类型,字符串为数字串print(int(f1),type(int(f1))) #将float转成int类型,截取整数部分,98舍掉小数部分#print(int(s2),type(int(s2))) #将str转成int类型,报错,因为字符串为小数串print(int(ff),type(int(ff))) #结果为1,类型为int print(int(s3),type(int(s3))) #将str转成int类型时,字符串必须为数字串(整数),非数字串是不允许转换的
float()将其他数据类型转成浮点数(注意:文字类无法转成浮点,整数转成浮点数末尾为.0)
print('————float()函数,将其他类型转成float型————') s1 = '128.98' s2 = '76' ff = True s3 = 'hello' i = 98 print(type(s1),type(s1),type(ff),type(s3),type(i)) print(float(s1),type(float(s1))) #将str转成float类型,字符串为数字串print(float(s2),type(float(s2))) #将str转成float类型,字符串为整数print(float(ff),type(float(ff))) #结果为1.0,类型为float print(float(s3),type(float(s3))) #将str转成float类型时,报错,文字类无法转float print(float(i),type(float(i))) #将int转成float类型,结果为98.0
round(x,d):对x四舍五入,d是小数截取位数(取小数后的几位)。
8、Python中的注释
单行注释:以#开头,直到换行结束
多行注释:并没有单独的多行注释标记,将一对三引号之间的代码称为多行注释(因为三引号可以换行)中文编码声明注释:在文件开头加上中文声明注释,用以指定源码文件的编码格式。#coding:gbk
9、input函数
input函数作用:接收来自用户的输入。
返回值类型:输入值的类型为str
present = input('大圣想要什么礼物呢?')
变量 将输入函数的结果赋值给变量present input函数需要输入回答
#从键盘录入两个整数,计算两个整数的和 方法一: a = input('请输入一个加数:') a = int(a) #将转换之后的结果存储到a中 b = input('请输入另一个加数:') b = int(b) print(type(a),type(b)) print(a+b) 方法二: a = int(input('请输入一个加数:')) b = int(input('请输入另一个加数:')) print(type(a),type(b)) print(a+b)
10、Python中常用的运算符
(1)算术运算符:标准算数运算符(加+、减-、乘*、除/、整除//)、取余运算符(%)、幂运算符(**)
print(1+1) #加法运算2 print(1-1) #减法运算0 print(2*4) #乘法运算8 print(1/2) #除法运算0.5 除法的结果是浮点型 print(11/2) #除法运算5.5 print(11//2) #整除运算5 print(11%2) #取余运算1 print(2**3) #表示2的3次方8
注意:一正一负的整除公式向下取整。如
print(9//-4) #-3 print(-9//4) #-3 一正一负的整除公式向下取整,因为是2点几
注意:一正一负取余要公式(余数=被除数-除数*商)
print(9%-4) #-3 公式:余数=被除数-除数*商 9-(-4)*(-3) print(-9%4) #3 -9-4*(-3)
(2)赋值运算符:
a=b=c=20 #链式赋值 a,b,c指向同一个地址 print(a,id(a)) print(b,id(b)) print(c,id(c))
print('————支持参数赋值————') a = 20 a+=30 #相当于a=a+30 print(a) #a=50 a-=10 #相当于a=a-10 print(a) #a=40 a*=2 #相当于a=a*2 print(a) #a=80 print(type(a)) #a为int型 a/=3 print(a) #a=26.6666666 print(type(a)) #a为float型 a//=2 print(a) #a=13.0 print(type(a)) #a为float型 a%=3 print(a) #a=1.0 print(type(a)) #a为float型
print('————支持系列解包赋值————') a,b,c = 20,30,40 #20,30,40分别赋给a,b,c print(a,b,c) #a=20,b=30,c=40 #a,b=20,30,40 报错,因为左右变量的个数和值的个数不对应
print('————交换两个变量的值————') a,b = 10,20 print('交换之前:',a,b) #a=10,b=20 a,b = b,a #交换 print('交换之后:',a,b) #a=20,b=10
(3)比较运算符:对变量或表达式的结果进行大小、真假等比较,结果为布尔类型。
#比较运算符,比较运算符的结果为bool类型 a,b = 10,20 print('a>b吗?',a>b) #False print('a<b吗?',a<b) #True print('a<=b吗?',a<=b) #True print('a>=b吗?',a>=b) #False print('a==b吗?',a==b) #False print('a!=b吗?',a!=b) #True
一个变量由三部分组成,标识、类型、值
==比较的是值
比较对象的标识使用 is
a = 10 b = 10 print(a==b) #True 说明a与b的value相等 print(a is b) #True 说明a与b的id标识相等
#以下代码没学过,后面会给大家讲解 lst1=[11,22,33,44] lst2=[11,22,33,44] print(lst1==lst2) #True print(lst1 is lst2) #False print(id(lst1)) #id 2135976243520 print(id(lst2)) #id 2496652311488
(4)布尔运算符(and、or、not、in、not in):对于布尔值之间的运算
and运算符:当两个运算数都为True时,运算结果才是True
or运算符:只要有一个运算数为True,运算结果就为True。
not运算符:如果运算数为True,运算结果为False。如果运算数为False,运算结果为True
#布尔运算符 a,b = 1,2 print('————and 并且————') print(a==1 and b==2) #True print(a==1 and b<2) #False print(a!=1 and b==2) #False print(a!=1 and b!=2) #False print('————or 或者————') print(a==1 or b==2) #True print(a==1 or b<2) #True print(a!=1 or b==2) #True print(a!=1 or b!=2) #False print('————not 对bool类型操作数取反————') f = True f2 = False print(not f) #False print(not f2) #True print('————in 与not in————') s = 'helloworld' print('w' in s) #True 字母w在s中 print('k' in s) #False 字母k不在s中 print('w' not in s) #False print('k' not in s) #True
(5)位运算符
位运算符(按位与&、按位或|、左移位运算符<<、右移位运算符>>):将数据转成二进制进行计算
按位与&:对应数位都是1,结果数位才是1,否则为0
按位或|:对应数位都是0,结果才为0,否则为1
左移位运算符<<:高位溢出舍弃,低位补0 移一位相当于乘以2
右移位运算符>>:低位溢出舍弃,高位补0 移一位相当于除以2
print(4&8) #按位与&,同为1时结果为1 print(4|8) #按位或|,同为0时结果为0 print(4<<1) #向左移动一位(移动一个位置),相当于乘以2 print(4<<2) #向左移动两位(移动两个位置) print(4>>1) #向右移动1位,相当于除以2 print(4>>2) #向右移动2位,相当于除以4
(6)运算符的优先级
1)、算术运算符:** * / // % + -
2)、位运算符:<< >> & |
3)、比较运算符:> < >= <= == !=
4)、bool运算符:and or
5)、赋值运算符:=
11、程序的组织结构
1)顺序结构
#顺序结构 '''把大象装冰箱一共分几步''' print('————程序开始————') print('1.把冰箱门打开') print('2.把大象放冰箱里') print('3.把冰箱门关上') print('————程序结束————')
插入知识:对象的布尔值
Python一切皆对象,所有对象都有一个布尔值,获取对象的布尔值使用内置函数bool()
以下对象的布尔值为False
False 数值0 None 空字符串 空列表 空元组 空字典 空集合
#测试对象的布尔值 print('————以下对象的布尔值为False————') print(bool(False)) #False print(bool(0)) print(bool(0.0)) print(bool(None)) print(bool('')) #False 空字符串 print(bool("")) #False 空字符串 print(bool([])) #空列表 print(bool(list())) #空列表 print(bool(())) #空元组 print(bool(tuple())) #空元组 print(bool({})) #空字典 print(bool(dict())) #空字典 print(bool(set())) #空集合 print('————其它对象的布尔值均为True————')
2)选择结构
单分支结构:中文语义(如果……就......)
语法结构 if 条件表达式:
条件执行体
#单分支结构 money = 1000 #余额 s = int(input('请输入取款金额:')) #取款金额 if money >= s: #判断余额是否充足 money = money - s #将相减后的值再次赋给money print('取款成功,余额为:',money)
双分支结构:中文语义(如果是妖怪就打,不是就不打)
语法结构: if 条件表达式:
条件执行体1
else:
条件执行体2
#双分支结构if...else...,二选一执行 '''从键盘录入一个整数,编写程序让计算机判断是奇数还是偶数''' num = int(input('请输入一个整数:')) #条件判断 if num%2 == 0: print(num,'是一个偶数') else: print(num,'是一个奇数')
多分支结构:语法结构
if 条件表达式
条件执行体1
elif 条件表达式2
条件执行体2
elif 条件表达式N
[else:]
条件执行体N+1
'''多分支结构,多选一执行从键盘录入一个整数 成绩 90-100 A 80-89 B 70-79 C 60-69 D 0-59 E 小于0或大于100 为非法数据(不是成绩的有限范围)''' score = int(input('请输入一个成绩:')) #判断 if score>=90 and score<=100: print('A级') elif score>=80 and score<=89: print('B级') elif score>=70 and score<=79: print('C级') elif score>=60 and score<=69: print('D级') elif score>=0 and score<=59: print('E级') else: print('对不起,成绩有误,不在成绩的有效范围')
或者
score = int(input('请输入一个成绩:')) if 90<=score<=100: print('A级') elif 80<=score<=89: print('B级') elif 70<=score<=79: print('C级') elif 60<=score<=69: print('D级') elif 0<=score<=59: print('E级') else: print('对不起,成绩有误,不在成绩的有效范围')
z=1.23e-4+5.6e+89j
z.real()获得实部
z.imag获得虚部