分享

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

 网摘文苑 2022-05-05 发布于新疆

一、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,worldprint('helloworld',file=fp)fp.close()#所指定的盘要存在#使用file=print('hello','world','python')
Python第一篇:基础语法与结构,秃头的路上,我们一起成为卷王
fp=open('D:/.text.txt','a+')#a+表示追加,每运行一次,文档中就多出一行hello,worldprint('helloworld',file=fp)fp.close()

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

2.转义字符

#转义字符print('hello\nworld') #换行print('hello\tworld') #制表符,四个位置为一个整体(含空格)print('hellooo\tworld')#四格一个制表位print('hello\rworld')# 回车 world覆盖了helloprint('hello\bworld')#回退一格print('hello\\\world')# 两个斜杠代表单斜杠print('老师说:\'大家好\'') #单个斜杠不起作用#原字符:前面加rR使转义字符失效print(r'hello\nworld\\')#最后一个字符不能为一个\,可以为两个,为1个会报错,如下:print(r'hello\nworld\')
Python第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

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函数获取字符对应的十进制数
Python第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

4.标识符和保留字

保留字是系统中已经使用名字;

标识符是你起的名字;

我们的标识符不能和保留字取一样的名字。

#保留字打印,可打印出当前版本所有的保留字import keywordprint(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

#整数intn1=11n2=0n3=-11print(n1,type(n1))print(n2,type(n2))print(n3,type(n3))#整数可以表示为二进制、十进制、八进制、十六进制,默认为十进制#二进制前加0b,八进制前加0o,十六进制前加0x/0Xprint('十进制',11)print('二进制',0b1011)print('八进制',0o13)print('十六进制',0xB)#浮点型flosta=3.14159print(a,type(a))n1=1.1n2=2.2print(n1+n2)print(1.1+2.1)#浮点数存储数据不精确,计算时有时候可能出现小数位数不确定的情况,可用decimal解决from decimal import Decimalprint(Decimal('1.1')+Decimal('2.2'))#布尔类型bool(boolean)#True为真=1,False为假=0#布尔值可以转换为整数计算f1=Truef2=Falseprint(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第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

7.数据类型转换

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

name='张三'age=20print(type(name),type(age))print('我叫'+name+'今年,'+str(age)+'岁') # +为连接符,加类型转换即可成功输出# str() 或 ' ' 将其他数据类型转换成字符串a=10b=3.14c=Falseprint(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.1s2='11.11'f2=Trues3='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() 将其他数据类型转换成浮点数。文字类无法转换成浮点数;整数转浮点数末尾为.0f1='3.14'f2='11'f3=10f4=66.66f5=Truef6='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第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

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第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

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) #-3print(9//-4) #-3##取余运算符 %print(5%2)###注意:一正一负取余有公式:余数=被除数-除数*商print(9%-4) #-3print(-9%4) # 3##幂运算符 **print(2**4)

赋值运算符

#二赋值运算符=#执行顺序:从右到左from re import Im=7+11print(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第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

布尔运算符

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

比较运算符

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

位运算符

#位运算符:位与& 位或| 左移运算符<< 右移运算符>>#将数据转成二进制进行计算print(4&8) #按位与 同为1时结果为1print(4|8) #按位或 同为0时结果为0print(4<<1) #左移一位高位溢出,低位补0, 十进制结果相当于原数*2print(4<<2)print(4>>1) #右移一位低位截断,高位补0, 十进制结果相当于原数/2print(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第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

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

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

单分支if结构

if 条件表达式 :

 条件执行体

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

双分支if…else结构

if 条件表达式:

  条件执行体1

else:

 条件执行体2

num=60s=int(input('请输入分数:'))if num<=s:s-=numprint('及格!分数超出及格线',s)else:s=num-sprint('不及格!离及格还差',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<=100print('优秀')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:passelif num<90 and num>=60:passelif 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)
Python第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

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

2.while循环

用于次数不固定的循环。

语法:

while 条件表达式:

条件执行体(循环部分)

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

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

3.for-in循环

语法:

for 自定义变量 in 可迭代对象:

循环体

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

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

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

for _ in range(5):print('我爱python!')
Python第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

4.break、continue与else语句

break

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

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

continue

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

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

else

else的三种搭配语法:

① if…:

   …

 else:

  …

②while…:

   …

  else:

   …

③for…:

  …

 else:

  …

#三次机会猜密码for num in range(3):str=input('请输入密码:')if str=='6666':print('密码正确!')breakelse:print('密码不正确!')else:print('抱歉,机会已用尽!')
num=0while num<3:str2=input('请输入密码:')if str2=='6666':print('密码正确!')breakelse:print('密码不正确!')num+=1else: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第一篇:基础语法与结构,秃头的路上,我们一起成为卷王

6.二重循环中的break和continue

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多