7-16
学习pycharm的使用及复习基本语法
参考书籍:《Python编程:从入门到实践》
《编程小白的第一本python编程入门书》
pycharm的使用及常规设置
new project→new file→python file
默认设置更改:file→setting
高效使用python的系列文档:https://pedrokroger.net/getting-started-pycharm-python-ide/(暂时好像没啥用)
基本语法
字符串
输入
what_he_does = 'plays'
his_instruments = 'guitar'
his_name = 'Robert'
artist_intro = his_name + what_he_does + his_instruments
print(artist_intro)
Run
F:\pythonwork\venv\Scripts\python.exe F:/pythonwork/a01.py
Robertplaysguitar
Process finished with exit code 0
不同类型字符串不能合并
查看类型print(type(word))
转化类型num2=int(string)
字符串的分片与索引
字符串可以通过string[x]的方式进行索引、分片,字符串的分片实际上可以看做从字符串中找出你要截取的东西,复制出来一小段长度,储存在另一个地方。
name = 'my name is mike'
print(name[0])
print(name[-4])
print(name[11:14])
print(name[5:])
print(name[:5])
Run
m
m
mik
me is mike
my na
第一个字符是0,最后一个是-1
接下来面对一个场景,就是在登陆账户的时候,密码需要遮挡,账户信息只显示后四位。
phone_number = '1386-666-0006'
hiding_number = phone_number.replace(phone_number[:9],'*' * 9)
print(hiding_number)
Run
*********0006
接下来解决另一个问题,手机中号码查找功能
search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print(search + ' is at ' + str(num_a.find(search) + 1 ) + ' to'+ str(num_a.find(search) + len(search)) + ' of num_a')
print(search + ' is at ' + str(num_b.find(search) + 1 ) + ' to'+ str(num_b.find(search) + len(search)) + ' of num_b')
Run
168 is at 6 to8 of num_a
168 is at 1 to3 of num_b
函数
创建函数
def fahrenherit_converter(C):
fahrenherit = C * 9/5 +32
return str(fahrenherit) + 'F'
C2F = fahrenherit_converter(35)
print(C2F)
位置参数传入的方式
trapezoid_area(base_up=1, base_down=2, height=3)
trapezoid_area(1,2,3)
逻辑控制与循环
成员运算符与身份运算符
album = ['Black Star','David Bowie',25,True]
album.append('new song')
'Black Star' in album
append用于添加
第三行代码返回true or false
嵌套循环
for i in range(1,10):
for j in range(1,10):
print('{} X {} = {}'.format(i,j,i*j))
数据结构
Python有四种数据结构:列表,字典,元组,集合。
list = [val1,val2,val3,val4]
dict = {key1:val1,key2:val2}
tuple = (val1,val2,val3,val4)
set = {val1,val2,val3,val4}
列表
列表可以装进python的所有对象
fruit.insert(1,'grape')
插入必须指定位子
remove()
删除列表中元素
字典
字典这些数据结构特征如现实中字典一样,使用名称-内容进行数据的构建,python中分别对应key-value
key不可重复不可改变,value可以
NASDAQ_code.update({'FB':'Facebook','TSLA':'Tesla'})
添加元素
del NASDAQ_code['FB']
删除元素,用key来索引
元组
元组可以别看作是稳定的列表,不能被修改
集合
不能别切片也不能被索引
列表推导式的用法
list = [item for item in iterable]
item是想要放在列表的元素,后面就是循环
d = {i:i+1 for i in range(4)}
g = {i:j for i,j in zip(range(1,6),'abcde')}
g = {i:j.upper() for i,j in zip(range(1,6),'abcde')}
类
class CocaCola:
formula = ['caffeine','sugar','water','soda']
print(CocaCola.formula)
for element in coke_for_me.formula:
print(element)
创建属性object.new_attr
class cocacoal:
formula = ['caffeine','suger','water','soda']
def drink(self,how_much):
if how_much == 'a sip':
print('cool')
if how_much == 'whole bottle':
print('headache')
ice_coke = cocacoal()
ice_coke.drink('a sip')
python中存在一些方法被称为魔术方法,init()意味着在创建实例的时候不去引用命令也会被自动执行
类的继承
class CaffeineFree(CocaCola):
caffeine = 0
ingredients = [
'High Fructose Corn Syrup',
'Carbonated Water',
'Phosphoric Acid',
'Natural Flavors',
'Caramel Color',
]
coke_a = CaffeineFree('Cocacola-FREE')
coke_a.drink()
在新的类caffeinefree后面括号中放入cocacola,表示这个类继承于cocacola这个父类,caffeinefree成了子类
安装自己的库
找到python文件夹,找到下面的site-packages文件夹,记住你的文件名,将你写的py文件放进去
使用第三方库
https://awesome-python.com/
比如要找爬虫的库,查找web Crawling这个分类
pycharm中安装库
file→default settings
搜索project interpreter选择当前版本,按加号添加库,搜索,install
使用pip安装库
python3 -m pip install PackageName
pip list 查看库
pip install –upgard pip 升级pip