我在前面的文章提到了变量的概念,这里详细介绍下变量的命名。变量名,只能是字母、数字及下划线 "_" 任意组成,而且不能以数字开头。在命名变量时,尽量避免与系统关键词重名,如:'and','as','class','else'等等,这些关键词命名时,系统会直接报错,还有一些关键词使用时虽然不会报错,但是这些词的功能就会被自定义的功能给屏蔽掉,尽量避免这些行为。而以_开头的变量大多都有其特殊含义,尽量以字母开头命名。在命名时可以出现my_name ,MyName,myName这些方式,尽量使用下划线连接,这样会使阅读时更加方便。

而出现MY_NAME=KEN时,这种约定俗成的方式代表常量。常量,不变的量或在程序运行过程中不会改变的量。python中没有严格的常量语法,所有的量在运行过程中其实都能发生改变,只能自我保障不去改变,用全大写来定义变量值,这个是与其他的语言常量定义是不同的。

在python2与python3之间,输入与输出略有不同。同样使用input()输入,在python3中,所有的输入信息都会被转换为字符串存储;在python2中,输入前值的类型与输入后的类型是一致的,例如10就是数字, 'abc'就是字符串。值得注意的是,如果输入的是abc,默认将abc作为变量来解读,如果变量abc未定义就报错。python2中raw_input()与python3的input()效果是一样的。在输出方面,同样输出值为10,py3中print(10),而在py2中有两种:print(10)与 print 10。

注释,不会被python解释器解释执行,是提供给开发者阅读代码的提示。单行注释: # 开头的语句。多行注释:出现在文件最上方,用'''    '''包裹的语句。在pycharm里,多行注释也可以在每句前头都用#,快捷键为ctrl+/。

今天还了解了各种的数据类型,首先先列出整型。整型,int。在py2中,数据量小的整型用int存储,数据过长用long类型存储;在py3中,long类型被遗弃,所有整型都用int存储。在py3中还有个优化机制,当数据量过大时,采用字符串存储处理,如果需要运算,可以直接拿来运算,其在计算过程并不会出错。浮点型,float。通常用来存放小数。布尔类型,bool。在bool类型中,就两个值True与False,主要用于逻辑判断。计算机就是基于这个可以判断结果的不同,来执行不同的动作。字符串类型,str。在python中,加了引号的字符都被认为是字符串,在input()输入结果后得到的值也是字符串。此处,引出%s字符串占位符,%d数字占位符。

name = input('name: ')
age = input('age: ')

info = """信息:
name: %s
age: %s"""% (name, age)

print(info)    用此代码就可以实现将用户的信息输入并列出来拉。

列表类型,list。list,变量名 = [多个值,之间用,隔开],列表能存放多个值,但多个值只能通过索引(index)区分,但是index没有语义。举例,ls=[3, 1, 2],print(ls)就得到列表整体,在此类型里,是通过index来访问具体的值,index从0开始编号逐次索引。而list的存放值的方式:如0号位的3,列表中存放的不是数字3,而是堆区中数字3开辟空间的地址。字典类型,dict。dict,dic = {'key': 'value'},{}是用来定义字典的语法,key是用来描述最终要访问的value值的,key对于开发者来说是已知的。在字典中,通过 dic[key]来访问key描述的值value。

计算机可进行的运算符有很多种,有算术运算符、比较运算符、赋值运算符、逻辑运算符等等。

1.算术运算符:+加 | - 减| * 乘| / 除| // 整除| ** 求幂| % 取余。举例:5+2=7,5-2=3,5*2=10,5/2=2.5,5//2=2 ,5**2=25 ,5%2=1。注:1.字符串和list可以做 + 和 *。2.有负数参与的取余:符号跟着 % 后面那个数。

2.比较运算符:> 大于| < 小于| == 等于| != 不等于| >= 大于等于| <= 小于等于。注:1.运算结果为bool类型, print(3 > 5),False。2.可以连比,num = 10,print(1 < num < 20),True。

3.赋值运算符:+= | -= | *= | /= | %= | **= | //= | = 。举例:a = 10,a += 1 # a = a + 1 => 11;a -= 1 # a = a - 1 => 9。  注: 1.链式赋值 a = b = c。

2.交叉赋值

x = 10
                           y = 20
                           x, y = y, x
                          print(x, y)

20,10

3.解压赋值ls = [3, 1, 2]   ;a, b, c = ls

_, _, g = ls或*_,g = ls    #g 存放2,其他标示不接收,_是合法的变量名,会接收值,但我们认为_代表该解压位不用接收,用_来接收表示。

4.逻辑运算符:and  |  or  |  not。1.and: 左右都成立才成立,有不成立的就不成立。 2.or: 左右都不成立才不成立,有成立的就成立。3.not: 成立则不成立,不成立则成立。注:res = 0 and 20;print(res);0。

res = 10 or 20;print(res);10。

res = 10 or 20 and 0 ;print(res);True # and 优先级高于 or。

初学python之路-day03的更多相关文章

  1. python之路:Day03 --- Python基础3 >>函数

    本节内容 1.函数基本语法及特性 2.参数 3.局部变量与全局变量 4.返回值 嵌套函数 5.递归 6.匿名函数 7.高阶函数 8.内置函数 一.函数基本语法及特性 区别 面向过程编程:根据业务逻辑从 ...

  2. 初学python之路-day12

    本篇补上字符串的比较:按照从左往右比较每一个字符,通过字符对应的ascii进行比较 一.函数默认值的细节 # 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被确定为当时变量存放的值 a ...

  3. 初学python之路-day10

    基础部分先告一段落,今天开始学习函数. 一.函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数         -- 现实中:很多问题要通过一些工具进行处理 => ...

  4. 初学python之路-day08前期总结

    # 1# 计算机原理:控制器 运算器 存储器 input设备 output设备 IO流# 三大核心:CPU 内存 硬盘 # 内存分布:栈区 与 堆区# 如二进制与十进制的转换,如1111转成十进制为1 ...

  5. 初学python之路-day08

    #学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...

  6. 初学python之路-day07-字符编码

    今天的博客主要关于字符编码,并对前几天学习的数据类型做些总结. 学习字符编码的目的:解决乱码问题. 应用程序打开文本文件的三步骤  1.打开应用程序  2.将数据加载到内存中  3.cpu将内存中的数 ...

  7. 初学python之路-day04

    每天一篇总结,今天学习的是有关于流程控制的知识. 流程控制,顾名思义,在计算机运行中,程序是被某种控制方式按照某种流程或者规律来执行的.而python程序的运行,肯定也是按照某种规律在执行.这些规律可 ...

  8. 初学python之路-day02

    python,诞生于1989年的圣诞,Guido van Rossum为了打发无聊,因此发明了python,并且开放了其源代码,使得这门语言在随后的几十年的发展的越来越广.现今,2.x版本已经在2.7 ...

  9. 初学python之路-day01

    第一天学习python,先了解到了进制之间的转换关系. 如二进制与十进制的转换,如1111转成十进制为15,1111从左向右可看出2^3+2^2+2^1+2^0为8+4+2+1=15.记住前8位1的二 ...

随机推荐

  1. Educational Codeforces Round 62 (Rated for Div. 2) - C Playlist

    当时题意看错了...不过大致思路是对的,唯一没有想到的就是用优先队列搞这个东西,真是不该啊... 题意大概就是,有N首歌,N首歌有两个东西,一个是长度Ti,一个是美丽值Bi,你最多可以选择K首歌, 这 ...

  2. Neutron local network 学习

    local network 的特点是不会与宿主机的任何物理网卡相连,也不关联任何的 VLAN ID.   对于每个 local netwrok,ML2 linux-bridge 会创建一个 bridg ...

  3. OpenStack-Neutron(5)

    一. Neutron 概述 SDN(software-defined networking)软件定义网络,其所具有的灵活性和自动化优势使其成为云时代网络管理的主流. Neutron的设计目标是实现“网 ...

  4. EntityFramework优化:查询WITH(NOLOCK)

    1.SQL Server查询中WITH(NOLOCK) SELECT语句中加上WITH(NOLOCK)为解决阻塞死锁. 处理数据库死锁异常查询的一种方式是使用NOLOCK 或 READPAST. ◊  ...

  5. https://oi-wiki.org/

    OI网站 https://oi-wiki.org/

  6. Django 模板系统

    Django模板系统 常用语法 {{}} 变量相关 {%%} 逻辑相关 变量 格式 {{ 变量名 }} 命名规则 包括任何字母数字以及下划线 ("_")的组合 变量名称中不能有空格 ...

  7. react native环境搭建与生命周期

    1.搭建开发环境 英文文档:http://facebook.github.io/react-native/docs/getting-started.html 中文文档:https://reactnat ...

  8. openCV 3.0 Ubuntu下编译问题

    1.有个ipptv啥的东西下布下来,去官网下载放到相应目录 2.把编译器降级到5版本才能编译

  9. Linux下安装部署Samba共享盘的操作手册

    简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...

  10. Ansible安装部署以及常用模块详解

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...