【Python编程从入门到实践】安装、配置、基础知识

第一章.安装与配置

1.1 配置

  • python官网

  • python3的地址
    终端输入:type -a python3

  • >>>表示终端会话,退出方式ctrl+Dexit()

  • 文件名和文件夹名最好使用小写字母,并用下划线表示空格,这是Python的命名约定,如创建python_work文件夹

  • sublime中设置New Build System,然后删除所有内容,加入如下代码,按Cmd+B即可运行py文件
    { "cmd": ["/usr/local/bin/python3","-u","$file"], }

  • sublime text不支持运行提示用户输入的程序,必须要借助终端来运行,这是它的一个缺点

1.2 PyCharm

  • 推荐用Pycharm,教育邮箱激活,免费试用一年,到期后再次认证即可
    Jetbrains公司开发的IDE功能非常强大
    在这里插入图片描述
    在这里插入图片描述

1.3 头注释

#!/usr/bin/python:这句注释的作用是告诉文件中的代码是用什么编译器去执行;

#!/usr/bin/env python:这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。

-*- coding: UTF-8 -*-:这段注释是告诉Python解释器,按照UTF-8编码读取源代码,否则,在源代码中写的中文输出可能会有乱码

1.4 Python的底层语言是用C实现的

是用 C 语言编写实现的 Python,又称为 CPython。平时我们所讨论的 Python,指的其实就是 CPython。

随着编程语言的不断发展,Python 的实现方式也发生了变化,除了用 C 语言实现外,Python 还有其他的实现方式。例如,用 Java 语言实现的 Python 称为 JPython,用 .net 实现的 Python 称为 IronPython 等等。

Python是C语言实现的,尽管有很多标准库是由python代码实现,但是涉及到底层支撑架构的功能还是C代码。 一些IDE为了对这些进行友好代码提示,会弄和底层一样的访问接口,而其实现直接写 pass 略过


第二章.基础知识

  • python的语句不需要加;
  • 遍历慎用小写字母l和大写字母O,因为容易错看成数字1和0
  • 段注释
"""
python段注释
"""
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
name = input("请输入姓名:") # 输入提示
print(name)
# 换行输出

# 字符串用引号表示,''或""都可以表示
# print()会依次打印每个字符串,遇到逗号,会输出一个空格
print("hello world!", 'I am here.')

# 变量
# ""和''可以结合起来使用
message1 = "Happy 'New' Year"
print(message1) # 输出:Happy 'New' Year 
message2 = 'Happy "New" Year'
print(message2) # 输出:Happy "New" Year

Traceback是一条记录,之处解释器在尝试运行代码时,在什么地方遇到了困境
在这里插入图片描述
名称错误:1.变量名拼写错误 2.使用变量前忘记给它赋值

2.1 方法

方法是Python可对数据执行的操作
官方方法查询传送门

title content
title() 首字母大写
upper() 全部字母大写
lower() 全部字母小写
lstrip() 删除左端空白字符(默认空格或\n)
rstrip() 删除右端空白字符
strip() 删除两端空白字符
str() 整数转为字符串
split() 根据一个字符串创建一个单词列表 默认为所有的空字符

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符
str.strip(‘u’);移去字符串首尾的u字符

示例:

# rstrip()默认可以去掉右端(空格或换行符\n),最后有空行是因为print语句会加上一个换行符
str1 = "Here:\ny ou\n \n\n\n\n"
print(str1.rstrip())

输出

Here:
y ou

# 变量
name = "ada Love you"
print(name.title())  # Ada Love You
print(name.upper())  # ADA LOVE YOU
print(name.lower())  # ada love you

t = name.upper()
print(t)  # ADA LOVE YOU


first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name

message = "Hello, " + full_name.title() + "!"
print(message)  # Hello, Ada Lovelace!

在编程中,空白泛指任何非打印字符,如空格、制表符\t和换行符\n

message = "  hello world! "
print(message.lstrip())  # 删除左端空格
print(message.rstrip())  # 删除右端空格
print(message.strip())   # 删除两端空格
age = 25
print("Happy " + str(age) + "th Birthday")

2.2 数据类型

python数据很自由,想开多大就多大

2.3 import this

Python之禅
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.

2.4 python3特殊点

  1. Python2中print有些加括号,有些不加括号,而Python3中的print是一个函数,一次括号必不可少
  2. / 和 //区别
Python2 
3 / 2 = 1
3.0 / 2 = 1.5
Python3 
3 / 2 = 1.5
3 // 2 = 1  # Python3特意用//来表示整数除法

因此Python2和Python3相互转换时,一定要注意这种异常细微

  1. Python中用**表示次幂运算
print(4 ** 3)  # 输出64 
  1. 如果你使用的是Python2.7,请使用raw_input()而不是input()来获取输入

  2. Python中是用True或False,C++中用true或false

  3. 在Python2.7中创建类有细微区别,需在括号内包含单词object

class Classname(object)	
	--snip--
  1. Python2.7中的继承
class Car(object):
	def __init__(self, make, model, year):
		--snip--

class ElectricCar(Car):
	def __init__(self, make, model, year):
		super(ElectricCar, self).__init__(make, model, year)
		--snip--

函数super()需要两个实参:子类名和对象self
另外在Python2.7使用继承时务必在定义父类时在括号内指定object

2.5 代码规范PEP8

PEP8(Python Enhancement Proposal)代码格式设置指南

命名
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
骆驼式命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的畅销书《Programming Perl》(O’Reilly 出版)的封面图片正是一匹骆驼。骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。

小驼峰法,变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如int myStudentCount; 变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。常用于变量、函数名

大驼峰法相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。譬如public class DataBaseUser;

  • 命名还可以用下划线隔开
    如用name比n更能表示姓名这个含义
    变量:full_name
    函数:get_formatted_name

缩进

  • PEP8建议每级缩进用4个空格,tab键要设置制表符为4个空格

空行

  • 空行不会影响代码的运行,但会影响代码的可读性。
    建议不要在程序文件中过多地使用空行。
    PyCharm可以自动格式化,包括处理多余空行
    Python解释器根据水平缩进情况来解读代码,不关心垂直间距

函数

  • 描述性的函数名如print_models()让别人阅读这些代码时更清晰

  • 用了函数的好处:如果我们需要对打印代码进行修改,只需修改这些代码一次,就能影响所有调用该函数的地方,效率很高

  • 理念:每个函数都应只负责一项具体工作,这由于使用一个函数来完成两项工作

行长

  • Python程序都建议每行不超过80字符,因为专业程序员都会在同一个屏幕上打开多个文件,使用标准行长可以让他们更好的阅读代码
    大多数编辑器会设置一个视觉标志——通常是一个竖线

函数编写指南

  • 编写函数时应给函数指定描述性名称,且只在其中使用小写字母和下划线,给模块命名时也要遵循这样的约定

  • 每个函数都应包含简要地阐述其功能的注释(文档字符串),让别人相信他们可以如描述那样运行代码:只要知道函数名、需要的实参以及返回值得类型,就能在自己的程序中使用它

  • 给形参指定默认值时,等号两边不要有空格

def function_name(parameter_0, parameter_1='default value')
  • 如果函数包含多个函数,可使用两个空行将相邻的函数分开。这样将更容易知道前一个函数在什么地方结束,下一个函数从什么地方开始

  • 所有import语句都应放在文件开头,唯一例外的情形是,在文件开头使用了注释来描述整个程序

  • 如果形参很多,导致函数定义的长度超过79字符,可在函数定义中输入左括号后按回车,并在下一行按两次Tab键,从而将形参列表和只缩进一层的函数体区分开来

def function_name(
		parameter_0, parameter_1, parameter_2,
		parameter_3, parameter_4, parameter_5):
	function body...
  • 继承的一点说明:如果一个属性或方法是任何汽车都有的,而不是电动汽车特有的,就应将其加入到Car类而不是ElectricCar类中。这样,使用Car类的人可以获得相应的功能,而使用ElectricCar类只包含处理电动汽车特有的属性和行为代码

类编码风格

  • 类名应采用驼峰命名法,如ElectricCar,不能使用下划线

  • 每个类定义后面包含一个文档字符串,简要地描述类的功能

  • 同时导入标准库中的模块和自己编写的模块时,先编写导入标准库模块的import语句,再用一个空行隔开,再写导入自己的模块的import语句,这样让人更容易明白程序使用了各个模块来自何方

from collections import OrderedDict  # 标准库中模块

from car import Car  # 自己编写的模块
from electric_car import ElectricCar, Battery

写在最后:我的博客主要是对计算机领域所学知识的总结、回顾和思考,把每篇博客写得通俗易懂是我的目标,分享技术和知识是一种快乐 ,非常欢迎大家和我一起交流学习,有任何问题都可以在评论区留言,也期待与您的深入交流(^∀^●)

发布了239 篇原创文章 · 获赞 80 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_43827595/article/details/104293907
今日推荐