学习日记 | 5.18 [Python3] Python3基础与面向对象

注:这是一系列基于实验楼网络培训的python学习日记,内容零散,只是便于我自己回顾,有需要请了解www.shiyanlou.com。

1. Github相关

首先是复习github相关操作:

1.1 完成创建账号和仓库

登陆github.com,创建new repository,自动初始化README.md。

1.2 使用ssh-keygen生成公私钥

建议密钥保存在默认位置中:终端输入ssh-keygen,默认保存密钥位置为/home/shiyanlou/.ssh/id_rsa,一路回车。然后用ls -a可以看到隐藏文件,进入.ssh可以看到名为id_rsa(私钥)和id_rsa.pub(公钥)的两个文件。

打开github用户设置里面的SSH and GPG keys项目,将公钥内容粘贴进去。

1.3 配置git工具

1 git --version                              # check whether git has been installed
2 sudo apt-get install git -y                # install git
3 git config --global user.name "username"   # for example, xxxx0101
4 git config --global user.email "useremail"  

打开github的repository,将ssh链接复制到剪切板上,输入以下命令:

 1 cd "yourfolder"
 2 git clone "xxxxxxxxxx"   # copied link
 3 cd "yourRepoName"
 4 # create with echo or touch
 5 # then add these new files
 6 git add "newFileName"
 7 # delete file
 8 git rm "someFile"
 9
10 # restore the file
11 git reset --hard HEAD
12
13 # commit after change
14 git commit -m "your activity/change description"  # use m when commit for the first time
15
16 # then push, and change the repo
17 git push -u origin master
18
19 #check the changes
20 git fetch origin

2. 实验3: Python 基础语法

用vim circle.py创建文件,并编辑:

#!/usr/bin/env python3
# 第一行叫shebang,告诉shell使用python3执行代码
from math import pi
# calculate
result = 5 * 5 * pi

print(result)

完成后输入chmod +x circle.py增加权限,并使用./circle.py执行。

输入多行字符串使用三个“来解决。

strip()去除首尾,split()切割单词。

break代表停止循环,continue代表跳过当前轮循环。

用try except finally捕捉异常,finally是无论任何情况都会执行的代码,例如:

filename = ‘/etc/protocols‘
f = open(filename)
try:
    f.write(‘shiyanlou‘)
except:
    print("File write error")
finally:
    print("finally")
    f.close()

通过如下方法查询模块搜索路径:

import sys
sys.path

每一个.py文件都是一个模块。

如果要将一个文件夹识别为包的话,这个文件夹里需要有__init__.py的文件,内容可以为空,此时可以用 import 文件夹(包)名.文件(模块)名 来引入。

用sys模块的sys.argv获取【命令行参数】:

#!/usr/bin/env python3

import sys
print(len(sys.argv))

for arg in sys.argv:
    print(arg)

执行结果:

$ python3 argtest.py hello shiyanlou
3
argtest.py     # argv[0]
hello          # argv[1]
shiyanlou      # argv[2]

每一个python文件的__name__属性默认为本身文件名不含.py的形式,如hello.py的__name__属性为hello。在终端中用python解释器执行此文件时,__name__的值就变成__main__。当此文件作为模块倒入其他文件时,__name__保持默认。

原文地址:https://www.cnblogs.com/squidGuang/p/9059230.html

时间: 2024-07-30 01:23:31

学习日记 | 5.18 [Python3] Python3基础与面向对象的相关文章

前端学习日记(2) —— HTML5 基础

复习下Web开发学习基础: 前端部分: HTML标签:Web页面的结构,包含了页面的主要内容部分, CSS:页面样式 JS:实现交互行为 后台部分: 前端提交请求到后台通过C#/PHP/JAVA/.net等等处理数据,实现与数据库数据交互 数据库: Sql sever等存放数据表,存放数据信息 HTML工具 关于文本编辑器的工具,不同人有不同见解,(当然应该很少有人用TXT文本文档编辑)主流的编辑器我都用过,Sublime Text.Atom.Eclipse.Notepad++.Dreamwar

学习日记之备忘录模式和继承、面向对象设计

备忘录模式(Memento):在不破坏封装性的前提下.捕获一个对象的内部状态,并在该对象之外保存这个状态. 这样以后就可将该对象恢复到原先保存的状态. (1),把要保存的细节给封装在 Memento 中,那一天要更改保存的细节也不用影响client了. (2),Memento 模式比較适用于功能比較复杂的,但须要维护或记录属性历史的类,须要保存的属性仅仅是众多属性中的一小部分时,Originator 能够依据保存的 Memento 信息还原到前一状态. (3),假设在某个系统中使用命令模式时.须

学习日记 | 5.22 [Python3] Python3基础与面向对象

注:这是一系列基于实验楼网络培训的python学习日记,内容零散,只是便于我自己回顾,有需要请了解www.shiyanlou.com. 去三亚玩了3天,进度严重滞后,难受. 3. 挑战1 挑战:实现个税计算器 #!/usr/bin/env python3 import sys # rateAndQD函数,求应纳税所得额对应的税率和速算扣除数 def rateAndQD(taxableIncome): if taxableIncome <= 1500: rate, QD = 0.03, 0 eli

Python3 Tkinter基础 Entry state=&#39;readonly&#39; 不可写入的输入框,但是可以选中与拷贝

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: from tkinter import * root = Tk() content=StringVar() content.set('可以选中') e1=Entry(root, textvariable=content, state='readonly', )

Java学习日记(一)基础

标识符: 由26个英文字母大小写,数字:0-9 符号:_ $ 组成 定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字. 3.Java中严格区分大小写. Java中的注释格式: 单行注释: 格式: //注释文字 多行注释: 格式: /* 注释文字*/ 文档注释: 格式:/** 注释文字 */ 常量: 常量表示不能改变的数值. java中常量的分类: 1.整数常量.所有整数 2.小数常量.所有小数 3.布尔型常量.较为特有,只有两个数值.true 和false. 4.字符常量.将一个

学习日记之大话设计模式和Effective C++大结局

第一次潜心学习一个月时间,看完了<大话设计模式>和<Effective C++>两本书,两本书的前半部分都比较容易,但是后期的部分,比如:C++的内存,异常和模板的知识就很难理解了.也许和自己很少用异常处理和模板的关系吧.自己坚持了一个月,无论如何,这两本书给我带来了很多新的知识,发现了自己的不足.接下来打算继续看<C++ Templates>这本书,希望能弥补自己在模板编程方便的不足和为以后研究STL和Boost打下坚实的基础.废话少说,言归正传.下面说一下两本书的最

Swift学习笔记(一):基础

一.常量 & 变量 //常量 let constantsTeam = 1 //变量 var variablesTeam = 2 尽可能使用常量,这样更清晰并且内存更不容易肾亏. 二.显示/隐式指定类型 //隐式 let inferredTeam = 3 //显式 let explicitTeam:Int = 4 三.字符串输出 //通过\(变量或常量名)来引用组合字符串 println("\(inferredTeam) is bigger than \(variablesTeam)!&q

学习日记-----各种问题

用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答: 从下至上分别为:数据访问层.业务逻辑层(又或成为领域层).表示层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关 表示层:是系统的UI部分,负责使用者与整个系统的交互.  优点:  分工明确,条理清晰,易于调试,而且具有可扩展性. 缺点:  增加成本. 分层式结构究竟其优势何在? 1.开发人员可以只关注整个结构中的其中某一

informatica 学习日记整理

1. INFORMATICA CLIENT的使用 1.1 Repository Manager 的使用 1.1.1 创建Repository. 前提: a. 在ODBC数据源管理器中新建一个数据源连接至你要创建Repository的数据库(例:jzjxdev) b. 要在你要连接的数据库中新建一个用户(例:name: ETL password: ETL) 现在你可以创建一个Repository了.选择Repository – Create Repository,输入Repository Name