还是小白篇/阿里天池龙珠计划python训练营Day1-base

变量,运算符和数据类型

    • 1 注释
    • 2 比较运算符号
    • 3 逻辑运算符
    • 4 三元运算符
    • 5 其他运算符
    • 6 变量和赋值
    • 7 数据类型与转换
    • 8 print()函数

1 注释

1 python 中#用于注释整行注释,可以使用快捷键Ctrl+/ 进行单行注释
2多行注释 一般用‘’‘’‘’ 三个引号三个引号隔开的这种形式

‘``python
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
这是多行注释,用三个双引号
"""

``

2 比较运算符号

首先比较运算符,返回的是布尔值,什么是布尔值就是Ture 和 False 相当于一个判断语句,比较的双方是否成立

print(2 > 1)  # True大于
print(2 >= 4)  # False大于等于
print(1 < 2)  # True小于
print(5 <= 2)  # False小于等于
print(3 == 4)  # False等于
print(3 != 5)  # True不等于

这里需要着重强调的是:等于,比较运算符的等于是双等号

3 逻辑运算符

与或非:and 两个都成立返回Ture 否则返回False
or 有一个成立则返回Ture
not 非 括号里 是Ture 返回False
反之返回Ture

4 三元运算符

if 条件判别(一元):
二元
else:
三元

x, y = 4, 5
if x < y:
    small = x
else:
    small = y

print(small)  # 4

5 其他运算符

还是小白篇/阿里天池龙珠计划python训练营Day1-base_第1张图片

a = 'hello'
b = 'hello'
print(a is b , a == b)#返回的都是True
print(a is not b , a != b)#返回的都是False
因为字符串(str)是不可变类型所以他的内存地址和值都是相同的, 在不可变类型中 两者是等价的

但是我们来看看可变类型比如列表:

a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
因为isis not 是比较的内存地址,这两个列表是不一样的两个列表,尽管内容一样,但是因为是两个变量所以存储在不同的内存地址中,但是他的值是一样的
print(a is not b, a != b)  # True False
== 和 != 对比的是两个变量的值所以这里a!=b 
返回的是False


接下来我们看看运算符的优先级
一元运算符:运行的时候只需要一个操作数
二元运算符:俩操作数
(1)一元运算符优先于二元运算符比如说:
2 ** -3 == 2 **(-3)
(2)算术运算比如说加减乘除在先 ,下来时移位运算,最后是二进制的位运算1 << 3 + 2 & 7 == (1 << (3 + 2)) & 7
(3) 逻辑运算符 and or not 最后计算例如:
5+6<10 and 6+7<14 == (5+6)<10 and (6+7)<14

6 变量和赋值

1 在使用变量之前,需要对他进行赋值
2 变量名可以包含字母,数字,下划线,但是变量名不能一数字 下划线开头。
3 python 变量名大小写是敏感的:Str != str
4常见的变量命名方式有小驼峰,大驼峰,下划线命名法(这个方法的具体名字不知道哈哈)
小驼峰:newVariable :最后一个字符的第一个字母大写,一般用于标识变量
大驼峰:NewVariable : 每一个字符的首字母都大写, 一般用来对 类 , 函数 ,属性 进行命名 (后面再说)
无名下划线大法:new_variable

当你给变量赋值之后 , 你就可以使用变量进行操作了,

Flrst = 3 
Second = 4
Third  =  First ** Second 
print(Third)
81
myTeacher = "老马的程序人生"
yourTeacher = "小马的程序人生"
ourTeacher = myTeacher + ',' + yourTeacher
print(ourTeacher)  # 老马的程序人生,小马的程序人生

7 数据类型与转换

int 整型 10 2 3 32424
float 浮点型 10.1 2.3
bool 布尔型 Ture False

int = 32
print(a,type(a))#type  打印变量的类型
1031 <class 'int'>

python 中万物皆对象,只要是对象,就会有相应的属性和方法

b=dir(int)# dir  用来查看对象的属性和方法
print(b)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']

这么多方法如何用有哪些参数,具体的用的时候查文档就行了,看一个bit_lengeh()
的例子把,

a = 1031
print(bin(a))  # 0b10000000111
print(a.bit_length())  # 11
找到一个整数的二进制表示,再返回其长度
print(abs(a))#返回对象的绝对值
**```
浮点型**
什么是浮点型  有小数点的就是 , 可以这么理解 不一定非得是小数 看个例子
```python
print(type(1))
print(type(1.))
<class 'int'>
<class 'float'>

如果我们想保留浮点型的小数点的后n位 有已下几种方法,
可以import decimal 包里面的Decimal对象和getcontexe()方法来实现, 这个方法主要是调整精度的,比如说我们要调整精度位3 也就是保留3 位

import decimal 
from decimal import Decimal
decimal.getcontext().prec=3# 调整精度是3 
c= Decimal(1)/Decimal(3)
print(c)
0.333

上述的方法有些麻烦, 如果我们仅仅是需要四舍五入的话,可以使用格式化输出 format 函数

1
print('{:.xf}'.format(1/3))#这里面的x就是你想要保留的位数
print('{:.3f}'.format(1/3))
0.333
#或者可以第二种格式,不使用占位符:
print(format(1/3,'.3f')
0.333

一般我们建议使用占位符,因为占位符可以同时输出多个,后者一次只能输出一个:

print('{:.3f} {:.4f}'.format(1/3,1/3))  #同时输出多个
0.333 0.3333

还有一种就是另一种格式化输出的方法,百分号占位符的方法基本和上述的相同只是形式不同

print('%.3f' % (1/3))
0.333

布尔型
上面提到了布尔型,只能取两个值True 和 False 还可以用bool(X)来创建变量,当X是0 0.0 空列表 空元组 空字典 的时候返回 False 其他都是Ture

print(not bool(0))复习一下上面的逻辑运算符not 所以返回的是Ture
Ture
print(type(''), bool(''), bool('python'))#空字符串
#  False True

print(type(()), bool(()), bool((10,)))#空元组
#  False True

print(type([]), bool([]), bool([1, 2]))#空列表
#  False True

print(type({
     }), bool({
     }), bool({
     'a': 1, 'b': 2}))#空字典
#  False True

print(type(set()), bool(set()), bool({
     1, 2}))#空集合
#  False True

对于数值变量,0 0.0都可以认为是空的
对于容器变量,里面没有元素就是空的
那么特殊的 bool(True)又会返回什么结果呢

print(bool(True))
print(bool(False))
True 
False 

在我们用bool类型去进行数字运算的时候,1和0 分别代表True 和 False

print(True + False)
2

如何获取类型信息
使用type或者isinstance

print(isinstance(1,int))1,是否是整型如果是返回True
True

类型转换
int(x,base=10) base=10 代表默认10进制
str(object=’ ') 对象
float(x)

print(int('520'))  # 520
print(int(520.52))  # 520
print(float('520.52'))  # 520.52
print(float(520))  # 520.0
print(str(10 + 10))  # 20
print(str(10.1 + 5.2))  # 15.3

8 print()函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
1 关键字参数sep 是实现分隔符,比如多个参数输出时想要输出中间的分割字符:
print('I' , 'love python' ,sep=',')
print('I' , 'love python' )
I,love python
I love python
2关键字参数end是输出结束时候的字符默认是换行符/n 就是python在输出完一个解释的时候会默认换行
List=[1,2,3,4,5]
for item in List:
    print(item)
这个循环会把列表里面的每一个元素都遍历出来,但是他的输出会是 
1
2
3
4
5
这就是所说的没输出一个解释会自动换行,这时候我们可以调整end参数 
for item in list:
    print(item,end=' ')#以空格为输出后的结束符
这样他的输出就变成了
1 2 3 4 5 

总结:sep参数是在一次输出解释中,不同对象之间的分隔符,而 end 参数是在多次输出之间的分隔符

你可能感兴趣的:(Python入门,python)