开发|浅谈python基础知识
最近复习一些基础内容,故将Python的基础进行了总结。注意:这篇文章只列出来我觉得重点,并且需要记忆的知识。
前言
目前所有的文章思想格式都是:知识+情感。
知识:对于所有的知识点的描述。力求不含任何的自我感情色彩。
情感:用我自己的方式,解读知识点。力求通俗易懂,完美透析知识。
目录
变量与常量的命名
变量的底层创建
注释方式
交互input函数
格式化输出
运算符
流程控制
正文
正文的主要讲述内容包括:变量与常量的命名;底层变量的创建方式;注释方式;交互input函数;格式化输出;运算符;流程控制等。
变量与常量的命名
1.变量的命名规则:
1)变量名只能是 字母、数字或下划线的任意组合(python可以使用中文的变量,但是别干哦~~)
2)变量名的第一个字符不能是数字
3)关键字不可以作为变量使用(见下图)
2.常量的命名规则:
字母全部使用大写与下划线和数字的组合。(不要忘记了,在自己书写变量的时候,注意区分~)
变量的底层创建
来一起看看变量的底层实现了什么。
1.以变量name为例,首先创建变量name: name = 'rongming'
2.内存会份两块地方分别存放变量名 name 与 变量的值 'rongming'
3.使用name这个变量名 映射指向 存放变量的值 'rongming' 的 内存地址实现变量的关联。(计算机只认识0与1)
注意:
1)当出现新的变量与旧变量赋值的时候,变量名与与变量的值的关联是靠内存地址。(记住,是内存地址)
2)在程序的世界中处处是变量,Python中存在可变数据类型与不可变数据类型。只需要从最底层的创建理解都不会很难。
3)可以使用Python的id()方法实现变量的内存地址查看。看下面的源码~~
def id(*args, **kwargs): # real signature unknown
"""
Return the identity of an object.
This is guaranteed to be unique among simultaneously existing objects.
(CPython uses the object's memory address.)
"""
pass
注释方式
下面说的规则是需要遵循的习惯,不遵守也可以,但是看着不雅~~
1.只要注释超过两行,都使用三引号,可以使用单引号 也可以使用双引号,推荐使用三双引号
2.凡是一行的注释,直接使用 # 即可。
3.快捷键 Ctrl 与 ?/
我现在还可以想起来,当时自己在使用注释的时候,不喜欢喜欢使用三个单引号~~
交互input函数
1.在使用交互的时候,需要注意,交互得到的数据是string(字符串)类型,尤其是交互的是数字的时候,注意后续使用的数据类型。
2.交互,避免不了的就是会携带空格等,人眼看不出来,但是计算机看的到。所以使字符串的 strip()方法,处理掉字符串两边的空格。
3.在正式开发的时候,不会使用input的函数的,所有的数据都是通过网络传输到浏览器或其他设备展示,所以input等效于html标签的input标签~~~
格式化输出
格式化输出的使用场景,对于字符串的拼接,后续的使用次数会很多~~~
1.%s ====> 代替任何字符占位
2.%d ====> 代替数字占位
3.%.2f ====> 代替两位小数的数字占位
注意:%.2f的形式会在特定的场合使用。
运算符
1.算术运算
加减乘除....
2.比较运算
大于,小于, 等于 .....
插曲,还记得自己开始学习编程的时候,看到这些符号的时候,相当的陌生,都已经好多年没有使用了,哈哈哈~~~怀念啊!
3.逻辑运算
与或非....
4.赋值运算(+=还是很使用的)
等于,+=, -=, .....
5.身份运算(使用频率很高,请注意)
is, is not
流程控制(只有使用才可以熟悉,知道了就去尝试写出来吧~~)
1.单分支判断
if...:
...
2.双分支
if....:
...
else:
...
3.多分支
if...:
....
elif..:
....
.......
else:
.....
4.while判断
while...:
.....
5.while...else形式
while...:
.....
else:
.....
6.for循环
for ... in ..:
....
7.break:循环直接跳出,执行循环体之外的代码
8.continue:本次循环结束,下一次循环继续执行
9.三元运算
在使用if进行判断的时候,只是if...else...形式的话,直接可以写成一行。
例子:
age = 18
if age == 18:
age += 1
else:
age -= 1
print(age)
# 简化---三元运算
age = 18
age += 1 if age == 18 else age - 1
print(age)
结束语
上面的内容是对于一些基础部分的总结,是不全的,但是都是我在自己的实践中使用过的,所以实用性还是可以的,后续会精讲数据类型,从源码剖析,从底层的实现方式来阐述。
希望大家学习快乐~~~
开发技术--浅谈python基础知识的更多相关文章
-
开发技术--浅谈Python函数
开发|浅谈Python函数 函数在实际使用中有很多不一样的小九九,我将从最基础的函数内容,延伸出函数的高级用法.此文非科普片~~ 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点 ...
-
开发技术--浅谈python数据类型
开发|浅谈python数据类型 在回顾Python基础的时候,遇到最大的问题就是内容很多,而我的目的是回顾自己之前学习的内容,进行相应的总结,所以我就不玩基础了,很多在我实际生活中使用的东西,我会在文 ...
-
Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
-
Android安全开发之浅谈密钥硬编码
Android安全开发之浅谈密钥硬编码 作者:伊樵.呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码.文件中,这样做会引起很大风 ...
-
GIS历史概述与WebGis应用开发技术浅解
声明:本篇在李晓晖的<杂谈WebGIS>,补充更多的资料说明.基于地图二次开发一直断断续续在做,这里算是补充一下基本功把.其实对于前端,WebGis开发都是api,抄demo,改.GIS深 ...
-
Android应用安全开发之浅谈加密算法的坑
<Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题 Android开发中,难免会遇到需要加解密一些数据内 ...
-
.net中对象序列化技术浅谈
.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ...
-
安卓开发_浅谈Android动画(四)
Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1. ValueAnimator 基本属 ...
-
python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
随机推荐
-
Myeclipse10下载,安装,破解,插件,优化介绍
一.Myeclipse10下载与破解 Genuitec 公司发布了MyEclipse 10,一款Genuitec旗下的商业化Eclipse集成开发工具的升级版本.MyEclipse 10基于Eclip ...
-
win7 ubuntu10.04双系统,重装win7后,修复双启动项
进入ubuntu的liveCD(即在试用ubuntu里),在终端里操作 首先要找到自己的ubuntu系统挂载在那个sda下面.可以用sudo fdisk -l 这个命令.然后: 1. sudo -i ...
-
Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现
简单三步实现图片无刷新上传:注意是上传,至于上传时的验证,比如图片的尺寸,大小,格式判断.限制等,自行解决. 兼容性想还不错:FF,CH,IE,猎豹,都是可以实现的.如果看到回显.当然就是成功了. 经 ...
-
《黄聪:手机移动站SEO优化教程》2、PC端和手机移动端SEO优化区别
视频地址:http://v.youku.com/v_show/id_XNzE2ODcxNjM2.html
-
sping_依赖注入的三种方式
1. set注入:通过setxxx()给属性赋值 <!--id是对象--> <!--class是类--> <bean id = "student" ...
-
Centos6与Centos7安装和使用htop
Centos6 安装 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm r ...
-
Laravel Eloquent 数据查询结果中日期的格式化
两种情况: 使用 Model 的查询 例如: $item = App\Models\Apple::first(); $date = $item->created_at->format('Y ...
-
vue 获取屏幕宽高 width height
/** * 获取屏幕宽高 */ Vue.prototype.getViewportSize = function(){ return { width: window.innerWidt ...
-
Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)
rosdep where-defined bullet sudo apt-get install libbullet-dev
-
Java不为人知的小秘密
Java中的main方法必须有一个外壳类,而且必须是静态的! Java中的所有函数都属于某个类的方法,所以main方法也不例外,必须放在一个类中才能编译运行. 例如: public class tex ...