您的位置:首页 > 编程语言 > Python开发

python初接触之第一周学习小结

2017-09-18 11:08 197 查看
写在前面的一些话,时刻提醒自己:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!

单步源代码千行
不如单步对应汇编一行!

1991 python 第一版问世
新版本开发新项目,老版本维护老项目,不可自行随意更新版本
相关的python书籍 《python cookbook》 《简明python教程》
python哲学 life is short,u need python



冯诺依曼体系架构 cpu=运算器+处理器
运算器:完成各种算数,逻辑运算等,数据传输等数据加工处理
控制器: 控制程序的执行
存储器:用于数据储存于记忆 如内存
输入设备: 键鼠
输出设备: 显示器、打印机

开发环境
pyenv
pyenv -V 查看当前版本
pyenv -versions 查看所有python 版本
python多版本管理工具: 管理python解释器、管理python版本、管理python的虚拟环境、

安装后时pyenv golcal 3.5.3 应注意 golcal的使用,golcal定义全局全局环境,local是捆绑部分环境

安装python时应安装到独立文件夹中,不会干扰到别的电脑或用户,使用虚拟环境安装一个工作环境(可以自定python版本),



程序 = 数据结构 + 算法
数据是程序的核心
数据结构是数据在计算机中的类型和组织方式
算法是处理数据的方式,有优劣之分

写程序的难点



python的一些解释器
官方Cpython 由c语言开发,应用广泛!
IPython 功能加强的 Cpython
PyPy 动态编译python代码,jit技术,由python开发
Ironpython 运行在.Net平台上,会被编译成.Net的字节码
Jython python的源代码被编译成java的字节码,运行在java的虚拟机上

python的基础语法:
代码行首或行尾+#为注释
数字:
整数,不区分长和int
进制为 16进制 8进制 2进制
bool值 : 2个值,true(0),fals(整)
浮点数运算,
复数运算

字符串
使用‘“” 单双引号引用的字符的序列
使用""" ''' 单双三引号,可以跨行,可以在其中自由的使用单双引导
在字符串前面前缀加r ,表示该字符串不做特殊处理

转移序列
\ \ \t \r \n \' \''

缩进:
用缩进的方式表示层次关系
约定使用4格空格缩进

续航号 \ 续行号后不可以以跟空格,直接回车

基础语法
一个名字,用来指代一个值
只能用字母、下划线、数字
只能以字母、下划线开头
不能以关键字 作为标识符
大小写敏感
约定
不使用中文
不允许使用歧义单词
在python中不要随便使用下划线开头的表示符
python没有常量 一旦赋值就不能改变值的 标识符,
python无法定义常量
字面常量 一个单独的量,如12、"abc" 'hjkl;vjknlok-0'
变量
赋值后,可以再修改的标识符

python是动态型语言中的 强类型语言


python 赋值既定义

程序控制 顺序执行,分支处理 最后循环
运算符
算数运算符
+ - * / % **
自然除/ 结果是浮点数,整除// 注:2.x中 /和//都是整除

短路运算 and 为乘法 为整数(0x?=0) or为加法 (1+x=1)

赋值运算符
?=? a=min(3,5)为赋值
+= -+ *= /= %=
x=y=z=10 尽量不适用这个元素符

接下来就是一些关于习题的做法,和个人的一些愚见,初次接触编程,确实有些懵,一时间很难把wayne老师布置的习题做出来,因为头脑里没有那种构思,给一个题目不知道从何下手,或许在敲多次后应该就有所改变了吧,现在我唯一能做到的就是尽我所能去理解有关习题的做法,及运算思维。

# 自定义一个x值
x=int(input( ))
#依次取出括号里的值
for i in range(1,x+1):
# 如果i等于1或者等于x的时候
if i==1 or i==x:
# 就打印出x个空格和*
print(x*'*'' ')
# 如果不符合上面的条件的话
else:
# 就在头尾各打印出一颗星,并在星中间打印出x-2个等同于星的空格,x-1等同星后空格
print('*'+(2*x-3)*' '+'*')

如果x=8时
则显示如下图形



由此推出一个求菱形的习题:
x=-3 #设定一个变量为x=-3
for i in range(-3,4): #依次取出括号里-3到4的数字
if i<0: #如果i小于0时
x=-i #将x取正
else: #否则
x=i #当x=i时
print(' '*x+'*'*(7-x*2)) #打印出(x个空格+7-x*2个*)

最后运行后的显示结果为

再次扩展这个题,

得出的结果为:



求100以内所有奇数的和:
sum=0 #定一个参数为0
for i in range(1,100,2):#依次取出1,99的奇数
sum+=i #每次取出都累计相加依次
print(sum) #打印出累积的值

最后结果等于2500,换了偶数只需要把1换成0即可,因为步进设为2所以每次循环下一次数都会以+2择出

判断一个学生的成绩为A?B?C?D?
x=int(int(input('>>>>>')))
if x<=60:
print('该学生的成绩为D')
elif x<=79:
print('该学生的成绩为C')
elif x<=89:
print('该学生成绩为B')
else:
print('该学生成绩为A')

求1到5的阶乘之和
sum=0
mulitply=1
for i in range(1,6):
mulitply*=i
sum+=mulitply
print(sum)

最后的结果为 153

判断一个数是否是质数
i=int(input())
if i%2==0:
print('this is not prime')
else:
print('im prime')

打印出99乘法表

输出结果如下 :

可以使用制表符对齐‘'\t‘’,制表符加在 end=’‘前面即可实现自动对齐

求斐波那契数列第101项:

由此得出斐波那契数列第101项的值为:

求十万以内的所有质数:
for i in range(1,100000,2):
for j in range(2,int(i**0.5+1)):
if i%j==0:
break
else:
print(i)

得出来的结果为,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python