【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王

下决心要做的事,就要一往无前

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、Python简介与开发环境
    • 1.应用
    • 2.python简介
    • 3.开发环境
  • 二、变量与数据类型
    • 1.print函数
    • 2.转义字符
    • 3.二进制与字符编码
    • 4.标识符和保留字
    • 5.变量
    • 6.数据类型
    • 7.数据类型转换
    • 8.注释
  • 三、运算符
    • 1.input函数
    • 2.运算符
      • 算数运算符
      • 赋值运算符
      • 布尔运算符
      • 比较运算符
      • 位运算符
    • 3.运算符优先级
  • 四、语句和表达式
    • 1.程序的组织结构
    • 2.顺序结构
    • 3.对象的布尔值
    • 4.分支结构(选择结构)
      • 单分支if结构
      • 双分支if...else结构
      • 多分支if...else...else结构
      • if语句的嵌套
      • 条件表达式
    • 5.pass空语句
  • 五、循环结构与流程控制语句
    • 1.range()函数的使用
    • 2.while循环
    • 3.for-in循环
    • 4.break、continue与else语句
      • break
      • continue
      • else
    • 5.嵌套循环
    • 6.二重循环中的break和continue
  • 总结


前言

大家好,我是小沐!编程路上一个人可能走的更快,但一群人才能走得更远,关注小沐一起学习不迷路!今天分享的是 python的基础知识,主要是一些简单的结构和语法,吐血整理了近一万字。话不多说,秃头走起——>冲冲冲!!!


一、Python简介与开发环境

1.应用

人工智能、机器学习、深度学习 、数据分析、爬虫等等等等。

2.python简介

1989年由荷兰人吉多·范罗苏姆创造;
解释型语言,开发过程无编译环节;
交互式语言,可在>>>后直接执行代码
面向对象的语言。
“胶水语言”可将C++或JAVA所写的模块整合在一起。

3.开发环境

开发环境大家可以根据自己的需求解决,我们需要首先在官网下载python,其次安装编辑器,Pycharm是当前最主流的python编辑器,但过于笨重,小沐目前用不到那么多功能,就在VScode上编辑就ok了,还有其他的一些编辑器,大家可以根据需求安装。

二、变量与数据类型

1.print函数

print(520)
print('Hello,World')
print("Hello,world")
print(3+1)
fp=open('D:/.text.txt','a+')#a+表示追加,每运行一次,文档中就多出一行hello,world
print('helloworld',file=fp)
fp.close()
#所指定的盘要存在  
#使用file=
print('hello','world', 
'python')

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第1张图片

fp=open('D:/.text.txt','a+')#a+表示追加,每运行一次,文档中就多出一行hello,world
print('helloworld',file=fp)
fp.close()

上述代码结果是在指定目录下的文件里打印了helloworld。

2.转义字符

#转义字符
print('hello\nworld') #换行
print('hello\tworld') #制表符,四个位置为一个整体(含空格)
print('hellooo\tworld')#四格一个制表位
print('hello\rworld')# 回车 world覆盖了hello
print('hello\bworld')#回退一格
print('hello\\\world')# 两个斜杠代表单斜杠
print('老师说:\'大家好\'') #单个斜杠不起作用
#原字符:前面加r或R使转义字符失效
print(r'hello\nworld\\')
#最后一个字符不能为一个\,可以为两个,为1个会报错,如下:
print(r'hello\nworld\')

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第2张图片

3.二进制与字符编码

8位(bit)一个字节(byte) 1024字节=1KB(千字节) MB GB TB(太字节)
八位——>ASCII表,0-127共128种状态符号包含大小写字母,数字0-9,其他128种供其他国家使用,但128个不够用
发展了各种编码,最终Unicode几乎包含了全世界的字符,规定中英文都用两个字节表示
UTF-8 中文汉字3个字节,英文字母1个字节

print(chr(0b100111001011000)) #乘
print(ord('乘')) #ord函数获取字符对应的十进制数

在这里插入图片描述

4.标识符和保留字

保留字是系统中已经使用名字;
标识符是你起的名字;
我们的标识符不能和保留字取一样的名字。

#保留字打印,可打印出当前版本所有的保留字
import keyword
print(keyword.kwlist)

在这里插入图片描述

5.变量

变量由三部分组成
标识:表示对象所存储的内存地址,用内置函数id(obj)来获取
类型:type(obj)获取
值:print(obj)获取

name='苏沐'
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)
name='楚风'
print(name)
print('标识',id(name))#内存空间发生改变

6.数据类型

有四种基本数据类型: int float bool str

#整数int
n1=11
n2=0
n3=-11
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
#整数可以表示为二进制、十进制、八进制、十六进制,默认为十进制
#二进制前加0b,八进制前加0o,十六进制前加0x/0X
print('十进制',11)
print('二进制',0b1011)
print('八进制',0o13)
print('十六进制',0xB)

#浮点型flost
a=3.14159
print(a,type(a))         
n1=1.1
n2=2.2
print(n1+n2) 
print(1.1+2.1)
 #浮点数存储数据不精确,计算时有时候可能出现小数位数不确定的情况,可用decimal解决
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2')) 

#布尔类型bool(boolean)
#True为真=1,False为假=0
#布尔值可以转换为整数计算
f1=True
f2=False
print(f1+1,type(f1))
print(f2+1,type(f2))

#字符串类型str
#又称为不可变的字符序列
#可使用单引号‘’ 双引号“ ” 三引号 ''' ''' 或 """ """ 来定义
#单引号和双引号定义必须在同一行,三引号可不在同一行
str1='人生苦短,我用python'
str2="人生苦短,我用python"
str3='''人生苦短,
我用python'''
str4="""人生苦短,
我用python"""
print(str1,type(str1))
print(str2,type(str2))
print(str3,type(str3))
print(str4,type(str4))

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第3张图片

7.数据类型转换

数据类型转换:将不同类型的数据拼接在一起

name='张三'
age=20
print(type(name),type(age))
print('我叫'+name+'今年,'+str(age)+'岁') # +为连接符,加类型转换即可成功输出
# str() 或 ' '  将其他数据类型转换成字符串
a=10
b=3.14
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)))


# int()  转整,文字类和小数类字符串,无法转换成整数 ;浮点数转换成整数,抹零取整
s1='11'
f1=11.1
s2='11.11'
f2=True
s3='hello'
print(type(s1),type(f1),type(s2),type(f2),type(s3))
print((int(s1)),type(int(s1)))#字符串为整数数字串,可转
print(int(f1),type(int(f1)))  #截整数部分
# print(int(s2),type(int(s2)))  报错,说明小数串不可转
print(int(f2),type(int(f2)))  #布尔可转
# print(int(s3,type(int(s3)))) 报错,说明str转int只有整数数字串可转,文字类和小数串都不行


# float() 将其他数据类型转换成浮点数。文字类无法转换成浮点数;整数转浮点数末尾为.0
f1='3.14'
f2='11'
f3=10
f4=66.66
f5=True
f6='hello'
print(type(f1),type(f2),type(f3),type(f4),type(f5),type(f6))
print(float(f1),type(float(f1)))
print(float(f2),type(float(f2)))
print(float(f3),type(float(f3)))
print(float(f4),type(float(f4)))
print(float(f5),type(float(f5)))
# print(float(f6),type(float(f6))) 报错,说明字符串中如果是非数字串则不可转

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第4张图片

8.注释

三种注释
第一种:单行注释 #
第二种,多行注释’‘’ ‘’’
第三种,中文编码声明注释——在文件开头加上中文声明注释 #coding:gbk ,用以指定源码文件的编码格式

三、运算符

1.input函数

作用:接受来自用户的输入
返回值类型:输入值的类型为str 格外注意
值的存储:使用即为对输入的值进行存储

temp=input('为啥要学python?')
print(temp,type(temp))
a=input('请输入一个整数:')
b=input('请输入另一个整数:')
print(type(a),type(b))
print(a+b)   #输出为两个数字的连接
print(int(a)+int(b))  #输出结果为两个数相加
#或者
c=int(input('请输入一个数:'))
d=int(input('请输入另一个数:'))
print(c+d)  #输出结果正确,为两数相加

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第5张图片

2.运算符

算数运算符

##标准算数运算符  +-*/  //(整除)
print(1+1)
print(1-1)
print(2*2)
print(5/2)
print(5//2)
###注意:一正一负整除时,向下取整
print(-9/-4)
print(-9/4)
print(-9//-4)
print(-9//4)   #-3
print(9//-4)   #-3
##取余运算符  %
print(5%2)
###注意:一正一负取余有公式:余数=被除数-除数*商
print(9%-4)   #-3
print(-9%4)   # 3
##幂运算符    **
print(2**4)

赋值运算符

#二赋值运算符=
#执行顺序:从右到左
from re import I


m=7+11
print(m)
#支持链式赋值
a=b=c=11 #a,b,c指向同一块区域?
print(a,id(a))
print(b,id(b))
print(c,id(c))
print(a,b,c)
#支持参数赋值
##  +=  -= *= /= %=  //=
#支持系列解包赋值
i,j,k=10,20,30   #左右变量的个数和值的个数要对应
print(i,j,k)
#交换两个数的值
i,j=j,i #easy!!!
print(i,j)

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第6张图片

布尔运算符

#布尔运算符  and or not(对布尔类型操作数取反) in(在字符串里面没有)    not in
a=10
b=20
print(a==10 and b==20)  #结果为True
print(a==10 or b==11)   #结果为True
c=True
print(not c)  #结果为False
ss='python'
print('h' in ss)   #结果为True
print('a' in ss)   #结果为False

比较运算符

#三比较运算符  比较运算符的结果为bool类型,即True或False
# >  <  >=  <=  !=  ==    is    is not
a,b=7,11
print('a>b吗?',a>b)  
print('a,a<b)
 #注意:比较对象的值是否相等用==,比较两个对象的标识id(内存地址)是否相等用 is
a=11
b=11
print(a==b)   #结果为True
print(a is b) #结果为True
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1==lst2)  #结果为True
print(lst1 is lst2) #结果为False
print(id(lst1))
print(id(lst2))
#is not 比较两个对象的id不相等为True
print(lst1 is not lst2)  #结果为True

位运算符

#位运算符:位与&  位或| 左移运算符<<  右移运算符>>
#将数据转成二进制进行计算
print(4&8)  #按位与 同为1时结果为1
print(4|8)  #按位或 同为0时结果为0
print(4<<1)  #左移一位高位溢出,低位补0, 十进制结果相当于原数*2
print(4<<2)
print(4>>1)  #右移一位低位截断,高位补0, 十进制结果相当于原数/2
print(4>>2)

3.运算符优先级

()>算数运算符>位运算符>比较运算符>布尔运算符>赋值运算符

四、语句和表达式

1.程序的组织结构

任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构三种基本结构组合而成。

2.顺序结构

程序从上到下按顺序执行,可单步调试查看。

3.对象的布尔值

Python一切皆对象,所有对象都有一个布尔值(变量也是对象)
可用内置函数bool() 获取对象的布尔值。
以下对象的布尔值皆为False:
False、数值0、None、空字符串、空列表、空元组、空字典、空集合

print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([]))       #空列表
print(bool(list()))   #空列表
print(bool(()))       #空元组
print(bool(tuple()))  #空元组
print(bool({}))       #空字典
print(bool(dict(dict()))) #空字典
print(bool(set()))    #空集合

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第7张图片

除上述对象外其他对象的布尔值均为True(注意:字符串若为空格串为True

4.分支结构(选择结构)

单分支if结构

if 条件表达式 :
 条件执行体

num=60
s=int(input('请输入分数:'))
if num<=s:
   s-=num
   print('及格!分数超出及格线',num)

双分支if…else结构

if 条件表达式:
  条件执行体1
else:
 条件执行体2

num=60
s=int(input('请输入分数:'))
if num<=s:
   s-=num
   print('及格!分数超出及格线',s)
else:
   s=num-s
   print('不及格!离及格还差',s)

多分支if…else…else结构

if 条件表达式1 :
 条件执行体1
elif 条件表达式2 :
 条件执行体2
elif 条件表达式N :
  条件执行体N
else:   
 条件执行体N+1

上述结构中的 else: 可写可不写

num=int(input('请输入你的成绩:'))
if num>=90 and num<=100: #可写为90<=num<=100
    print('优秀')
elif num<90 and num>=60:
    print('良好')
elif num<60 and num>=0:
    print('不及格')
else:
    print('数据有误,上天了!')

注意:在python中,可以用连续的大于小于号确定范围,如10>a>=9,而在其它语言中一般不行

if语句的嵌套

if 条件表达式1:
  if 内层条件表达式:
  内层条件执行体1
  else:
  内层条件执行体2
else:
  条件执行体

count=input('您是会员吗?yes/no')
num=float(input('请输入您的消费金额:'))
if count=='yes':
    if num>=1000:
        print('打八折,共花费金额为:',num*0.8)
    elif 500<=num<1000:
       print('打九折,共花费金额为:',num*0.9)
    else:
        print('不打折,共花费金额为:',num)
else:
    print('不打折,共花费金额为:',num)

条件表达式

条件表达式为if…else…的缩写。
如果判断条件为真,返回x,为假返回y

x if 判断条件 else y

#比较两个整数的大小
a=int(input('请输入第一个整数:'))
b=int(input('请输入第二个整数:'))
print((str(a)+'大于'+str(b))  if a>b else (str(a)+'小于'+str(b)))

5.pass空语句

pass语句什么都不做,只是一个占位符;
在搭建语法结构,还没想好怎么写代码的时候使用:
如:if条件句,for-in循环体,函数体内

um=int(input('请输入你的成绩:'))
if num>=90 and num<=100:
    pass
elif num<90 and num>=60:
    pass
elif num<60 and num>=0:
    print('不及格')

五、循环结构与流程控制语句

1.range()函数的使用

作用:用于生成一个整数序列。

语法:
range(end)——创建一个[0,end) 之间的整数序列,步长为1;
range(start,end)——创建一个[start,end) 之间的整数序列,步长为1;
range(start,end,n)——创建一个[start,end) 之间的整数序列,步长为n。

ran=range(1,10,2)
print(ran)     #直接无法打印输出
print(list(ran))    #输出ran中的整数序列
#可用in   not in判断指定整数是否在序列中
print(10 in ran)

在这里插入图片描述
注意:==不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,仅仅需要存储start,end和n,只有当用到range对象时,才会去计算序列中的相关元素

2.while循环

用于次数不固定的循环。

语法:
while 条件表达式:
条件执行体(循环部分)

#求1到100之间的偶数之和
num=1
sum=0
while num<=100:
    if num%2:
        sum+=num
    num+=1
print(sum)

注意:python中没有自增自减运算符,可以编译通过但不起作用。

3.for-in循环

语法:
for 自定义变量 in 可迭代对象:
循环体

for-in遍历的对象必须为可迭代对象;

for a in 'hello':
    print(a)
for b in range(9):
    print(b)
#求100到999之间的水仙花数:个位三次方+十位三次方+百位三次方=原数
for num in range(100,1000):
    a=num%10
    b=num//10%10
    c=num//100
    if(a**3+b**3+c**3==num):
        print(num)

    

循环体内不需要访问自定义变量,可以将自定义变量替代为下划线_。

for _ in range(5):
    print('我爱python!')

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第8张图片

4.break、continue与else语句

break

用于结束循环,通常与if一起使用

a=0
while a<5:
    str1=input('请输入密码:')
    if str1=='6666':
        print('密码正确!')
        break
    else:
        print('密码不正确')
    a+=1

continue

不执行接下来的语句,结束当前循环,进入下一次循环,通常与if一起使用。

#输出50以内5的倍数
for num in range(1,50):
    if num%5!=0:
        continue
    print(num)

else

else的三种搭配语法:
① if…:
   …
 else:
  …
②while…:
   …
  else:
   …
③for…:
  …
 else:
  …

#三次机会猜密码
for num in range(3):
    str=input('请输入密码:')
    if str=='6666':
        print('密码正确!')
        break
    else:
        print('密码不正确!')
else:
    print('抱歉,机会已用尽!')

num=0
while num<3:
    str2=input('请输入密码:')
    if str2=='6666':
        print('密码正确!')
        break
    else:
        print('密码不正确!')
        num+=1
else:
    print('抱歉,机会已用尽!')

5.嵌套循环

#输出三行四列的矩阵*
for i in range(1,4):
    for j in range(1,5):
        print('*',end='\t') #不换行输出
    print()  #换行
#输出九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(j,'*',i,'=',i*j,end='\t')
    print()  #换行

【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王_第9张图片

6.二重循环中的break和continue

二重循环中的break和continue用于控制本层循环而对外层循环没有影响。


总结

今日分享到此结束,由于笔者还在求学之路上辗转徘徊,水平有限,文章中可能有不对之处,还请各位大佬指正,祝愿每一个热爱编程的人都能实现追求,考研上岸进大厂,熬夜秃头卷中王。最后欢迎关注小沐,学习路上不迷路!

你可能感兴趣的:(【Python】,python,青少年编程,数据挖掘)