美文网首页
一起学Python系列|Python基础语法

一起学Python系列|Python基础语法

作者: 张强_1130 | 来源:发表于2020-09-13 12:15 被阅读0次

Python基础语法

一、注释

Python中的注释有单行注释和多行注释:

1.1 单行注释

Python中单行注释以 # 开头,例如

# 这是一个注释
print("Hello, World!")

1.2 多行注释

多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来

"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
这是多行注释,用三个双引号
"""
print("Hello, World!")

1.3 注释快捷键

光标所在行或者选中的多行,运行快捷键进行注释或取消注释

二、换行

当一行代码过长或者需要比较规范的格式时,需要对代码进行换行。常用代码换行有通用的反斜杠\和针对字符串起作用的三引号结构。

2.1 反斜杠

对于一般表达式来说,反斜杠后直接回车即可实现续行,使用的关键在于反斜杠后不能用空格或者其他符号。

>>> a=1;b=2;c=a+\
... b
>>> print(c)
3

对长字符串也适用

>>> print('print a long long long long long\
... very long string')
print a long long long long longvery long string

2.2 三引号

可用于多行文本的输出,会根据输入文本自动换行,单引号或双引号均可以

>>> sql="""
... select *
... from table
... where r=1;
... """
>>> print(sql)

select *
from table
where r=1;

三、输入输出

3.1 输入

3.1.1 读取键盘输入

两段代码需要逐行运行

>>> str = input("输入时提示的内容:");
输入时提示的内容:学python
>>> print ("输入的内容是: ", str)
输入的内容是:  学python

3.1.2 内部赋值

通过对变量赋值以及变量之间的运算

3.1.2 读取文件

读取完整文本f.read()
size控制读取的字符数,不填写时读取全部文本

# 读取一个已存在的文件
f = open("file.txt", "r")
size=4
str = f.read(size)
print(str)
# 关闭打开的文件
f.close()

逐行读取读取f.readline()

f = open("file.txt", "r")
while str:
    str = f.readline()
    print(str)
f.close()

读取所有行f.readline()
以列表的形式返回每一行的内容

>>> f = open("file.txt", "r")
>>> str = f.readlines()
>>> print(str)
['第一行:111\n', '第二行222\n']
>>> f.close()

读取文件指定行

>>> import linecache
>>> linecache.getline('file.txt', 2)
'第二行222\n'

sdf

3.2 输出

3.2.1 文件输出

>>> f = open("newfile.txt", "w")
>>> f.write("第一行:111\n第二行222\n" )
15
>>> f.close()

3.2.2 换行输出

自动换行打印
循环打印时,系统会自动换行

>>> for s in ['爱','我','中','华']:
...     print(s)
爱
我
中
华

换行符
使用\n换行符

>>> print('第一行\n第二行\n第三行')
第一行
第二行
第三行

打印到文件中
使用sys.stdout进行设置,打印内容会追加到已有文件中

import sys
__console = sys.stdout   #备份用于后期还原
# 把打印重定向文件
f=open('print.log',"a+") 
sys.stdout=f
print('第一行\n第二行\n第三行')
print('第四行')

结果

(base) datscicn@datscicn ~ % cat print.log
第一行
第二行
第三行
第四行

打印进度条
用于大量循环时,便于了解进度

>>> from tqdm import tqdm
>>> import time
>>> for i in tqdm(range(365)):
...     time.sleep(0.01)#停顿以更好地展示
...
24%|██████████▏                               | 89/365 [00:09<00:28,  9.70it/s]

3.2.3 格式化输出

str和repr
部分对象需要使用repr转换成文本,例如字典:

In [40]: a={'runoob': 'runoob.com', 'google': 'google.com'}

In [41]: s1='这是一个字典:'+str(a)
Traceback (most recent call last):

  File "<ipython-input-41-d3272ee908e3>", line 1, in <module>
    s1='这是一个字典:'+str(a)

TypeError: 'str' object is not callable


In [42]: s2='这是一个字典:'+repr(a)

In [43]: print(s2)
这是一个字典:{'runoob': 'runoob.com', 'google': 'google.com'}

str.format()

# 1.通过变量或直接赋值
>>> explain='年龄';jd=2/29;
>>> s="当前评估的变量为{0},中文名为{explain},整体评估进度为{jd:.3%}".format('age',explain=explain,jd=jd)
>>> print(s)
当前评估的变量为age,中文名为年龄,整体评估进度为6.897%
# 2.通过字典或列表赋值
# *列表要在**字典前面
>>> names=['zq1','zq2','zq3']
>>> ren={'name':'zq','age':19.3,'score':888.882}
>>> '我的名字是{name},今年{age}岁,得分{score:.2f},下一位是{1}'.format(*names,**ren)
'我的名字是zq,今年19.3岁,得分888.88,下一位是zq2'

3.3 序列化

数据存储

>>> import pickle
>>> # 使用pickle模块将数据对象保存到文件
>>> names=['zq1','zq2','zq3']
>>> ren={'name':'zq','age':19.3,'score':888.882}
>>> output = open('data.pkl', 'wb')
>>> pickle.dump([names,ren], output)
>>> output.close()

数据读取

>>> import pickle
>>> #使用pickle模块从文件中重构python对象
>>> pkl_file = open('data.pkl', 'rb')
>>> data= pickle.load(pkl_file)
>>> names=data[0]
>>> ren=data[1]
>>> print(names,ren)
['zq1', 'zq2', 'zq3'] {'name': 'zq', 'age': 19.3, 'score': 888.882}
>>> pkl_file.close()

四、条件控制

>>> age=44;sex='男'
>>> if sex=='男' and age<=25:
...     result='男青年'
... elif sex!='女':
...     result='非女性'
... elif age<=10 or age>60:
...     resule='老幼女性'
... else:
...     result='其他女性'
>>> print(result)
非女性

五、循环语句

5.1 while循环

>>> count = 0 #初始化
>>> while count < 6:
...    print (count, " 小于 6")
...    count = count + 1
... else:
...    print (count, " 大于或等于 6,跳出循环")
...    count = count + 1
...
0  小于 6
1  小于 6
2  小于 6
3  小于 6
4  小于 6
5  小于 6
6  大于或等于 6,跳出循环

5.2 for循环

>>> for i in range(1,11):
...     pr=1
...     ti=1
...     while ti<=i:
...         pr*=ti
...         ti+=1
...     print((repr(i)+'的阶乘为:{0:,d}').format(pr))
...
1的阶乘为:1
2的阶乘为:2
3的阶乘为:6
4的阶乘为:24
5的阶乘为:120
6的阶乘为:720
7的阶乘为:5,040
8的阶乘为:40,320
9的阶乘为:362,880
10的阶乘为:3,628,800

相关文章

网友评论

      本文标题:一起学Python系列|Python基础语法

      本文链接:https://www.haomeiwen.com/subject/edvvektx.html