1.python的注释

  python中为了使代码更容易被人看懂,提高团队开发效率,可使用注释。代码中的注释不加入编译中。

  注释有单行注释,如

#这是一段注释

  和多行注释:

'''
这是一行注释
'''

  当对代码的说明篇幅过大时,多用多行注释进行注解。

2.python的输入和输出

  1.python语言中的输入

  在解释器3.6版本中,输入函数input所输入的都会以字符串类型输出,而在2.7版本中,使用input输出需要先表明其数据类型,如下:

#3.6版本
input("输入")
#输入lzx后输出lzx
#2.7版本
input("输入")
#输入lzx后会报错

  可以看到在2.7版本中输入lzx后会报错,其工作流程是在输入lzx后,解释器会检索名为lzx的变量,再将其输出,而之前并未定义lzx变量,所以错误报告应该是检索lzx失败。所以要输入lzx首先定义变量a,在输出变量a的值即可,如下

a=‘lzx’
input('输入')
#输入a后输出lzx

  所以2.7版本和3.6版本的解释器input函数的区别在于3.6会将输入的东西自动转换成字符串类型,在2.7版本中也有一个函数可以将输入内容自动转换成字符串类型。

raw_input('输入')
#输入lzx后输出lzx

  所以得出结论2.7版本的raw_input等价于3.6版本的input。

3.格式化输出

  在python中,输出一串字符串常用print,如输出”我的名字叫 lzx ,我的爱好是 轮滑!“

print("我的名字叫 lzx 我的爱好是 轮滑!")

  然而如果lzx和轮滑在之前就以字符串的方式定义完成,如何输出呢,如下:

name='lzx'
hobby='轮滑'
print("我的名字叫"+name+"我的爱好是"+hobby)

  这样是不是很麻烦呢,所以python中有格式化输出的概念,使用%占位符,先占位后定义。如下

print("我的名字叫%s,我的爱好是%s"%(‘lzx’,‘轮滑’))

  除了字符串,占位符%d也可占数字类型的数据:

print("我的 年龄是%d岁"%18)

  值得注意的是,当一个字符串中有使用占位符后,之后的%都会被视为占位符,如

print("本公司的%s分公司股份上涨了%2"%'上海')

  此语句会出现报错,要使出现原句,可以在%前加一个%,就可获得真正的%。

4.python的数据类型

  1.int整型

  int型数据在日常编程时使用次数非常频繁,几乎处处可见,下面就定义了一个整型:

age=18

  2.float浮点型

  浮点型数据就是带有小数的数据,值得注意的是即使18.00这类的数据也是浮点型,不可等同于18。

balance=12.88
print(balance,type(balance))
#运行结果为
#12.88 <class 'float'>

  3.str字符串

  字符串的定义有三种:

#1.单引号
str1='我是字符串1'
#2.双引号定义
str2="我是字符串2"
#3.三引号定义
str3='''我是字符串3'''

  其中三引号定义的字符串和多行注释标记相同,于是python中规定,当三引号之前没有定义变量的视为注释。

  拥有多种字符串定义方式的目的是防止出现字符串中出现引号的情况。如

print('我的绰号叫'小李'')

  如果这样输出,结果会报错,因为解释器分别不出哪个是字符串哪个是引号,所以这里需要双引号的字符串定义方法

print("我的绰号叫'小李'")

  这样输出的结果才没有偏差。同理三引号是为了双引号的输出而存在,而且三引号可以写多行字符串。三引号可以是单也可以是双。

  4.list列表

  列表类似于C语言中的数组而优于数组,列表中可以存储的数据不仅仅是整型或浮点型,还可以存储字典,字符串甚至另一个列表,如

list=[1,2,'lzx',[1,18],{'name':'lzx','age':18}]

  在取数据的时候,列表中是由0开始计数,计算机中大部分的计数都是从0开始,由左向右依次为list[0],list[1],list[2],list[3],list[4]。

  5.字典

  字典也能存储多种且多个数据,并且和列表不同的是它可以对存储的数据进行说明,采用key:value存储方式。例:

my={
'name':'lzx',
'age':18,
'sex':'男',
'hobby':['轮滑','魔方'],
'you':{
'name':'none',
'age':'none'
}
}

  可以看到上面代码定义的字典”my“中定义了以字符串为关键字的成员,其中有各种数据类型,包括字典本本身在读取时和数列一样,例,我想要读取my中you字典里的name,如下:

print(my['you']['name'])

  检索的时候不再依据存储顺序,而是根据key值,而且字典中是无序存储。

  6.boolean布尔值

  布尔值指向的值只有两种True和False,非正即负,非对即错,他和整型数据一样可以被变量定义,这里不再过多讲解,举个栗子:

x=100
y=100
print(x==y)
print(x is y)

  其中==是判断其值是否相同是则输出布尔值True,is是判断id是否相同,也是输出布尔类型,以上结果输出两个true。

  *7复数

  复数是由实部和虚部组成,如同x=a+bi,其中a为实部,b为虚部,i的具体值为i^2=-1,

  在python中虚部的i被表示为j,所以定义一个复数如下:

a=2+3j
print(a,type(a))

  其输出结果为2+3j,complex,complex代表的就是复数类型的数据。

  复数中提供了两个函数以输出复数的实数部分和虚数部分,如下

a=2+3j
print(a.real,a.imag)

  输出结果为2.0和3.0。

  8.长整型lon

  在python3.6中没有长整型的概念。

  而在python2.7中可以以以下方式定义长整型,在定义int型变量时,只要达到long数据的定义条件时,即会自动转换成long类型,没有明确的定义过程。

a=12L

  输出类型为long。

5.运算符

  +,-,*,/这里不做太多介绍,值得注意的是/符号运算出的结果是带有小数点的

  //运算出的除法是不带有小数点的。

  %对除法运算取余。

  2**n 2的n次方

  !=不等于

  +=,-=,*=,/=等运算。

  (在字符串的比较规则中,是由其首个字符在ASCLL码表中的大小进行比较,如果相同,顺延到下一个字符)

  链式赋值

  x=y=z=10

  交叉赋值

  若要让x=10,y=20,两者的值交换,需要设置一个中间量temp,作为数据的中转

x=101
y=20
temp=0
temp=x
x=y
y=temp
print(x,y)

  在python中也有特定的方法交换其值

x=10
y=20
x,y=y,x

  解压赋值

  在列表的定义中,L=[1,2,3,4]

  将该列表分别定义为a,b,c,d的值,我们可以用这种方法

L=[1,2,3,4]
a,b,c,d=L
print(a,b,c,d)

  如果说其中b,c两个变量不需要,在python中公共规定使用_承接该数据

L=[1,2,3,4]
a,_,_d=L
print(a,d)

  输出结果为1,4,或者这种方法

L=[1,2,3,4]
a,*_,d=L
print(a,d)

  *_代替的就是整个列表的中间部分。

6.逻辑运算

  逻辑运算符有以下几种:

  与 and 只要有一个值为False,结果都为非

  或 or  只要有一个值为True,结果都为是

  非 not 将结果取反

day3_7.1的更多相关文章

随机推荐

  1. Educational Codeforces Round 76 (Rated for Div. 2)

    传送门 A. Two Rival Students 签到. Code /* * Author: heyuhhh * Created Time: 2019/11/13 22:37:26 */ #incl ...

  2. 浅谈浏览器解析 URL+DNS 域名解析+TCP 三次握手与四次挥手+浏览器渲染页面

    (1)浏览器解析 URL 为了能让我们的知识层面看起来更有深度,我们应该考虑下面两个问题了: 从浏览器输入 URL 到渲染成功的过程中,究竟发生了什么? 浏览器渲染过程中,发生了什么,是不是也有重绘与 ...

  3. 2019-2020-1 20199305《Linux内核原理与分析》第一周作业

    进入Linux的世界 1.何为Linux? Linux是一个操作系统. 2.Linux的由来 芬兰赫尔辛基大学的研究生 Linus Torvalds接触Unix时认为其费用不友好,决定自己开发一个操作 ...

  4. SP1716 GSS3 - Can you answer these queries III 线段树

    问题描述 [LG-SP1716](https://www.luogu.org/problem/SP1716] 题解 GSS 系列的第三题,在第一题的基础上带单点修改. 第一题题解传送门 在第一题的基础 ...

  5. tarjan图论算法

    tarjan图论算法 标签: tarjan 图论 模板 洛谷P3387 [模板]缩点 算法:Tarjan有向图强连通分量+缩点+DAGdp 代码: #include <cstdio> #i ...

  6. angular6 multipart/form-data Post

    一般情况下用的都是 第三种  然后碰到后台要求的是这种格式的数据 这时候我们就要修改一下我们的post 请求头,话不多说 直接上代码. 这样子的话 就ok啦!

  7. 暑期班--JAVA无敌课程---第一天-Day01-----Java基础

    1.Java发展历史 1.1Games Golsing Java创始人 2.What is JDK 3.记本本开发第一个Java程序 巴拉巴拉 巴拉巴拉 巴拉巴拉 巴拉巴拉 巴拉巴拉 巴拉巴拉 巴拉巴 ...

  8. 用Fastclick解决移动端300ms延迟问题

    移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击. 为了能够立即响应用户的点击事件,才有了FastClick. 用法: 引入fastclick. ...

  9. 14-认识DjangoRESTframework

    了解DjangoRESTframework 现在流行的前后端分离Web应用模式,然而在开发Web应用中,有两种应用模式:1.前后端不分离 2.前后端分离. 1.前后端不分离 在前后端不分离中,前端看见 ...

  10. operator ->重载是怎么做到的?

    https://stackoverflow.com/questions/8777845/overloading-member-access-operators-c struct client { in ...