python 变量名

在python中的变量命名,与其他语言大体相似,变量的命名规则如下:

  • 变量名是数字、字母、下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 系统的关键字不能设置为变量名   

Tip: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'】

 在设置变量的时候,一定要注意变量的命名尽量要有意义,而且站在兼容的角度来讲,应该让变量尽量避免中文,虽然在python3中中文变量可以解析。

 同时,在python,不存在什么关键词可以设置常量,但是约定俗成的是如果需要将一个值定义为常量,那么就将变量的单词大写。

python 字符编码问题

在python3中,默认支持unicode中文编码,但是在python2中则不支持中文编码,所以也就不能够直接使用中文。如果贸然的在变量中或者

其他情况下使用中文,就会被抛出错误。所以应该在代码的初始位置进行编码的设置,引入编码。

如:

  

# -*- coding: utf-8 -*-

而在python3中则不需要设置这样的代码。

python 注释

 在python中,注释分为单行注释和多行注释。

单行注释是一个单独的#,如下:

  

 # 这里是单行注释 

多行注释在python中是三个引号来完成,单引号或者双引号都可以。以三个引号开始和结束,如下:

'''
这里是多行注释
'''

多行原样输出


在python中,三个引号除了可以起到多行注释的作用以外,还可以起到多行原样输出的作用。

msg = '''
this is test
hello,world
''' print(msg)

输出的效果如下:

python中引号的问题


在python中,并不存在如PHP中的解析差异,二者并没有什么显著的区别,但是需要注意的是,如果一个字符串使用了单引号,那么在单引号里面

就不能够使用单引号,同样,如果使用了双引号,那么在双引号的里面就不能够使用双引号。

用户输入

需求,根据用户输入来进行输出,可以使用input方法。

代码如下:
user = input("username:")
password = input("password:")
#打印输出用户输入的账号和密码
print(user,password)

格式化输出

在上面的实例代码中,可以通过input 获取用户输入的内容,并且赋值给变量。
那么在实际的应用中,还存在另外一种需求:将用户输入的诸多信息格式化输出。
而应对这种需求我们就需要使用%S这样的一个占位符来进行设置。 具体代码如下:

  

在上面的实例中,虽然%s 的功能类似于占位符,但是实际上%s应该是字符串的意思。

那么常用的有如下:
%s 字符串
%d 数字
%f 浮点 但是需要注意的是,如果在上面的实例中,把%s 换成%d ,那么输入得内容就必须是数字。
但时在python中,用户所有的输入内容都默认为字符串类型,所以我们还需要在需要数字的地方将
字符串转为数字,我们可以使用int()方法转换。 Tip:需要注意的是,在python2.x 中,raw_input 等同于 python3.x 中的input方法。但时在python2.x中同样存
input方法,但是却和python3.x中的input方法是不同的,在3.x中,在输入值得时候,可以直接输入值,那么输入的
都会自动的变成字符串。
而在2.x中,输入值得时候,必须在值得外面加上一对引号,否则会被解析成变量。
格式化输出的第二种方式
采用变量赋值的方式可以实现第二种方式的格式化输出
代码如下:

  

第二种方式与第一种方式相比较,实现的功能是相同的,但是在某些时刻,却必须要使用第二种方式。

在第二种方式中,使用了format()方法,那么我们使用format()方法来实现格式化交互输出还可以变异成另外一种写法。

如下:

  

 Tip:在python中,实现格式化输出还可以使用+,通过字符串拼接来实现,但是却不是很推荐这种方式,因为我们上面的两种方式在内存只是开辟一份内存空间,而使用+来实现拼接却需要开辟出多个空间。

 

密码密文显示

在上面的python中,我们发现我们在输入密码的时候,显示的是明文,而我们实际需要的是密文,所以需要引入一下Python的内部模块。
代码如下:

Tip:需要注意的是,此时引入的模块是python内置的模块,需要使用import 引入才能使用,并且getpass模块不能够直接的在pycharm这种IDE内置的调试环境中解析,需要使用Cpython 。


流程控制语句

在python中流程控制语句并不是像其他语言一样,使用大括号来设置语句,而是通过强制的缩进来进行代码依赖关系的处理。

if ... else

例如流程控制语句中的if..else语句。
如下:

需要注意的是,在python中,在需要缩进的地方如果没有缩进,系统并不会没有反应,而是会抛出错误。这一点是非常需要注意的。也是和其他语言的区别。

当然,除了if..else 以外,还可以使用if .. elif .. else ..
如下:

while 循环

在流程控制语句中,除了if..else 以外,还存在while 循环以及其他的循环。

while循环实例如下:

当然,上面的代码也可以进行简单的优化:

根据上面的代码,如果当用户尝试三次之后,我们在其推出代码执行之后输出一句提示,可以进行如下的写法:

在上面的代码中,在while的最后配合了else,而while与else的搭配在其他语言中是不可行的,但是python却支持这种写法。

for循环


在python的流程控制中,与其他的语言一样,也存在for循环。

如下:

for i in range(10):
print("loop:",i)

我们上面的实例也可以改为for循环的写法,如下:

libai_old_age = 25
for i in range(3) :
guess_age = int(input("Guess age:"))
if guess_age == libai_old_age :
print("Yes,you got it")
break
elif guess_age > libai_old_age :
print("think smaller...")
else :
print("think bigger....")
else:
print('you have tried too many times...fuck off')

那么此时这段代码也是可以将for 和else搭配使用,但是和while..else 不同的是,for 的else分支是不会再break语句执行之后执行的,也就意味着,此段代码执行的效果,如果用户输入正确就不会输出else分支里面的内容。

在python的for循环中,还存在另外的一种用法,可以先来看下刚才的实例:

for i in range(10):
print("loop:",i)

输出的内容为0 - 9 ,而如果想要输出0,2,4,6,8等等双数,在python中,实现的远比其他语言方便。

for i in range(0,10,2):
print("loop:",i)

如上面这样,就可以非常简单的实现了双数输出。而不需要像其他语言一样,还要进行判断。


实例升级:

当用户猜了三次年龄之后,让用户手动的选择是否依旧继续,输入n,停止,回车继续。

如下:

break 和 continue

在上面的实例中,我们用到了break,当循环中出现break的时候,就会跳出整个循环,执行循环外面的后续代码,而在流程控制当中,除了循环以外还有另外一个关键词,也具有类似的功能,只不过不是跳出整个循环,而是跳出当前循环流程,它就是continue。

如下:

for i in range(0,20):
if i == 4:
print("I am 4......")
continue print("Loop:",i)

python基础 - 01的更多相关文章

  1. Python基础01

    Python基础 1.Python介绍 2.安装 3.Hello World程序 4.变量 5.用户输入 6.表达式if ...else语句 7.表达式for 循环 8.表达式while 循环 9.数 ...

  2. Python基础--01小项目体现的基础知识

    part1:猜拳游戏 #coding=utf-8 #当有汉语时可能编译器不认识,需要定义代码 ''' 多行注释 写这个程序是为了熟悉python的基本语法 这是第一个小例子包含简单的if判断,循环和输 ...

  3. python 基础 01

    什么是计算机? cpu: 计算机的大脑; 读写速度 3GHZ 内存: (为了提高利用率) 缓冲硬盘和cpu 硬盘: 机械硬盘读写速度70mb/s 计算机里面读写的内容都是01代码 二进制(计算机只认二 ...

  4. python基础01 Hello World!

    摘要:简单的Hello Word! python 命令行 如已经安装python,那么在linux命令行中输入 $python 将进入python.乱吼在命令行提示符>>>后面输入 ...

  5. 0527 python 基础01

    折行的处理 \>>> print "hi \... hello Lucy!"hi hello Lucy! 自然字符串,字符串加上r或R前缀指定>>&g ...

  6. 小小白的python之路------python基础01

    1. 不说python是啥了,百度一堆.,还是说说我学了啥 我说的是python3.5,其他的自己看着办 这个是下载链接啊,自己玩 https://www.python.org/ 我下载完成,使用py ...

  7. 1st,Python基础——01

    1 Python介绍 2 Python发展史 3 Python2 or 3? 4 Python安装 就不写了,各路大牛的博客都很详细. 5 Hello World程序 #!/usr/bin/env p ...

  8. python基础01—基础数据类型

    数据类型 单位换算 最小的单位为bit,表示一个二进制的0或1,一般使用小写的b表示 存储的最小单位为字节(Byte),1B = 8b 1024B = 1KB 1024KB = 1MB 1024MB ...

  9. Python基础01 集合

    初始化 # python3 # coding = utf-8 mylist = [] for item in range(10): mylist.append(item * 10 + 3) myset ...

随机推荐

  1. 新手介绍简单一下iOS开发中几种界面传值

    首先在处理iOS-UI中,也许在很多地方需要用到两种甚至多种不同界面之间的传值,相比这也是很多iOS入门成员头疼问题,同样作为新手的我在接触这类传值时候也一脸懵然,经过一段时间的研究,对于简单的传值有 ...

  2. java复习(7)---集合类、泛型

    本节主要结合用例讲述Java中Map类.Set类.List类如何使用. Java中有封装好的集合类,常用的有Map类.Set类.List类,简单说明一下他们的用法. List类,常用有ArrayLis ...

  3. SQL Server 中统计信息直方图中对于没有覆盖到谓词预估以及预估策略的变化(SQL2012-->SQL2014-->SQL2016)

    本位出处:http://www.cnblogs.com/wy123/p/6770258.html 统计信息写过几篇了相关的文章了,感觉还是不过瘾,关于统计信息的问题,最近又踩坑了,该问题虽然不算很常见 ...

  4. ThinkPHP 框架模型

     1 在MainController.class.php 控制器中有一个test的方法,同时还有一个deng的方法,我想在test方法中使用deng方法  表示为 <?php namespace ...

  5. 发送验证码(××s后重新发送)

    html: <input class="tel" type="text" name="tel" placeholder="手 ...

  6. oracle高效分页查询总结

    本文参考链接:http://blog.sina.com.cn/s/blog_8604ca230100vro9.html 探索查询语句: --分页参数:size = 20 page = 2 --没有or ...

  7. [ABP实战开源项目]---ABP实时服务-通知系统.发布模式

    简介 在ABP中,提供了通知服务.它是一个基于实时通知的基础设施.分为订阅模式和发布模式. 本次会在项目中使用发布模式来演示一个用户注册后,收到的欢迎信息. 发布模式 首先我们在领域层建立" ...

  8. C# Webclient 和 Httpclient如何通过iis authentication 身份验证。

    前言: 该博客产生的背景是客户那边有部署网站的方法是iis windows authentication身份验证,而系统中使用Webclient来调用别的系统的方法.在此情况下,原本可以使用的功能,都 ...

  9. openresty源码剖析——lua代码的执行

    上一篇文章中我们讨论了openresty是如何加载lua代码的 那么加载完成之后的lua代码又是如何执行的呢 ##代码的执行  在init_by_lua等阶段  openresty是在主协程中通过lu ...

  10. POJ1019-Number Sequence数学

    题目链接:http://poj.org/problem?id=1019 题目大意: 题目的意思很清楚了,就是把数字的每一位都当成是单个的字母来对待,然后求第i位的数是哪一个.(1<=i<= ...