一.Python基础入门
1.第一句python文件后缀名:
文件后缀名是.py
2.两种执行方式:
(1)把文件地址交给python解释器,python解释器去找到这个文件读到内存执行
(2)进入解释器:解释器运行起来,等待用户输入东西,用户输入什么解释器处理什么(实时输入并获取到执行结果)
3.解释器路径:
#!/usr/bin/env python
4.编码:
# -*- coding:utf8 -*-
Python3无需关注
Python2每个文件中只要出现中文,头部必须加
5.执行一个操作(提醒用户输入:用户和密码)
input的用法,永远等待,直到用户输入了值,就会将输入的值赋值给n,n代指用户输入的内容
#!/usr/bin/python
# -*- coding: utf-8 -*
n1 = input('请输入用户名: ')
n2 = input('请输入密码: ')
print(n1)
print(n2)
结果:
请输入用户名: 18
请输入密码: 123456
18
123456
二.python的语言类型
1.静态编译语言
(1)实现声明变量类型,类型不能再改变
(2)编译时检查
2.动态编译语言
(1)不用事先声明类型,随时可以赋值为其他类型
(2)编程时不知道是什么类型,很难推断
3.强类型语言
(1)不同类型之间操作,必须先强制类型转换为同一类型。print('a'+1)是不成功的
4.弱类型语言
(1)不同类型间可以操作,自动隐式转换,如javaScript中console.log(1+'a')
5.python是动态编译语言,强类型语言
三.python基础语法
1.注释:#
2.数字:
(1)整数,不区分long和int
进制0xa,0o10,0b10
bool,2个值True,false
(2)浮点数
1.2,3.1415,-0.12,1.46e9等
(3)复数,1+2j
3.字符串:
(1)使用' "单双引号引用的字符串的序列
(2)''' """单双三引号,可以跨行,可以在其中自由的使用单双引号
(3)在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
4.转义序列:
(1)\\ \t \r \n \' \"
(2)前缀r,把里面的所有字符串当普通字符对待
5.缩进
(1)未使用C等语言的花括号,而是采用缩进的方式表示层次关系
(2)云顶使用4个空格缩进
6.续行
(1)在行尾使用\
(2)如果使用各种括号,认为括号内是一个整体,内部跨行不用\
7.标识符
(1)一个名字,用来指代一个值
(2)只能字母,下划线和数字
(3)只能以字母或下划线开头
(4)不能是python的关键字,列如def,class就不能作为标识符
(5)Python是大小写敏感的
约定:
不允许使用中文
不允许使用歧义单词,例如class_
在python中不要随便使用下划线开头的表示符
8.常量
(1)一旦赋值就不能改变值的标识符
(2)python中无法定义常量
9.字面常量
(1)一个单独的量,例如12,"abc"
10.变量
(1)变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。
(2)变量的命名规则:
第一:变量名是由字母,数字,下划线组成
第二:数字不能开头,不可使用python关键字,最好不要和python内置的东西重复
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
(3)变量的赋值:
是变量声明和定义的过程
赋值变量a=1
>>> a=1
>>> print a
1
(4)变量可以从新赋值,python以数据为主,存在内存当中
>>> a=123
>>> id(a)
159621008
>>> a=456
>>> id(a)
159761348
(5)同样的地址空间可有有两个不同的标签可饮用相同的数据(一条数据可以是多个标签):
>>> a=123
>>> b=123
>>> id(a)
159621008
>>> id(b)
159621008
四.运算符
1.赋值运算符
= 赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取余赋值运算符
**=幂赋值运算符
//=取整除赋值运算符
2.算术运算符
(1)+ - * / % **
(2)自然除/结果是浮点数,整除//
>>> 1+1 加法
2
>>> 3-2 减法
1
>>> 3*4 乘法
12
>>> 4/2 实数除法
2
>>> 3.0/2 实数除法
1.5
>>> 3.0//2 整数除法
1.0
>>> 17%6 求余数
5
>>> 3**2 求幂运算
9
3.位运算符
(1)& | ~ ^ << >>
(2)常用方式:乘除2的倍数,32 // 4相当于 32 >> 2
(3)12,0xc,0o14,0b1100
4.比较运算符
(1)== != > < >= <=
(2)返回一个bool值
>>> 1<2 小于
True
>>> 3>2 大于
True
>>> 3!=5 不等于
True
>>> 3==3 等于
True
5.逻辑运算符
(1)与或非 and or not
(2)短路运算符
and如果第一个表达式为false,后面就没必要计算了,这个逻辑表达式一定是false
or如果第一个表达式true,后面没有必要计算了,这个逻辑表达式一定是true
当两个条件成立返回值为真:and 与
>>> 1>2 and 2<3
False
>>> 3>2 and 2<3
True
当一个条件成立返回值为真:or 或
>>> 1>2 or 2<3
True
>>> 1>2 or 5<3
False
取反:not 非
>>> not 1>2
True
6.成员运算:in和not in(判断某个东西是否在某个东西里面包含)
1.in:如果在指定的序列中找到值返回True,否则返回False
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "大西瓜"
if "大西瓜" in name:
print('OK')
else:
print('Error')
输出:
OK
2.not in 如果在指定的序列中没有找到值返回True,否则返回False
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "大西瓜"
if "大西瓜" not in name:
print('OK')
else:
print('Error')
输出:
Error
7.身份运算符
(1)is,is not
8.运算符优先级(由高到低)
算术运算符>位运算符>身份运算符>成员运算符>逻辑运算符
五.基本数据类型
1.字符串:n1 = "wang" n2 = 'shi' n3 = """yao""" n4='''xixi'''
加法乘法:
(1)加法:
n1 = "wang"
n2 = "shi"
n4 = "xixi"
n3 = n1 + n2 + n4
结果:"wangshixixi"
(2)乘法:
n1 = "wang
n3 = n1 * 10
结果:"wangwangwangwangwangwangwangwangwangwang"
(2)数字: age=18 weight = 19 fight = 20
加 减 乘 除 取余 平方
n1 = 9
n2 = 2
n3 = n1 + n2
n3 = n1 - n2
n3 = n1 * n2
n3 = n1 / n2
n3 = n1 % n2
n3 = n1 ** n2
举例:12除以2的余数判断是否是技术或是偶数
#!/usr/bin/env python
# -*- coding: utf-8 -*-
num = 12
n = num % 2
if n == 0:
print('偶数')
else:
print('奇数')
打印结果:
偶数
六.表达式
1.由数字,符号,括号,变量等的组合
(1)算术表达式
(2)逻辑表达式
(3)赋值表达式
python中,赋值即定义,如果一个变量已经定义,赋值相当于重新定义
七.内存管理
1.变量无须事先声明,也不需要指定类型
(1)动态语言的特性
2.编程中一般无须关心变量的存亡,也不用关心内存的管理
3.python使用引用计数记录所有变量的引用数
(1)当变量引用数变为0,它就可以被垃圾回收GC
(2)计数增加:赋值给气他变量就增加引用计数,例如x-3;y=x
(3)计数减少:
函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
变量被赋值给其它对象。例如x=3;y=x;x=4
4.有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存
八.程序控制
1.顺序
(1)按照先后顺序一条条执行
例如:先洗手,再吃饭,再洗碗
2.分支
(1)根据不同的情况判断,条件满足执行某条件下的语句
例如:先洗手,如果饭没做好,玩游戏,如果饭做好了,就吃饭,如果饭都没有做,叫外卖
3.循环
(1)条件满足就反复执行,不满足就不执行或不再执行
例如:先洗手,看饭好了没有,没有好,一会在看一次是否好了,一会儿来看一次,直到饭好了,才可以吃饭。这里循环的条件是饭没有好,饭没有好,就循环的来看饭好了没有
九.条件语句
1.python的if语句类似其他语言。if语句包含一个逻辑表达式,使用表达式比较,在比较的结果的基础上做出决定。
2.if基本语句:python使用缩进作为其语句分组的方法,建议4个空格代替缩进
if 条件:
内部代码块
else:
内部代码块
(1)举例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if 1 == 1:
print("欢迎第一次来")
print("欢迎第二次来")
else:
print("没有来")
输出:
欢迎第一次来
欢迎第二次来
3.真值表
4.if支持嵌套
语法:if 判断:
当出现False
else:
执行
(1)举例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if 1 == 1:
if 2 == 1:
print("欢迎第一次来")
print("欢迎第二次来")
else:
print("俩次没有来")
else:
print("没有来")
输出:
俩次没有来
5.三目运算符
(1)python没有三目运算符,但提供了真值if条件else假值
(2)举例:输入两个数,比较大小后,从小到大升序打印出来
a = input('first:')
b = input('second:')
print(b,a) if a>b else print(a,b)
运行输入:
first:5
second:6
打印:
5 6
6.多分支结构
(1)利用elif语句做出判断if elif
(2)语法:if...elif...else语句
if 判断1:
代码块
elif 判断2:
代码块2
elif 判断3:
代码块3
...
else:
代码块
(3)举例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
inp = input('请输入要吃的水果:')
if inp == "apple":
print('苹果')
elif inp == "pear":
print('梨')
elif inp == "grape":
print('葡萄')
else:
print('馒头')
print('开始吃....')
输出"apple"有
请输入要吃的水果:"apple"
苹果
开始吃....
~~~~~~~~~~~~~~
输出:"banana"没有
请输入要吃的水果:"banana"
馒头
开始吃....
7.补充:pass
if 条件1:
pass
elif 条件2:
pass
elif 条件3:
pass
else:
pass
print('end')
(1)举例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if 1==1:
pass #什么都不执行
else:
print('xixi')
十.while循环
1.while循环:知道表达式变为假。表达的是一个逻辑表达式,必须返回一个true或false值
2.语法:
whil expression:
statement(s)
3.举例
(1)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
n = 1
while n < 11:
print(n)
n = n + 1
print('----end----')
输出结果:
1
2
3
4
5
6
7
8
9
10
----end----
(2)使用while循环输入1 2 3 4 5 6 8 9
#!/usr/bin/env python
# -*- coding: utf-8 -*-
n = 1
while n < 11:
if n == 7:
pass
else:
print(n)
n = n + 1
输出结果:
1
2
3
4
5
6
8
9
10
(3)求1-21内的所有奇数
#!/usr/bin/env python
# -*- coding: utf-8 -*-
n = 1
while n < 21:
temp = n % 2 #求余数
if temp == 0: #如果余数等于0
pass
else:
print(n)
n = n + 1
输出:
1
3
5
7
9
11
13
15
17
19
(4)求1-100的所有数的和
n = 1
s = 0 #s是之前所有数的总和
while n < 101:
s = s + n
n = n + 1
print(s) #s=0+1,s=1+2,s=3+3,s=6+4
输出:
5050
(5)求1-2+3-4+5...99的所有数的和
#!/usr/bin/env python
# -*- coding: utf-8 -*-
n = 1
s = 0 #s是之前所有数的总和
while n < 100:
temp = n % 2
if temp == 0: #如果temp是偶数
s = s - n
else:
s = s + n
n = n + 1
print(s)
输出:
50
十一.for循环
1.语法:
for element in iteratab:
block
当可迭代对象中有元素
2.range函数:帮助创建连续或不连续的数字
#Python2中直接创建在内存中
#python3中只有for循环时,才一个一个创建
r1 = range(10) 相当于创建连续数字:1-9
r2 = range(1,10) 相当于创建连续数字:大于等于1小于10
举例:通过设置步长等于5来指定不连续每隔5输出
v = range(0, 100, 5) for item in v: print(item)
输出:
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
3.举例:
(1)打印1~10
for i in range(10): print(i+1)
打印结果:
1
2
3
4
5
6
7
8
9
10
(2)求100以内所有的奇数和
sum = 0 for i in range(1,100,2): #1开始到100区间里每跨两步循环 sum+=i #这里得到的是1,3,5,7,9...的累加 else: print(sum)
打印结果:
2500
(3)求1到5的阶乘之和
n=5 multiply=1 sum=0 for i in range(1,n+1): #1到5的闭区间 for j in range(1,i+1): multiply*=j sum += multiply multiply = 1 print(sum)
打印结果:
153
十二.循环continue语句
1.中断当前循环的当次执行,继续下一次循环
举例:输出10以内的奇数(for循环)
for i in range(10):
if i%2 == 0:
continue
print(i)
返回:
1
3
5
7
9
十三.循环break语句
1.终止当前循环
2.举例:
(1)计算1000以内的被7整除的前20个数(for循环)
count = 0
for i in range(0,1000,7):
print(i)
count +=1
if count >= 20:
break
返回:
0
7
14
21
28
35
42
49
56
63
70
77
84
91
98
105
112
119
126
133
(2)给一个数判断它是否是质数
n = 7
i =2
while i < n:
if n % i == 0:
print('是质数')
break
i += 1
else:
print('不是质数')
返回:
不是质数
来源:https://www.cnblogs.com/xixi18/p/9459864.html