python基础知识点
强类型语言
Python是强类型的语言,如果语言经常隐式地转换变量的类型,那这个语言就是弱类型语言,如果很少会这样做,那就是强类型语言。而Python很少会隐式地转换变量的类型
REPL
是四个单词的缩写
是read (读),evaluate(计算),print(输出),Loop(返回)
“读取-求值-输出”循环(英语:Read-Eval-Print Loop,简称REPL)是一个简单的,交互式的编程环境
常用函数
printf()
在python中是用%号可以进行字符串的拼接,这个跟print函数是无关的。以下进行举例
打印字符串
msg = "i am %s,my blogs is %s" % ("CodeScrew","www.cnblogs.com/codescrew")
print(msg) #结果为
#msg = "i am %s,my blogs is %s" % ("CodeScrew","www.cnblogs.com/codescrew")
打印浮点数
msg = "i am %0.2f m" %1.785
print(msg) #打印结果为i am 1.78 m
打印百分比
msg = "it is %0.2f %%" % 99.852
print(msg) #打印结果为it is 99.85 %
使用键值对进行拼接
msg = "i am %(name)s.my age is %(age)d" % ({"name":"CodeScrew","age":23})
print(msg) #打印结果为i am CodeScrew.my age is 23
数据类型
int 整形
long 长整型
float 浮点
String 字符
complex 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
Boolean 布尔类型 (True,False) //必须要大写
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
注意点
字符串相加的时候会自动拼接
int() //内置函数转换成整形,boolean会自动转换成1与0
float() //自动转换成浮点
num=1_000_000 //这样赋值输出的时候,依旧会输出1000000
其他语言常用的++,--不能用可以使用i+=1这样的形式
如果赋值中有单引号要加反斜线转义(name='132'123')
运算符
2+2 加,也可以作为连字符使用
2-2 减
2/2 除
2*2 乘,对字符串的时候也能输出对应的次数,如果乘负数字符串会变成空
2**2 平方
4//2 除法得到整数,保留之后不会进行四舍五入
列表
类似于php的数组
使用方式 list=[1,23,4,True,'12']
可以存放整形,字符串,布尔值等等
list[0]访问第一个元素,list[-1]获取最后一个元素
list.append()像数组之中添加数据,默认放在最后一个,php中是list[]=9;就可以直接追加元素
list.pop() 删除最后一个元素,返回删除元素的值,会打印在cmd上
函数
def test(): #定义函数
print('hello my website url is tongpan.com') #函数体
test() #调用函数
传参
blockchian=[1]
def add_value(money):
blockchian.append([blockchian[-1],money])
print(blockchian)
add_value(3)
add_value(4)
add_value(5)
return 返回一个值
编程习惯多个下函数直接回车隔开
def sum(a,b=2): #如果这里传入了参数则按照传入的参数,如果没有传入参数,则b的值为2
c=a+b
return b
print(sum(1,3))#和形参必须一一对应print(sum(1))这样的写法是错误的
#也可以这样使用
def greet(name,age):
print('大家号我是:'+name+'我今年'+age)
greet(age='28',name='tongpan')
作用域
函数外部无法使用内部的值
name='tsuiyi'
def get_name():
name=input('请输入您的名字')
get_name()
print(name)
可以通过定义常量的方式
global data
来解决这一问题
name='tsuiyi'
def get_name():
global name
name=input('请输入您的名字')
get_name()
print(name)
这样一来就会输出用户输入的值
循环
遍历数组
for循环
block=[13,3312,3123]
for data in block: #每次拿到元素之后赋值给block
print(data)
range()函数
python range() 函数可创建一个整数列表
range(start, stop[, step])
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
配合for使用
for i in range(1,9):
print(i)
while循环
while True:
print(213)
if判断
a=2
if(a==1):
print(True)
else:
print(False)
也可以这么写
a=2
if a==1:
print(True)
else:
print(False)
配合elif使用
a=3
if a==1:
print(True)
elif a==3:
print('a=3')
break
else:
print(False)
break和continue
python中没有switch循环
1.break
意思为结束循环
例:
i = 0
while i<10:
i+=1
if i==5: #当i=5时,结束整个循环
break
print("i=%d"%i)
代码效果:
i=1
i=2
i=3
i=4
.continue
意思为结束当前循环进入下一个循环
例:
i = 0
while i < 10:
i += 1
if i==5: #当i=5时,结束当前循环进入下一个循环
continue
print("i=%d"%i)
代码效果:
i=1
i=2
i=3
i=4
i=6
i=7
i=8
i=9
i=10
以上循环没有i=5
比较运算符 is和in
1==1 #返回True
1=='1' #返回False
1 is 1 #返回True
data=[1,2,3]
data==[1,2,3] #返回True
test_data=[1,2,3]
data is [1,2,3] #返回False,因为这俩个在内存当中不数据,is是比较这俩个对象是不是同一个对象
1 in data #返回True
a=1
a is 1 #返回True
data is not test_data #返回True相似于非号的作用不能喝等号同时使用
1 not in data #返回False
python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动
and和&&类似,or和||类似
>>> 10>9 and 1>9
False
>>> 10>9 or 1>9
True