基础的python程序_Python程序入门

Python语法元素入门

Python语法元素分析

注释

注释:程序员在代码中加入的说明信息,不被计算机执行

注释的两种方法:

单行注释以#开头

多行注释以'''开头和结尾

# Here are the comments

'''

This is a multiline commernt

used in Python

'''

缩进

1个缩进 = 4个空格

用以在Python中标明代码的层次关系

缩进是Python语言中表明程序框架的唯一手段

常量与变量

常量:程序中值不发生改变的元素

使用常量的好处:

例如:程序中含有一个常量,PI=3.14,如果程序中多次使用PI,当我们需要更精确的值时,直接修改常量定义,而不需要每一处使用都修改具体值

变量:程序中值发生改变或者可以发生改变的元素

在Python语言中,变量和常量使用上基本没有区别

表达式

表达式:程序中产生或计算新数据值的一行代码

Python语言的33个保留字或者操作符可以产生符合语法的表达式。例如

>>>x=25 #将数字25赋给变量x

# 在使用变量前必须对其赋值,否则编译器报错

空格的使用:

不改变缩进相关的空格数量

空格不能将命名分割

增加空格增加程序可读性

字符串操作

操作符+可以实现两个字符串的连接操作

>>> "python"+" is good"

'python is good'

字符串可理解为字节序列,若长度为L,第一个字节索引为0或-L,最后一个字节索引为L-1或-1

以区间形式获得字符串的子串

>>> tIndex = "python"

>>> tIndex[4]

'o'

>>> tIndex[-4]

't'

>>> tIndex[1:-2] # 表示一个从[1,-2)的区间

'yth'

>>>

输入

input()函数从控制台获得用户输入

= input()

获得的用户输入以字符串形式保存在中

>>> input_string = input("请输入:")

请输入:this is a string

>>>

输出

print()函数用来输出字符信息,或以字符形式输出变量。

print()函数可以输出各种类型变量的值。

print()函数通过%来选择要输出的变量。

实例:

用户输入两个数字,计算它们的平均数,并输出平均数

num1 = input("The first number is")

num2 = input("The second number is")

avg_num = (float(num1) + float(num2)) / 2

print("The average number is %f" % avg_num)

分支

分支语句:控制程序运行,根据判断条件选择程序执行路径。基本过程如下:

if:

elif:

......

elif:

else:

循环

循环语句:控制程序运行,根据判断条件或计数条件确定一段程序的运行次数

计数循环,基本过程如下

for i in range():

例如,使某一段程序连续运行10次

for i in range(10):

# 其中,变量i用于计数

命名

命名:给程序元素关联一个标识符,保证唯一性

变量和常量都需要一个名字

命名规则:

大小写字母、数字和下划线的组合,但首字母只能是大小写字母或下划线,不能使用空格。

中文等非字母符号也可以作为名字。

以下下是合法命名的标识符:

python_is_good python_is_not_good

_is_it_a_question_ python语言

标识符对大小写敏感,不能与保留字相同

Python 3.x保留字列表(33个)

| * | * | * | * |

|:-----:| :----:| :----:| :----:|

| and | elif | import|raise |

|as |else |in |return |

|assert |except |is |try |

|break |finally|lambda |while |

|class |for |nonlocal|with |

|continue|from |not |yield |

|def |global |or |True |

|del |if |pass |False |

| | | |None |

赋值语句

赋值语句:使用等号给变量赋值

f=1.8*float(input_str[0:-1]) + 32

同步赋值语句:同时给多个变量赋值(先运算右侧N个表达式,然后同时将表达式结果赋给左侧)

,..., = ,...,

例:将变量x和y交换

采用单个赋值,需要3行语句:

即通过一个临时变量t缓存x的原始值,然后将y赋值给x,再将x的原始值通过t赋值给y。

t=x

x=y

y=t

采用同步赋值语句,仅需要一行代码:

x,y=y,x

程序编写模板

任何输入输出类型的组合都可以看成“模板”

例如:

input输入 - 文件write输出

input-print模板

用户输入:input()获得输入

运算部分:根据算法实现

结果输出:print()输出结果

initial-print模板

初始变量:运算需要的初始值

运算部分:根据算法实现

结果输出:print()输出结果

蟒蛇绘制程序

import turtle

def drawSnake(rad, angle, len, neckrad):

for i in range(len):

turtle.circle(rad, angle)

turtle.circle(-rad, angle)

turtle.circle(rad, angle/2)

turtle.fd(rad)

turtle.circle(neckrad+1 ,180)

turtle.fd(rad*2/3)

def main():

# 开启窗口大小

turtle.setup(1300, 800, 0, 0)

# 运行轨迹的宽度

pythonsize = 30

turtle.pensize(pythonsize)

# 运行轨迹的颜色 RGB

turtle.pencolor("blue")

# 小乌龟启动运行的方向

turtle.seth(-40)

# 调用自定义函数

drawSnake(40,80,5,pythonsize/2)

main()

Python语法元素

import turtle

import 是一个关键字,用来引入一些外部库,这里的含义是引入一个名字叫turtle的函数库

def用于定义函数。

函数是一组代码的集合,用于表达一个功能,或者说,函数表示一组代码的归属,函数名称是这段代码的名字。

def所定义的函数在程序中未经调用不能直接执行,需要通过函数名调用才能够执行。

Turtle库

Turtle库是Python语言中一个很流行的绘制图像的函数库

使用Turtle库,同学们头脑里需要有这样的一个概念:

想象一个小乌龟,在一个横轴为x,纵轴为y的坐标系原点,(0,0)位置开始

它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

turtle.setup()函数用于启动一个图形窗口,它有四个参数

turtle.setup(width,height,startx,starty)

turtle.pensize()函数表示小乌龟运动轨迹的宽度。

turtle.pencolor()函数表示小乌龟运动轨迹的颜色。Turtle采用RGB方式来定义颜色。

turtle.seth(angle)函数表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。

其中,0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。

程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。

turtle.circle()函数让小乌龟沿着一个圆形爬行

参数rad描述圆形轨迹半径的位置

这个半径在小乌龟运行的左侧rad远位置处,如果rad为负值,则半径在小乌龟运行的右侧。

参数angle表示小乌龟沿着圆形爬行的弧度值

turtle.fd()函数也可以用turtle.forward()表示乌龟向前直线爬行移动。

表示小乌龟向前直线爬行移动,它有一个参数表示爬行的距离。

函数库的引用

Python语言的魅力在于大量使用外部函数库

包含在安装包中的函数库:math、random、turtle 等

其他函数库:用户根据需求安装

第一种方式

import

例如:import turtle

如果需要用到函数库中函数,需要使用:

.

import turtle

turtle.fd(100)

第二种方式:

fromimport

fromimport*

调用函数不需要,直接使用

from turtle import*

fd(100)

两种引用方式的区别

如果采用第一种方式,用户自定义的函数名字可以和库中函数的名字一样,例如:程序中可以定义自己的fd()函数。

如果采用第二种方式,用户程序中不能用函数库中的名字定义,例如:程序不能定义新的fd()函数,因为库turtle中的fd()函数也是直接通过fd()调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决阿里云服务器磁盘报警

一般磁盘报警涉及到实际磁盘和inode文件索引节点 1.df -h检查磁盘占用不高 2.df -i检查inode文件索引节点有一个挂载目录达到89%,里面有一个目录产生大量的4k大的缓存文件,删除该目录下的文件解决: 删除该目录下小于4kb的文件 find /data/tmp -type f -size -4 -exec rm -rf {}…

leetcode310. 最小高度树(bfs)

对于一个具有树特征的无向图,我们可选择任何一个节点作为根。图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树。给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点。格式该图包含 n 个节…

如何构建自己的免费无服务器评论框

by Shaun Persad通过Shaun Persad 如何构建自己的免费无服务器评论框 (How you can build your own free, serverless comment box) Contentful’s flexible content modeling goes far beyond blog posts. Here’s how you can leverage Contentful and Netlify to create a …

[Swift]LeetCode1035.不相交的线 | Uncrossed Lines

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址&a…

BZOJ1054(搜索)

大力搜&#xff0c;状态用一个16位的数字表示。 1 #include <bits/stdc.h>2 3 using namespace std;4 5 #define rep(i,a,b) for(int i(a); i < (b); i)6 7 const int A 30 1;8 9 struct node{int x, y; } op[A]; 10 struct Nod…

php sql语句过滤,php如何做sql过滤

php如何做sql过滤SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序&#xff0c;而这些输入大都是SQL语法里的一些组合&#xff0c;通过执行SQL语句进而执行攻击者所要的操作&#xff0c;其主要原因是程序没有细致地过滤用户输入的数据&#xff0c;致使非法数据侵入…

ajaxfileupload 返回值_ajaxFileUpload上传文件返回json无法解析

最近做一个文件上传的功能&#xff0c;还要绑定数据传输到后台&#xff0c;为了不影响前端的体验&#xff0c;采用ajax发送请求。找了一些资料&#xff0c;网上的用ajaxupload这个插件。但是无论成功还是失败都是执行的error的回调函数。后台我采用springmvc返回的json&#xf…

leetcode133. 克隆图(bfs)

给你无向 连通 图中一个节点的引用&#xff0c;请你返回该图的 深拷贝&#xff08;克隆&#xff09;。 图中的每个节点都包含它的值 val&#xff08;int&#xff09; 和其邻居的列表&#xff08;list[Node]&#xff09;。 class Node { public int val; public List neighbor…

OSCON上最受欢迎的Docker演讲

本文讲的是OSCON上最受欢迎的Docker演讲&#xff0c;【编者的话】本文介绍了上个月OSCON大会有关Docker最受欢迎的一个分享&#xff1a;真实线上环境的Docker技巧。分享者是一名运维工程师叫Bridget&#xff0c;她所在的公司DramaFever在2013年10月开始在线上环境部署使用Docke…

测试驱动开发 测试前移_测试驱动开发:它是什么,什么不是。

测试驱动开发 测试前移by Andrea Koutifaris由Andrea Koutifaris Test driven development has become popular over the last few years. Many programmers have tried this technique, failed, and concluded that TDD is not worth the effort it requires.在过去的几年中&…

【C/C++开发】C++库大全

C特殊限定符(1)--static 当static来修饰类数据成员时&#xff0c;这个类的所有对象都可以访问它。因为值在内存中持续存在&#xff0c;它可以被对象有效共享。这意味着当一个对象改变static数据成员的值时&#xff0c;就改变了所有对象的这个数据成员的值。 定义一个类: class …

java二维数组水平翻转,C 语言 利用二维数组实现对输入的数组进行翻转

C 语言 利用二维数组实现对输入的数组进行翻转(帮助理解对图像翻转编辑原理)/*?输入几行几列数字和翻转方式&#xff0c;如&#xff1a;3 4 0即代表3行4列&#xff0c;左右翻转&#xff1b;6 5 1即代表6行5列&#xff0c;上下翻转。输入示例&#xff1a;3 4 0________________…

lightgbm 保存模型 过大_一个例子读懂LightGBM的模型文件

机器学习模型的可解释性是个让人头痛的问题。在使用LightGBM模型的肯定对生成的GBDT的结构是好奇的&#xff0c;我也好奇&#xff0c;所以就解析一个LightGBM的模型文件看看&#xff0c;通过这个解析&#xff0c;你可以看懂GBDT的结构。另外&#xff0c;了解模型文件&#xff0…

Oracle Sql 胡乱记

/Oracle查询优化改写/ --1、coalesce 返回多个值中&#xff0c;第一个不为空的值 select coalesce(, , s) from dual; --2、order by -----dbms_random.value 生产随机数,利用随机数对查询结果进行随机排序 select * from emp order by dbms_random.value; --指定查询结果中的一…

leetcode752. 打开转盘锁(bfs)

你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字&#xff1a; ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转&#xff1a;例如把 ‘9’ 变为 ‘0’&#xff0c;‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位…

Object Pools 喷泉效果实现

摘录自&#xff1a;http://catlikecoding.com/unity/tutorials/object-pools/ 工程 效果图 工程里面有响应的注释 源码我就不单独放出来了

从头学习计算机网络_我如何通过从头开始构建网络爬虫来自动进行求职

从头学习计算机网络它是如何开始的故事 (The story of how it began) It was midnight on a Friday, my friends were out having a good time, and yet I was nailed to my computer screen typing away.星期五是午夜&#xff0c;我的朋友们出去玩得很开心&#xff0c;但我被钉…

php 动态生成文件,php动态程序生成静态文件示例

html>{title}{content}tmp.html是模板文件/** 说明&#xff1a;生成静态页面,tmp.html是模板文件&#xff0c;news.html是要生成的文件&#xff0c;**///1&#xff0c;先读取模板中内容$strfile_get_contents(tmp.html);//2&#xff0c;将指定的内容进行替换$title网站标题;…

网管的自我修养-网络系统

目录&#xff1a; 序章人际关系工具准备电脑维护网络系统弱电系统外设相关信息系统服务器相关机房建设其他网管网管&#xff0c;会管网络才算名副其实。管理一般中小企业的网络&#xff0c;具备CCNA及以上水平就可以了。 一、规划 首先要根据公司的人员工位数量、打印机传真等设…

thinkphp日志泄漏漏洞_ThinkPHP框架被爆任意代码执行漏洞

昨日ThinkPHP框架被爆出了一个php代码任意执行漏洞&#xff0c;黑客只需提交一段特殊的URL就可以在网站上执行恶意代码。ThinkPHP作为国内使用比较广泛的老牌PHP MVC框架&#xff0c;有不少创业公司或者项目都用了这个框架。不过大多数开发者和使用者并没有注意到本次漏洞的危害…