初学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的二 ...
随机推荐
- C#while死循环时候cpu占用比例大
C#while死循环时候cpu占用比例大 原因:线程等不到释放,windows运行模式是抢占资源 解决方法:休眠一毫秒让垃圾回收可以进来回收资源 while (true) { Thread.Sleep ...
- nginx代理部署Vue与React项目
nginx代理部署Vue与React项目 一,介绍与需求 1.1,介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由 ...
- CKEditor 4.5 filetools, XHR.withCredentials = true,
var editor = CKEDITOR.replace( 'editor1', { extraPlugins: 'uploadimage,filetools', imageUploadUrl: ' ...
- 返回通知 对方法返回的结果可以进行加工 例如请求接口后 返回的json参数可以加工成对象返回给调用者
- TsinsenA1221 大楼【矩阵快速幂】
题目分析: 重新定义矩阵运算,$*$等价于$+$,$+$等价于$max$. 然后倍增一下,再二分一下. 代码: #include<bits/stdc++.h> using namespac ...
- [欢乐向]JavaScript之如何逼疯你的同事
https://javascript.info/ninja-code
- SQL Server 2008还原数据库时出现“备份集中的数据库备份与现有的数据库不同”的解决方法
引言 现在在做项目,由于每个人是分模块的,所以大家的测试数据都不同步,导致好多时候会因为别人填的数据不同而调半天的错.所以我还是自己还原一个数据库,自己填自己的数据吧. 报错 之前还原过很多个数据库都 ...
- 微信小程序之 3d轮播(swiper来实现)
以前写过一篇3d轮播,就是这篇,使用的方法比较笨拙,而且代码不简洁.这次发现swiper也能实现同样的效果.故记录一下. 先看看效果: wxml: <swiper previous-margin ...
- postgres 基本操作
登陆: $ psql -U <user> -d <dbname> 数据库操作: $ \l //查看库 $ \c <dbname> //切换库 // ...
- 横向滚动布局 white-space:nowrap
float + 两层DOM实现 html <div class="container"> <div class="div1 clearfix" ...