python学习笔记
文章目录
python基础
python没有分号,python语法采用缩进的方式,这个是python跟c++比较大的一个区别
python输入输出方式:
输入: 用input()函数,input()返回的数据类型是str
输出:用print()函数,函数接收字符串,数字,表达式,多个字符串(中间用逗号间隔即可)
#example:
name = input()
print("hello, ",name)
python的注释方式:
用#进行注释
#这就是一段注释,下面输出such as
print("Such as")
对注释方式的约定
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。
在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
python的数据类型:
整数
python可以处理任意大小的整数,正常情况用十进制表示,
用二进制表示用0b前缀;转化为二进制用bin()
用8进制表示用0o前缀;转化为8进制用oct()
用16进制表示用0x前缀;转化为16进制用hex()
c= 5
print(c)
print(bin(c))
print(oct(c))
print(hex(c))
浮点数
浮点数就是小数,python的数没有大小的限制,不过一旦超出一定范围,会表示为inf(无限大)
注:整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。
整数运算永远是精确的原因:整数/整数结果为浮点数,是精确的;若是用//(地板除),可以只取整数部分。
字符串
字符串用单引号或者双引号括起来的文本;文本如果有’或者",用转义字符\来标志
字符串编码
python的字符串是用Unicode编码的,以Unicode表示的str通过encode()方法可以编码为指定的类型,要把bytes变为str,就需要用decode()方法
注:纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes
'ABC'.encode('ascii')
#输出应该是b'ABC'
b'ABC'.decode('ascii')
#输出应该是'ABC'
字符串转义
Python还允许用r’ str ’ 表示 ‘’ 内部的字符串默认不转义
Python允许用 ‘’’ … (注意… 后要空格) ‘’’ 的格式表示多行内容
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
print('\\\t\\')
#输出应该是\ \
print(r'\\\t\\')
#输出应该是\\\t\\
print('''aa
... bb
... cc''')
#输出应该是aa\nbb\ncc
字符串替换
可以用replace方法进行替换生成一个新的字符串,字符串因为是不可变对象,因此原字符串不变
a = 'abc'
b = a.replace('a', 'A')
print(b)
#输出Abc
print(a)
#输出abc
字符串格式化
Python中,采用的格式化方式和C语言是一致的
'Hello, %s' % 'world'
#输出'Hello, world'
另一种用format()方法,会用传入的参数依次替换字符串内的占位符{0}
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
#输出:'Hello, 小明, 成绩提升了 17.1%'
布尔值
一个布尔值只有true or false,可以用来表示状态,布尔值可以用 and 、or 和 not 运算
空值
空值用None表示
bytes类型
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
列表list
list是python内置的数据类型,list是一种有序的集合,list里面的元素的数据类型也可以不同
列表list的长度:
取List的长度用len()函数
列表list的插入:
1.用append方法可以吧元素插入list尾部
2.用insert方法可以插入指定位置;注:若指定位置超过list的长度,会插入到最后一个位置
a = ['a','b']
a.append('c')#
print(a)
#输出:['a', 'b', 'c']
a.insert(4,'e')
print(a)
#输出:['a', 'b', 'c','e']
列表list的删除:
用pop()方法可以删除list末尾的元素,pop(i)表示删除第i个元素,注意:list索引从0开始
元组tuple
元组也是有序列表,不过元组初始化后不可变,不过可以用tuple中嵌套list,使得元组的元素改变。tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
a = ( 'a', ' b' )
字典dict
类似c++的map,python的dict使用键-值(key-value)存储,dict的查找速度不受表长影响,因为dict是使用索引查找。
d ={'a':0,'b':1}
判断key是否存在
1.用in判断,输出为布尔值,true or false
2.用get()方法判断,若key不存在,会输出None,存在的话会输出对应的value;
'a' in d
#输出为布尔值,true or false
d.get('a')
#输出为value or None
d.get('a',-1)
#输出为value or 指定值(这里是 -1)
dict删除key
用pop(key)
dict与list比较
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
而list相反:
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少。
集合set
set和dict类似,也是一组key的集合,但不存储value。key不能重复
set添加元素
可以用add(key)
set删除元素
可以用remove(key)方法
自定义数据类型
python的变量&常量:
python的变量可以是数字,也可是任意数据类型,变量可以用一个变量名表示,变量名必须是 大小写英文、数字和_ 的组合,且不能用数字开头
注意:python的变量类型不固定,属于动态语言;c++在定义变量必须指定变量类型,属于静态语言
常量:不可改变的变量,python没有任何机制保证变量不被改变,所以用全部大写的变量名表示常量只是一个习惯上的用法
python的条件判断&循环:
条件判断
与c++的类似,主要的没有括号,且每个语句要加冒号:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
循环
python不支持do while,python循环主要有两种,break,continue仍适用。
1.for x in …循环,注意缩进
2.while temp :,注意缩进
对于循环,python提供一个range()函数,可以生成一个整数序列,再通过list函数转换为list数据类型
#range(),根据内部的数判断生成序列的范围,range(5),表示从默认值0开始生成,生成5个数
list(range(5))
#输出[0, 1, 2, 3, 4]
python函数
来源:CSDN
作者:Ac_channel
链接:https://blog.csdn.net/qq_41848682/article/details/103836048