『Python | 预备基础』学海拾遗

  • 本系列请配合 Jupyter Notebook & Pycharm 食用
  • 本文适合novice
  • 宕开一笔:Jupyter = Julia+ Python+R,与“木星(jupiter)“谐音,开发者Fernando Pérez旨在集合上述三种编程语言的平台

如何打开Jupyter Notebook?

  1. 在开始菜单中找到Anaconda3-Jupyter notebook,单击打开
  2. 系统会自动打开一个命令窗口,不要关闭,不要关闭,不要关闭!
  3. 同时打开浏览器,文件夹默认为Anaconda3所在根目录,故所需.ipynb应下载在同一目录下
  4. 新建.ipynb:右上角New,新建Python3文件
    在这里插入图片描述
    查看新文件的绝对路径:
    在cell中输入
pwd
ls

基本使用方法

Getting Help:

#help(函数名)
help(print)
?int

查询“方法”:

a.sort?

Python使用**<变量名>=<表达式>**的方式来赋值变量

greeting="Hello Meruem!"
print(greeting)
  • Python命名规则 Naming rules
  1. 开头:必须以字母或下划线(_),不能用数字
  2. 变量名只能包含字母、数字和下划线。
  3. 大小写敏感,即变量名My和my是不同的。
  4. 使用有意义的单词,便于查看。
  5. 尽量使用驼峰命名法或下划线命名法,以提高代码的可读性。

存在NameError: name ‘Meruemm’ is not defined

数据类型

在这里插入图片描述
在这里插入图片描述

字符串string

简单操作

#索引
s='1234'
s[0]
>>>'1'
#连接
s = 'hello' + 'world'
>>>'helloworld'
m = 'hello'+' '+'world' 
>>>'hello world'
#字符串与数字相乘:
"echo" * 3
#长度
len(s)
#查看type
type(s)
#添加空白
print('\npython\nR\nC++')

字符串方法

  • 改变大小写
  1. .title()
  2. .upper()/.lower()
  • 去除空格
    .strip()
    .lstrip()、.rstrip()

  • 切片+连接+替换
    .split(seq)以给定的sep为分隔符对s进行分割,default:空格

line='1 2 3 4 5'
print(line.split())
sentence='1,2,3,4,5'
print(sentence.split(','))
['1', '2', '3', '4', '5']
['1', '2', '3', '4', '5']

s.join(str)的作用是以s为连接符将字符串序列str中的元素连接起来

number=','.join('12345')#将字符串各元素中间用‘,’连接
print(number)
>>>1,2,3,4,5
fomula='*'.join('12345')
print(fomula)
>>>1*2*3*4*5
string_var = "*".join(("lo", "ve", "!"))#拆分元组,将各元素用*连接,输出仍然是str
print(string_var)
type(string_var)
>>>lo*ve*!
>>>str

s.replace(A, B) part1替换成–>part2
即replace A to B

s = "hello world"
s.replace('world', 'python')
>>>'hello python'
print(S)
>>>"hello world"

需要注意的是,s 作为 str 不可变,只是临时输出了替换后的新字符串

其他方法

dir函数查看所有可以使用的方法:

dir(S)

[‘add’,
class’,
contains’,
delattr’,
dir’,
doc’,
'eq’等

格式化字符串 .format

{<参数序号>: <格式控制标记>}
<填充><对齐><宽度>,<.精度><类型>
在这里插入图片描述

print('{:.<10}{:.>20.2f}'.format("保险科技",100.12345))
print('{:.<10}{:.>20.2f}'.format("保险科技科技",10.12345))
print('{:.<10}{:.>20.2f}'.format("保险",1000.12345))
print('{:.<10}{:.>20.2f}'.format("科技",108.12345))

保险科技…100.12
保险科技科技…10.12
保险…1000.12
科技…108.12

'{} {} {}'.format('a', 'b', 'c')
'{2} {1} {0}'.format('a', 'b', 'c')

‘a,b,c’
‘c,b,a’

更复杂一点,引用变量

'{color} {n} {x}'.format(n=10, x=1.5, color='blue')
elements=['w','h','o']
'the first element is {el[0]}'.format(el=elements)

简化:使用f-string

name = 'Alan'
grade = '3'
f'hello,my name is {name},on grade {grade}'
##f大写也可以
F'hello,I am {name},on grade {grade}'

只会输出最新的f-string

'hello,I am Alan,on grade 3'

Because f-strings are evaluated at runtime, you can put any and all valid Python expressions in them. This allows you to do some nifty things.

f"{2*37}"
'74'

Numbers (int+float)

#取余% 
#取商//
#四舍五入
round(3.43 - 3.2,1)
#绝对值
abs(-1.56)
#最大最小值
print(min(2, 3, 4, 5))
print(max(2, 4, 3))
0.2
1.56
2
4

List

有序

  • 生成列表
  • 加法&乘法(和字符串原理相同)
  • 分片 [lower : upper : step]
    不包括末尾值,== [ , ) ==
s = "hello world"
s[::-1]#仅能倒序字符串

‘dlrow olleh’

修改

# 把开头的 h 改成大写
s[0] = 'H'
#连续替换
s[1:3] = [1, 2]
#空格替换(即删除)

整段替换的方法,两者的元素个数并不需要相同,例如,将 [11,12] 替换为[1,2,3,4]

  • append() 列表后面加元素
  • l.insert(idx, var) 在索引 idx 处插入 var ,之后的元素依次后移。
  • 删除
    • del (完全删除)
    • l.remove(var) 将列表中第一个出现的 var 删除,如果 var 不在 l 中会报错。
    • l.pop(idx) 会将索引 idx 处的元素**“弹出”,并且删除**,默认值为[-1]
    • l.clear()
#删除第2到最后一个元素:
a = [1002, 'a', 'b', 'c']
del a[1:]
>>>[1002]
# 移除了第一个 11
s = [10, 11, 12, 13, 11]
s.remove(11)
>>>[10, 12, 13, 11]
# pop默认值
l= [10, 11, 12, 13, 11]
l.pop()
>>>[11]
#clear()清除
stock_name = ['浦发银行','招商银行','平安银行']
stock_name.clear()
>>>[]

列表内元素计数

a=['I','like','python','like','I']
a.count('I')
>>>2
  • 索引

排序l.sort()

在这里插入图片描述
如果不想改变原来列表中的值,可以使用 sort ed 函数:
在这里插入图片描述
此时a依旧是a,新列表被存入b

反向

l.reverse() 会将列表中的元素从后向前排列
在这里插入图片描述

列表推导式

列表推导式相较于循环的效率更高,但占用内存较大。
-

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值