史上最全Python快速入门教程,让你快速入门python学好python_编程软件phthon入门

F:>
Python



> 
> 注意 - 如上所述,第一个参数始终是脚本名称,它也被计入参数的数量。
> 
> 
> 


## 解析命令行参数


Python提供了一个getopt模块,可用于解析命令行选项和参数。该模块提供了两个功能和异常,以启用命令行参数解析。


getopt.getopt方法


此方法解析命令行选项和参数列表。以下是此方法的简单语法 -



getopt.getopt(args, options, [long_options])
Python


getopt.GetoptError异常


当在参数列表中有一个无法识别的选项,或者当需要一个参数的选项不为任何参数时,会引发这个异常。  
 异常的参数是一个字符串,指示错误的原因。 属性msg和opt给出错误消息和相关选项。


## 示例


假设想通过命令行传递两个文件名,也想给出一个选项用来显示脚本的用法。脚本的用法如下 -



usage: file.py -i -o
Shell


以下是command\_line\_usage.py的以下脚本 -



#!/usr/bin/python3
import sys, getoptdef main(argv): inputfile = ‘’
outputfile = ‘’
try: opts, args = getopt.getopt(argv,“hi⭕️”,[“ifile=”,“ofile=”])
except getopt.GetoptError: print (‘GetoptError, usage: command_line_usage.py -i -o ’)
sys.exit(2)
for opt, arg in opts:
if opt == ‘-h’:
print (‘usage: command_line_usage.py -i -o ’)
sys.exit()
elif opt in (“-i”, “–ifile”):
inputfile = arg
elif opt in (“-o”, “–ofile”):
outputfile = arg
print (‘Input file is "’, inputfile)
print (‘Output file is "’, outputfile)
if name == “main”:
main(sys.argv[1:])
Python


现在,使用以下几种方式运行来脚本,输出如下所示:



F:\worksp\python>python command_line_usage.py -h
usage: command_line_usage.py -i -o
F:\worksp\python>python command_line_usage.py -i inputfile.txt -o
GetoptError, usage: command_line_usage.py -i -o
F:\worksp\python>python command_line_usage.py -i inputfile.txt -o outputfile.txt
Input file is " inputfile.txt
Output file is " outputfile.txt
F:\worksp\python>
Shell


## 第四节 Python变量类型


变量是保存存储值的内存位置。也就是说,当创建一个变量时,可以在内存中保留一些空间。


基于变量的数据类型,解释器分配内存并决定可以存储在保留的存储器中的内容。 因此,通过为变量分配不同的数据类型,可以在这些变量中存储的数据类型为整数,小数或字符等等。


![](https://img-blog.csdnimg.cn/img_convert/fb4559c99fb07287c47f64a8396bed3e.jpeg)



## 将值分配给变量


在Python中,变量不需要明确的声明类型来保留内存空间。当向变量分配值时,Python会自动发出声明。 等号(=)用于为变量赋值。


=运算符左侧的操作数是变量的名称,而=运算符右侧的操作数是将在存储在变量中的值。 例如 -



#!/usr/bin/python3
counter = 100 # 一个整型数
miles = 999.99 # 一个浮点数
name = “Maxsu” # 一个字符串
site_url = “http://www.yiibai.com” # 一个字符串
print (counter)
print (miles)
print (name)
print (site_url)
Python


这里,100,999.99和“Maxsu”分别是分配给counter,miles和name变量的值。执行上面代码将产生以下结果 -



100
999.99
Maxsuhttp://www.yiibai.com
Shell


## 多重赋值


Python允许同时为多个变量分配单个值。


例如 -



a = b = c = 1
Python


这里,创建一个整数对象,其值为1,并且所有三个变量都分配给相同的内存位置。还可以将多个对象分配给多个变量。 例如 -



a, b, c = 10, 20, “maxsu”
Python


这里,将两个值为10和20的整数对象分别分配给变量a和b,并将一个值为“maxsu”的字符串对象分配给变量c。


## 标准数据类型


存储在内存中的数据可以是多种类型。 例如,一个人的年龄可存储为一个数字值,他的地址被存储为字母数字字符串。 Python具有各种标准数据类型,用于定义可能的操作以及每个标准数据类型的存储方法。


Python有五种标准数据类型 -


* 1.数字
* 2.字符串
* 3.列表
* 4.元组
* 5.字典


## 1.Python数字


数字数据类型存储数字值。当为其分配值时,将创建数字对象。 例如 -



var1 = 10
var2 = 20
Python


可以使用del语句删除对数字对象的引用。 del语句的语法是 -



del var1[,var2[,var3[…,varN]]]]
Python


可以使用del语句删除单个对象或多个对象。


例如 -



del var
del var_a, var_bPython


Python支持三种不同的数值类型 -


* int(有符号整数)
* float(浮点实值)
* complex(复数)


Python3中的所有整数都表示为长整数。 因此,长整数没有单独的数字类型。


例子


以下是一些数字示例 -


int float complex 10 0.0 3.14j 100 15.20 45.j -786 -21.9 9.322e-36j 080 32.3+e18 .876j -0490 -90. -.6545+0J -0x260 -32.54e100 3e+26J 0x69 70.2-E12 4.53e-7j


复数是由x + yj表示的有序对的实数浮点数组成,其中x和y是实数,j是虚数单位。


## 2.Python字符串


Python中的字符串被标识为在引号中表示的连续字符集。Python允许双引号或双引号。 可以使用片段运算符([]和[:])来获取字符串的子集(子字符串),其索引从字符串开始处的索引0开始,并且以-1表示字符串中的最后一个字符。


加号(+)是字符串连接运算符,星号(\*)是重复运算符。例如 -



#!/usr/bin/python3
#coding=utf-8

save file: variable_types_str1.pystr = ‘yiibai.com’

print ('str = ', str) # Prints complete string
print ('str[0] = ',str[0]) # Prints first character of the string
print ('str[2:5] = ',str[2:5]) # Prints characters starting from 3rd to 5th
print ('str[2:] = ',str[2:]) # Prints string starting from 3rd character
print (‘str[-1] = ‘,str[-1]) # 最后一个字符,结果为:’!’
print ('str * 2 = ',str * 2) # Prints string two times
print ('str + “TEST” = ',str + “TEST”) # Prints concatenated string
Python


将上面代码保存到 variable\_types\_str1.py 文件中,执行将产生以下结果 -



F:\worksp\python>python variable_types_str1.py
str = yiibai.comstr[0] = ystr[2:5] = ibastr[2:] = ibai.comstr[-1] = mstr * 2 = yiibai.comyiibai.comstr + “TEST” = yiibai.comTEST
F:\worksp\python>Shell


## 2.Python列表


列表是Python复合数据类型中最多功能的。 一个列表包含用逗号分隔并括在方括号([])中的项目。在某种程度上,列表类似于C语言中的数组。它们之间的区别之一是Python列表的所有项可以是不同的数据类型,而C语言中的数组只能是同种类型。


存储在列表中的值可以使用切片运算符([]和[])来访问,索引从列表开头的0开始,并且以-1表示列表中的最后一个项目。 加号(+)是列表连接运算符,星号(\*)是重复运算符。例如 -



#!/usr/bin/python3
#coding=utf-8

save file: variable_types_str1.pylist = [ ‘yes’, ‘no’, 786 , 2.23, ‘minsu’, 70.2 ]

tinylist = [100, ‘maxsu’]
print ('list = ', list) # Prints complete list
print ('list[0] = ',list[0]) # Prints first element of the list
print ('list[1:3] = ',list[1:3]) # Prints elements starting from 2nd till 3rd
print ('list[2:] = ',list[2:]) # Prints elements starting from 3rd element
print ('list[-3:-1] = ',list[-3:-1])
print ('tinylist * 2 = ',tinylist * 2) # Prints list two times
print ('list + tinylist = ', list + tinylist) # Prints concatenated lists
Python


将上面代码保存到 variable\_types\_str1.py 文件中,执行将产生以下结果 -



F:\worksp\python>python variable_types_list.py
list = [‘yes’, ‘no’, 786, 2.23, ‘minsu’, 70.2]
list[0] = yes
list[1:3] = [‘no’, 786]
list[2:] = [786, 2.23, ‘minsu’, 70.2]
list[-3:-1] = [2.23, ‘minsu’]
tinylist * 2 = [100, ‘maxsu’, 100, ‘maxsu’]
list + tinylist = [‘yes’, ‘no’, 786, 2.23, ‘minsu’, 70.2, 100, ‘maxsu’]
F:\worksp\python>Shell


## 3.Python元组


元组是与列表非常类似的另一个序列数据类型。元组是由多个值以逗号分隔。然而,与列表不同,元组被括在小括号内(())。


列表和元组之间的主要区别是 - 列表括在括号([])中,列表中的元素和大小可以更改,而元组括在括号(())中,无法更新。元组可以被认为是只读列表。 例如 -



#!/usr/bin/python3
#coding=utf-8

save file : variable_types_tuple.pytuple = ( ‘maxsu’, 786 , 2.23, ‘yiibai’, 70.2 )

tinytuple = (999.0, ‘maxsu’)

tuple[1] = ‘new item value’ 不能这样赋值

print ('tuple = ', tuple) # Prints complete tuple
print ('tuple[0] = ', tuple[0]) # Prints first element of the tuple
print ('tuple[1:3] = ', tuple[1:3]) # Prints elements starting from 2nd till 3rd
print ('tuple[-3:-1] = ', tuple[-3:-1]) # 输出结果是什么?
print ('tuple[2:] = ', tuple[2:]) # Prints elements starting from 3rd element
print ('tinytuple * 2 = ',tinytuple * 2) # Prints tuple two times
print ('tuple + tinytuple = ', tuple + tinytuple) # Prints concatenated tuple
Python


将上面代码保存到 variable\_types\_tuple.py 文件中,执行将产生以下结果 -



F:\worksp\python>python variable_types_tuple.py
tuple = (‘maxsu’, 786, 2.23, ‘yiibai’, 70.2)
tuple[0] = maxsu
tuple[1:3] = (786, 2.23)
tuple[-3:-1] = (2.23, ‘yiibai’)
tuple[2:] = (2.23, ‘yiibai’, 70.2)
tinytuple * 2 = (999.0, ‘maxsu’, 999.0, ‘maxsu’)
tuple + tinytuple = (‘maxsu’, 786, 2.23, ‘yiibai’, 70.2, 999.0, ‘maxsu’)
F:\worksp\python>
Shell


以下代码对于元组无效,因为尝试更新元组,但是元组是不允许更新的。类似的情况可能与列表 -



#!/usr/bin/python3
tuple = ( ‘abcd’, 786 , 2.23, ‘john’, 70.2 )
list = [ ‘abcd’, 786 , 2.23, ‘john’, 70.2 ]
tuple[2] = 1000 # 无法更新值,程序出错
list[2] = 1000 # 有效的更新,合法
Python


## Python字典


Python的字典是一种哈希表类型。它们像Perl中发现的关联数组或散列一样工作,由键值对组成。字典键几乎可以是任何Python数据类型,但通常为了方便使用数字或字符串。另一方面,值可以是任意任意的Python对象。


字典由大括号({})括起来,可以使用方括号([])分配和访问值。例如 -



#!/usr/bin/python3
#coding=utf-8

save file : variable_types_dict.pydict = {}dict[‘one’] = “This is one”

dict[2] = “This is my”
tinydict = {‘name’: ‘maxsu’, ‘code’ : 1024, ‘dept’:‘IT Dev’}
print ("dict[‘one’] = ", dict[‘one’]) # Prints value for ‘one’ key
print ('dict[2] = ', dict[2]) # Prints value for 2 key
print ('tinydict = ', tinydict) # Prints complete dictionary
print ('tinydict.keys() = ', tinydict.keys()) # Prints all the keys
print ('tinydict.values() = ', tinydict.values()) # Prints all the values
Python


将上面代码保存到 variable\_types\_dict.py 文件中,执行将产生以下结果 -



F:\worksp\python>python variable_types_dict.py
dict[‘one’] = This is one
dict[2] = This is my
tinydict = {‘name’: ‘maxsu’, ‘code’: 1024, ‘dept’: ‘IT Dev’}
tinydict.keys() = dict_keys([‘name’, ‘code’, ‘dept’])
tinydict.values() = dict_values([‘maxsu’, 1024, ‘IT Dev’])
Shell


字典中的元素没有顺序的概念。但是说这些元素是“乱序”是不正确的; 它们是无序的。


## 数据类型转换


有时,可能需要在内置类型之间执行转换。要在类型之间进行转换,只需使用类型名称作为函数即可。


有以下几种内置函数用于执行从一种数据类型到另一种数据类型的转换。这些函数返回一个表示转换值的新对象。它们分别如下所示 -


编号 函数 描述 1 int(x [,base]) 将x转换为整数。如果x是字符串,则要base指定基数。 2 float(x) 将x转换为浮点数。 3 complex(real [,imag]) 创建一个复数。 4 str(x) 将对象x转换为字符串表示形式。 5 repr(x) 将对象x转换为表达式字符串。 6 eval(str) 评估求值一个字符串并返回一个对象。 7 tuple(s) 将s转换为元组。 8 list(s) 将s转换为列表。 9 set(s) 将s转换为集合。 10 dict(d) 创建一个字典,d必须是(key,value)元组的序列 11 frozenset(s) 将s转换为冻结集 12 chr(x) 将整数x转换为字符 13 unichr(x) 将整数x转换为Unicode字符。 14 ord(x) 将单个字符x转换为其整数值。 15 hex(x) 将整数x转换为十六进制字符串。 16 oct(x) 将整数x转换为八进制字符串。


## 第五节 Python基本运算符


运算符是可以操纵操作数值的结构。如下一个表达式:10 + 20 = 30。这里,10和20称为操作数,+则被称为运算符。


## 运算符类型


Python语言支持以下类型的运算符 -


* 1.算术运算符
* 2.比较(关系)运算符
* 3.赋值运算符
* 4.逻辑运算符
* 5.按位运算符
* 6.成员运算符
* 7.身份运算符


下面让我们依次来看看所有的运算符。


## 1.算术运算符


假设变量a的值是10,变量b的值是21,则 -


运算符 描述 示例 + 加法运算,将运算符两边的操作数增加。 a + b = 31 - 减法运算,将运算符左边的操作数减去右边的操作数。 a – b = -11 \* 乘法运算,将运算符两边的操作数相乘 a \* b = 210 / 除法运算,用右操作数除左操作数 b / a = 2.1 % 模运算,用右操作数除数左操作数并返回余数 b % a = 1 \*\* 对运算符进行指数(幂)计算 a \*\* b,表示10的21次幂 // 地板除 - 操作数的除法,其结果是删除小数点后的商数。 但如果其中一个操作数为负数,则结果将被保留,即从零(向负无穷大)舍去 9//2 = 4 , 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0


## 2.比较(关系)运算符


比较(关系)运算符比较它们两边的值,并确定它们之间的关系。它们也称为关系运算符。假设变量a的值10,变量b的值是20,则 -


运算符 描述 示例 == 如果两个操作数的值相等,则条件为真。 (a == b)求值结果为 false != 如果两个操作数的值不相等,则条件为真。 (a != b)求值结果为 true > 如果左操作数的值大于右操作数的值,则条件成为真。 (a > b)求值结果为 false < 如果左操作数的值小于右操作数的值,则条件成为真。 (a < b)求值结果为 true >= 如果左操作数的值大于或等于右操作数的值,则条件成为真。 (a >= b)求值结果为 false <= 如果左操作数的值小于或等于右操作数的值,则条件成为真。 (a <= b)求值结果为 true


## 3.赋值运算符




### 最后

> **🍅 硬核资料**:关注即可领取PPT模板、简历模板、行业经典书籍PDF。  
> **🍅 技术互助**:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。  
> **🍅 面试题库**:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。  
> **🍅 知识体系**:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值