(Python3)- Python入门

1.操作符:

  • //整除商取整数。因为PY中常见的有整数型、浮点型和字符串。
  • **指数
  • 从input()函数中读入的默认为str,所以如果需要进行某些算术运算就需要用int()、float()或者是str()来转换。但是's' * 5是可以的哦,相当于string s(5,'s')
  • and、or、not、in、not in:相当于&&、||、!、for(int i : xxx)、所有不再右操作数的的值(循环)。
  • pass:表示什么也不做,跳过。

2.None值:相当于void;Bool类型:True和False

3.每一条语句的开始都要加冒号,例如elif <条件>:def <函数名>:if:

4.import导入模块,可以导入多个模块import sys,math,os。如果不想加模块的名字,那么加上from xxxx import *可以导入所有的名为xxxx的名字。有点像using指示。

5.sys.exit()表示退出。

6.函数:

  • 定义:def xxx :
  • 如果需要在函数中修改global变量。那么在函数中就需要在变量名之前加global。Python中也有作用欲域的概念哦。
  • 异常处理:
#python
def spam():
    try:
        global eggs
        e=eggs / 0
    except ZeroDivisionError:#直接使用except:的话相当于C++ 的catch(...)
        print('DIVIDE BY ZERO')
eggs=0
spam()
print(eggs)

7.列表:类似于C++中的数组。

  • animal=['cat','bat','rat','elephant']表示一个有4个元素的列表。他们通过从0开始的下标访问。
  • 负数下标:anumal[-n]表示从末尾向前的n个元素
  • len可以获取长度;del animal[2]可以删除第三个元素;in 、not in可以用于列表。
  • 多重赋值:a,b,c,d=animal。但是变量的数量不能大于列表的大小
  • 列表的方法(需要用成员运算符):index()查找某个元素,并返回下标如果不存在,PY报ERROR。append(‘xxxx')附加一个元;insert(1,'xxxx')在某个下标之前插入;remove('xxxx')删除某个元素;sort()排序,可以指定关键字key=str.lower就可以按照字典序排序。
  • 使用list()和tuple()可=可以将元组和列表互相转换。
  • 元组和字符串:元组类型name=('a','b')注意元组类型的元素不可以修改。字符串的内容也是可以修改的。利用type()是可以看出类型。如果只有一个元素,注意要加上‘,’号
#python
print(type(('n',)))
print(type(('n')))
print(type({'a'}))
print(type({'a',}))
#output:
#<class 'tuple'>
#<class 'str'>
#<class 'set'>
#<class 'set'>

8.引用:PY处理列表和字典(类似于map)都采用引用方式。可以使copy.copy(s)来进行浅拷贝如果列表中包含了列表那么需要copy.deepcopy(s)进行深拷贝。浅拷贝之后:列表中的子对象(如:列表)是与原子对象ID相同,深拷贝的ID就不一样了。

9.字典:spam={'key':'value'}。方法keys(),values()和items()分别对应dict_keys、dict_values()、dict_items(key-value对)

  • gets(key,value)方法可以返回当key不能存在的时候的默认值value。setdefault(key,value)则可以是当没有指定key的时候的默认设置的value值。
  • # coding=gb2312 语句可以处理中文编码的问题。
#python
# coding=gb2312
import pprint
dic={'apple':'red','pear':'yellow','grape':'green'}
for v in dic.keys():#打印key
    print(v)
for k,v in dic.items():#打印key和value
    print('key :'+str(k)+' value :'+str(v),end='\n')
#默认替换:
print(dic.setdefault('nut','brown'))
print(dic.setdefault('apple','green'))
#打印

socket={'shu':{'school':['TJPU','XGYZ','JS'],'sex':'male'},'Liu':{'school':['XTU','JS'],'sex':'female'}}
print(socket)#这个不美观 使用pprint就很好,可以处理嵌套的value
pprint.pprint(socket)
print(pprint.pformat(socket))#等价语句

10.字符串部分:

  • 字符串前加上r。这样就有可能不会解析转义序列。
  • 如果使用三重引号,就表明知道下一个三重引号之前的内容都是字符串的一部分。所以就可以不考虑换行和转义(这个可选)的问题。
  • 多行注释使用"""comment"""。
  • 字符串也可以有切片,格式和列表一样,起始也一样。
  • 方法:upper()、lower()分别返回字符串的大写形式、小写形式的副本。islower()和isupper()可以判断字符串是否是小写或大写。有些方法和cctype相似,isalpha、isalnum、isdecimal、istitle(是否是大写开头,其他字符为小写)
  • startwith(str)、endwith(str)方法,如果是以str开始或者结束,就返回True,否则False。
  • str.join(list)可以返回一个以str作为list各个元素分节符的字符串。
  • str.split(m),返回一个以m作为str分解符的列表。
  • str.ljust(num,c=' ')、str.center(num,c=' ')和str.rjust(num,c=' ')将字符串以左、居中或右对齐,放在长度为num的位宽中,如果不足则在空白处填入字符c。默认为空格。
  • str.strip(s)、str.rstrip(s)、str.lstrip(s)返回删除左右、左或右的空白和制表。如果s不为空,表示删除字符串中s中的任何一个字符
  • 复制和粘贴:首先安装pyperclip模块:Windows: pip install pyperclip;Linux: pip3 install pyperclip。记得导入pyperclip。
#coding= gb2312
l='.'.join(['a','b','c'])
print(l)
#分解
s1='''666
Shu
32
66
777'''
print(s1.split('\n'))#['666', 'Shu', '32', '66', '777']
#rjust
s2='fdf'
print(s2.rjust(10,'*'))
#clipboard usage
import pyperclip
#pyperclip.copy('Hello')
print(pyperclip.paste())

11.其他的内容:

  • 参数的使用:
#coding=gb2312
#参数的使用
import sys
print(type(sys.argv))
for k in sys.argv:
    print('argument '+k)

12.参考

2条评论

  • mooc

    2017年5月26日

    感觉有点散,不如叫“笔记” 😆

    • shu

      2017年5月28日

      可以的。 😉