python基础

本文主要记录和总结在学习和使用python过程一些基础知识

1.缩进代替花括号,注意利用编辑器的自动缩进功能

x=50
y=20
if x>100:
    y=x+20
else:
    y=x-20

2.单行注释和多行注释

#这是单行注释,快捷键ctrl+/
'''
多行注释第一种方法
第一行注释
第二行注释
'''
"""
多行注释第二种方法
第三行注释
第四行注释
"""

3.基本输入

x = input("请输入x")

4.输出

x=100
print(x,1,'ab') #输出多个默认用空格隔开
#输出结果:100 1 ab
print(x,1,'ab',sep='--')#用sep参数指定分隔符号或字符串
#输出结果:100--1--ab

5.输出到文件

file1 = open('test.txt','w')
print(1,'ab',file=file1)
file1.close()
open('test.txt','r').read()

6.数字

print(0b101,0o734,0xec3)
#输出结果:5 476 3779

# int函数可以用于转换进制,第一个参数为整数字符串 ,第二个参数表示进制
print( int('111'),int('111',2),int('111',8),int('111',16),int('111',5) ) 
#输出结果:111 7 73 273 31

# 内置函数bin(x)、oct(x)和hex(x)用于将整数转换为对应进制的字符串
print(bin(50),oct(50),hex(50))
#输出结果: 0b110010 0o62 0x32

7.浮点

x=3.4
y=0.17e+10
z=1.92e-3
i=.3
j=3.
print(x, y, z, i, j)
#输出结果:3.4 1700000000.0 0.00192 0.3 3.0

8.复数

c1 = complex(3,2)
c2 = complex(4,3)
c3 = 3+2j #也可直接这么写
print( c1, c2, c1*c2, c2-c3 )
#输出结果:(3+2j)  (4+3j)  (6+17j)  (1+1j)

9.布尔类型以成为Python的一种正式的数据类型。布尔类型有两个值True和False,

 分别用于表示逻辑真和逻辑假。True和False是两个预定义的内部变量。

 从面向对象的角度看,bool类型是int类型的子类,True和False是bool类型的实例

print(type(True))   # type() 返回输入的变量类型
print(True+3)
print(isinstance(True,int)) # isinstance(object,type) 来判断一个对象是否是一个已知的类型
print(True is 1)

#结果:
"""
<class 'bool'>
4
True
False
"""

10.数值的自动转换

 在遇到不同类型的数字参数运算时,Python总是将简单的类型转换为复杂的类型

print(2+3.5,type(2+3.5))
print(2+3.5+(2+3j),type(2+3.5+(2+3j)))

#结果:
"""
5.5  <class 'float'>
(7.5+3j)  <class 'complex'>
"""

11.真除法/和floor除法 //以及求余(模运算)

5//2,5/2,5%2,10%6
#2, 2.5, 1, 4

12.位运算和移位运算

# & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
# | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
# ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
# ^ 按位异或运算符:当两对应的二进位相异时,结果为1
# << 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
# >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
print(~5,4^5,-4^5)
print(1<<2,-1<<2,8>>2)
"""
-6 1 -7
 4 -4 2
"""

13.比较和连续比较

a=0;b=4;c=5
2 >3,a < b < c,a< b >c #相当于 a<b and b>c
"""
False, True, False
"""

14.小数

# 因为计算机中硬件限制,浮点数有一个缺点就是缺乏精确度
# 大多数的float型数值并不能以精确的形式在计算机中表示出来,
# 只能以十分接近原数值的形式储存,因此在计算过程中会出现小的误差。
print(0.3+0.3+ 0.3) #0.8999999999999999
0.3-0.1-0.1         #0.09999999999999998

15. 数学函数

a=5
print( abs(-5),max(1,3,7,2),sum({3,4,7}),pow(3,2),round(1.56),round(1.49),eval('a*a+1') )
import math
math.pi, math.e, math.inf,math.sqrt(9.7), math.ceil(2.3),math.floor(2.3)
"""
5 7 14 9 2 1 26
3.141592653589793, 2.718281828459045, inf, 3.1144823004794873, 3, 2
"""

16.is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等

x = 5
y = 5
print(x == y)
print(x is y)
print(id(x)) #id() 函数用于获取对象的内存地址
print(id(y))

x = (1, 2, 3)
y = (1, 2, 3)
print(x == y)
print(x is y)
print(id(x))
print(id(y))
"""
True
True
1543528736
1543528736

True
False
1724058837784
1724058750624
"""

17.序列赋值

#元组、列表赋值
x,y=5,10
x,y=(5,10)
x,y=[5,10]
print(x,y)
#字符串赋值
x,y,z='abc'
print(x,y,z,type(x),type(y))

"""
5 10
a b c <class 'str'> <class 'str'>
"""

18.变量名前用*号的情况

x,*y=1,2,3,4,5,6,7
print(x,y)
x,*y,z=3,6,9,12,15
print(x,y,z)
"""
1 [2, 3, 4, 5, 6, 7]
3 [6, 9, 12] 15
"""

19.变量共享引用后的情况

x = [1,2,3]
#共享数据
y=x
print(x,y)
x[0]=99
y[1]=88
print(x,y)

#使用copy则会复制一份数据
a=[1,2,3]
b=a.copy()
a[0]=99
b[1]=88
print(a,b)
"""
[1, 2, 3] [1, 2, 3]
[99, 88, 3] [99, 88, 3]
[99, 2, 3] [1, 88, 3]
"""

 end

 

原文地址:https://www.cnblogs.com/vijing/p/10536733.html