python基础入门第一天
2021/7/4 11:21:28
本文主要是介绍python基础入门第一天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一.python入门基础
知识补充:高级语言:字节码
低级语言:机器码
python种类:JavaPython、cPython、pypy...
1.1:python数据类型
int 有符号整形,如:1,11,111,-1,-111 ... ,2.x范围在-2**31~2**31-1之间,取决于操作系统,不会小于这个范围
float 浮点型,如:1.11.1.111,-1.111 ...
str 字符串,如:'hello' , 'python' , '1' , 'string' ...,注意,字符串需要使用引号(' ')或者双引号("")引起来,
bool 布尔类型,只有两个值,真:True 假:False,任何非零的数据类型,结果都为真,当结果为int 0 时,则为False
long 这个类型只存在2.x版本,取值范围无限大,取决于可用的虚拟内存
complex 复数,如:3.14j,4.53e-7j ...
元组(tuple) 如 ('a','hello','python','1')
列表(list) 如 ['a','hello','python','1']
字典 (dict)如{'name':'lb','age':19,'job','IT'}
1.2:python命名规范
python变量名(标识符)只能以字母或下划线开头,且不能包含特殊字符,注意python保留关键字不能当作变量名,这样等于重写python的内置方法,可能会影响其他方法的调用,具体python保留字
为了书写规范,建议变量名使用统一的风格书写,例如:驼峰式 SunOfBeach 或者 sun_of_beach
单个前导下划线开头的标识符,意味着约定为私有的
两个前导下划线开头的标识符,表示强烈专用的标识符
如果标识符还有两个下划线结束,则该标识符是语言的特殊名称
1.2.1:python保留字
#通过导入keyword模块,我们可以查看当前python保留了哪些关键字 import keyword #查看python保留关键字 keyword.kwlist # 输出 ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] #如果不确定该变量名是否为关键字,也可以通过下面这种方法,检查是为关键字 keyword.iskeyword('name') #返回False,说明该变量名不是系统保留关键字,即,可用View Code
1.3:python的注释
python的两种注释方法:
单行注释:用”#"符号在字段开头
多行注释:用单引号或双引号,包含所要涵盖内容
1.4:python运算符
+ - * / % // | 加法,减法,乘法,除法,取模,地板除 |
>> << | 左按位移位,右按位移位 |
& ^ | | 按位与,按位异或,按位或 |
** | 指数幂运算 |
> >= == != < <= |
大于,大于等于 等于,不等于 小于,小于等于 |
= **= += -= *= /= %= //= |= &= >>= <<= |
等于,幂等于 加等于,减等于 乘等于,除等于 取模等于,地板除等于 按位或等于,按位与等于 按位右移等于,按位左移等于 |
is is not | 是真,非真 |
in not in | 在里面,不在里面 |
and or not | 且,或,非 |
~ | |
二.python基操
2.1:变量赋值操作
#当想查看当前的两个变量是否指向同一个内存地址时,可以使用id()方法 a = 2 print(id(a)) #打印结果为 140723441682448 b = a print(id(b)) #打印结果为 140723441682448 #可见,a和b指向的都是同一块地址空间,注:以上两个值与使用的平台有关,不一定都是一样的数值,但是这两个数值一定是相等的 a = 5 print(id(a)) #打印结果为 140723441682376 print(id(b)) #打印结果为 140723441682448 #通过观察两个变量的指针变化,可以发现,a值的改变并不会影响到已经被赋值的bView Code
2.2:组元(tuple)
#例如,定义一个元组 a = ('a','hello','python','1') #查看元组的内置方法 dir(a) #将会输出一个列表形式的方法名称 #输出 ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] #元组提供了两个公有方法给我们使用 a.count('hello') #统计元组里面有多少个相同的元素'hello',很显然,这里只有1个,所以输出结果为 1 a.index('hello') #返回元素'hello'的索引位置,python的索引位置是从0开始的,所以这里的‘hello’元素的索引是1,而不是2. #元组的访问方式 a[1] #显示下标为1的元素,因为元组的下标是从0开始的,所以会显示元素'hello' a[2] #这里会显示第python这个元素 a[0:1] #显示元素从位置0(包括0) 到1(不包括1),即显示'a' a[0:2] #显示元素从位置0(包括0)到2(不包括2),即显示('a','hello') a[-1] #显示倒数第一个元素,即'1' a[-2] #显示倒数第二个元素,即'python' a[:-2] #显示元素从位置0(包括),到位置倒数第二个(不包括倒数第二个),之前的元素都显示出来,即('a','hello') a[-2:] #显示元素从位置倒数第二个(包括)到最后一个(包括),即('python','1') a[0:4:2] #该方式先将前面的[0:4]条件先筛选出来,然后再进行后面的:2,即每隔一位取一个值,所以这里将显示('a','python')View Code
2.3:列表(list)
列表与元组及其相似,不同之处在于,元组的值是固定,不可变的,而列表的值可以通过其自身的公有方法改变的。
#定义一个列表 b = ['a','hello','python','1'] #查看列表的内置方法 dir(b) # 输出['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] b.append('tail') #在列表末尾追加一个元素'tail' b.count('python') #统计列表中有多少个相同的元素'python' b.extend('how') #在列表后面追加三个字符串'h','o','w' b.index('python') #显示元素‘python’的索引,这里将输出2 b.insert(1,'niubi') #在索引为的位置插入元素'niubi',及原来的元素从1往后加1 b.pop() #将列表最后一个元素删除 b.remove('niubi') #删除指定元素,即,将指定的'niubi'元素删除 b.reverse() #将列表的元素由原来的从左到右顺序变成从右到左方式排序 b.sort() #将列表按照assci码顺序排序,注意! b.clear() #将列表b清空 a = b #将列表b复制给a,View Code
2.4:数据类型转换
列表数组转换为元组,元组转换为列表
#定义一个列表 a = ['a','b','c'] #通过tuple函数,将列表转换成元组,我们把新生成的元组赋值给c c = tuple(a) print(c) #结果显示 ('a', 'b', 'c'),说明我们现在已经把列表转换成一个新的元组了。View Codes
#由于元组上不可更改,列表可更改 #定义一个元组 a = ('a','b','c') #使用list函数将元组转换成列表,然后赋值给一个新的变量名为c,这样c就有list函数所拥有的属性了 c = list(a) print(c) #打印结果输出为 ['a', 'b', 'c'] #,通过这种方法,如果我们想在现有的元组基础上做操作修改,可以先转换成列表,列表是考验直接修改元素的,修改完后,我们再将它转换成元组,重新赋值给aView Code
三.条件及循环语句
3.1:if...elif...else
#if语句的语法是 #例如 if 1 < 2: print('yes') #也可以执行多个语句块 if 1 < 2: print('yes') print('hello if') #else语句是结合if或者elif并用的,语法格式如下 if 1 > 2: print('yes') else: print('no') #elif是与if结合使用的,不能单独直接使用,例如 if 1 > 2: print('yes') elif 3 > 2: print('yes') else: print('no')View Code
3.1.1:if...elif...else嵌套
if 1 < 2: print('yes') if 2 > 3: print('yes') elif 2 < 3: print('yes') else: print('no') elif 1 > 2: print('yes') else: print('no')View Code
3.2: while...for
#or循环与while循环,for循环是可以预知循环次数的,不需要人为大中断,也能自己结束,而while是需要一个结束条件的。
while
#语法 while expression: statements(s) #例如,当为真,则打印yes,是个无限循环语句 while True: print('yes') #通过添加适当的判断语句来结束这个语句执行 #定义一个变量,标记 flag = True while flag: print('yes') if flag: flag=False # 把flag值改为false,这样条件就不满足,就不会循环执行 #也可以通过break,或continue关键字去控制语句的输出,如下 count = 0 while True: if count >2: break #当条件满足时,则使用break中断语句的执行 count +=1 #每一次循环,都在count基础上加View Code
for
#实例 for number in range(10): print(number) #将会打印输出0-9View Code
3.3:and...or...not
#and or not 一般用于多重条件判断时使用,例如 a = 1 b = 2 if a > 0 and b > a: print(a+b) #打印结果将输出3,只要其中一个条件不满,则不会执行语句块的代码 if a < 0 or b>a: print(a+b) #打印结果将输出3,只要有其中任一个条件满足,则执行语句代码块 if not a: print(a+b) #这里不会输出任何东西,因为a是大于0,为真,只有条件为假,才会执行代码快语句View Code
四.文件处理
4.1:文件操作语法
file object = open(file_name,[access_mode],[buffering])
-
file_name: file_name参数是一个字符串值,包含要访问的文件的名称。
- access_mode: access_mode 确定该文件已被打开,即模式。读,写等追加。可能值的一个完整列表在下表中给出。这是可选的参数,默认文件访问模式是读(r)
-
buffering: 如果缓冲值被设置为0,没有缓冲将发生。如果该缓冲值是1,将在访问一个文件进行行缓冲。如果指定的缓冲值作为大于1的整数,那么缓冲操作将被用指定缓冲器大小进行。这是可选的参数。
4.2:文件访问模式
模式 | 描述 |
r | 以只读方式打开文件,文件指针放在文件开头,这个是默认模式 |
rb | 以二进制格式读取,文件指针放在文件开头 |
r+ | 以读取和写入方式打开文件,文件指针在文件开头 |
rb+ | 以二进制读取和写入方式打开文件 |
w | 以只写方式打开文件,如果文件存在,则覆盖文件内容,不存在则创建一个新文件 |
wb | 打开文件以二进制方式写入,文件存在则覆盖,不存在则创建新文件 |
w+ | 以写入和读取方式打开文件,如果文件存在则覆盖,不存在则创建新文件 |
wb+ | 以二进制方式写入和读取文件,存在则覆盖现有文件,不存在则创建新文件 |
a | 以追加方式写入文件末尾,如果不存在则创建该文件 |
ab | 以二进制格式追加在文件末尾,不存在则创建该文件 |
a+ | 以追加和读取方式打开文件,如果文件存在,文件指针在文件的末尾,如果不存在,则创建新文件并写入和读取 |
4.3:文件操作实列
open_file = open('/tmp/file.txt',r+) #以读取和写入方式打开文件 open_file.write('hello\n') #写入内容,加上换行符, open_file.close() #打开文件后,不做操作需要关闭 #文件操作:['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines']View Code
f = open('./aa', 'rb') # python3的长度只字符长度,而不是字节长度 # python2的长度只字节长度,而不是字符的长度 f.read(12) # 表示读取的单行如果小于3时,则会读取下一行完整行,当读取的单行长度大于3,则只读取当前偏移位置到当前行结束,不是仅仅读取三个字符长度 f.readlines(3) f.tell() # 返回当前指针位置 # seek第一个参数表示偏移量,从0开始 # 第二个参数表示偏移位置,从什么位置开始 0 表示从文件开头,1表示从当前tell()方法返回的位置开始,2表示文件结尾位置开始 f.seek(0, 1) # 从当前位置的第0个字符开始偏移0个字符位置 f.seek(1, 1) # 从当前位置的第1个字符开始偏移1个字符位置 f.seek(2, 0) # 从文件开头位置开始偏移2个字符位置 f.seek(-2, 2) # 从文件末尾位置开始,使用负数从倒数第二个位置往后读 print(f.read(1)) f.close()View Code
这篇关于python基础入门第一天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程