初学python之路-day03
我在前面的文章提到了变量的概念,这里详细介绍下变量的命名。变量名,只能是字母、数字及下划线 "_" 任意组成,而且不能以数字开头。在命名变量时,尽量避免与系统关键词重名,如:'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的更多相关文章
- python之路:Day03 --- Python基础3 >>函数
本节内容 1.函数基本语法及特性 2.参数 3.局部变量与全局变量 4.返回值 嵌套函数 5.递归 6.匿名函数 7.高阶函数 8.内置函数 一.函数基本语法及特性 区别 面向过程编程:根据业务逻辑从 ...
- 初学python之路-day12
本篇补上字符串的比较:按照从左往右比较每一个字符,通过字符对应的ascii进行比较 一.函数默认值的细节 # 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被确定为当时变量存放的值 a ...
- 初学python之路-day10
基础部分先告一段落,今天开始学习函数. 一.函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数 -- 现实中:很多问题要通过一些工具进行处理 => ...
- 初学python之路-day08前期总结
# 1# 计算机原理:控制器 运算器 存储器 input设备 output设备 IO流# 三大核心:CPU 内存 硬盘 # 内存分布:栈区 与 堆区# 如二进制与十进制的转换,如1111转成十进制为1 ...
- 初学python之路-day08
#学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...
- 初学python之路-day07-字符编码
今天的博客主要关于字符编码,并对前几天学习的数据类型做些总结. 学习字符编码的目的:解决乱码问题. 应用程序打开文本文件的三步骤 1.打开应用程序 2.将数据加载到内存中 3.cpu将内存中的数 ...
- 初学python之路-day04
每天一篇总结,今天学习的是有关于流程控制的知识. 流程控制,顾名思义,在计算机运行中,程序是被某种控制方式按照某种流程或者规律来执行的.而python程序的运行,肯定也是按照某种规律在执行.这些规律可 ...
- 初学python之路-day02
python,诞生于1989年的圣诞,Guido van Rossum为了打发无聊,因此发明了python,并且开放了其源代码,使得这门语言在随后的几十年的发展的越来越广.现今,2.x版本已经在2.7 ...
- 初学python之路-day01
第一天学习python,先了解到了进制之间的转换关系. 如二进制与十进制的转换,如1111转成十进制为15,1111从左向右可看出2^3+2^2+2^1+2^0为8+4+2+1=15.记住前8位1的二 ...
随机推荐
- Yesterday when I was young
Somehow, it seems the love I knew was always the most destructive kind 不知为何,我经历的爱情总是最具毁灭性的的那种 Yester ...
- deb包转化为rpm包
deb文件格式本是ubuntu的安装文件,那么我想要在fedora中安装,需要把deb格式转化成rpm格式,我们用skype举例: 1.下载转换工具alien_8.78.tar.gz 2.deb转化成 ...
- JS-JAVASCRIPT的eval()方法
Lodop的传统模版是JS语句,如果储存的这种JS模版,可用javascript的eval()方法获取,该方法属于JS的范畴,并不是lodop语句,由于这个方法很多程序员可能不常用,对于这个JS方法不 ...
- fullpage.js参数参考
fullpage函数里面的参数: //Navigationmenu: false,//绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动,默认为false.anchors:['fir ...
- libavcodev may be vulnerable or is not supported, and should be updated for play video
media.libavcodec.allow-obsolete
- [BZOJ 3110] [ZJOI 2013] K大数查询
Description 有 \(N\) 个位置,\(M\) 个操作.操作有两种,每次操作如果是: 1 a b c:表示在第 \(a\) 个位置到第 \(b\) 个位置,每个位置加入一个数 \(c\): ...
- [洛谷P4234] 最小差值生成树
题目类型:\(LCT\)动态维护最小生成树 传送门:>Here< 题意:求一棵生成树,其最大边权减最小边权最小 解题思路 和魔法森林非常像.先对所有边进行排序,每次加边的时候删除环上的最小 ...
- opencv 增强现实(一):特征点检测
import cv2 as cv import numpy as np def draw_keypoints(img, keypoints): for kp in keypoints: x, y = ...
- [WC2018]通道
题目描述 http://uoj.ac/problem/347 题解 解法1 求三棵树的直径,看起来非常不可做,但是所有边权都是正的,可以让我们想到爬山. 所以我们可以按照BFS求树的直径的方法,随机一 ...
- centos6/7安装java和maven
下载安装包并解压到相关目录即可 编辑环境变量vim /etc/profile.d/maven.sh export JAVA_HOME=/app/soft/java-1.8.0_181 export J ...