一、pycharm的使用
安装pycharm
直接一步一步安装即可,注意选择一个专门安装软件的路径(例如D:\mysoflt)。方便以后查找和修改。
激活
在安装的最后一步,询问是否立即运行pycharm,可以选择直接运行,此时询问是否导入之前已经存在的一些设置信息。由于是第一次安装,选择Do not import any settings.
然后进入激活页面,选择使用激活码激活的方式
使用激活码方式激活。
- 先修改hosts文件。
在运行窗口中输入drivers命令,直接打开所有驱动所在的路径。
找到etc目录,打开期中的hosts文件,在文件的最后一行添加如下信息:
0.0.0.0 account.jetbrains.com
保存退出。
如果出现不能保存的问题,参考这个解决方式:
https://jingyan.baidu.com/article/624e7459b194f134e8ba5a8e.html
- 激活
把激活码复制到激活框中。点击ok即可。
设置
工具栏显示
显示风格
字体
如何更换工程的解释器
缩进原则:
碰到冒号的下一行,需要有缩进!!!
二、python基础一
1 格式化输出
name = input('请输入姓名') age = input('请输入年龄') hobby = input('请输入爱好') msg = '我的姓名是' + name + '我今年' + age + '我的爱好是' + hobby print(msg)
字符串的拼接可以制作一个公共字符串模板,让某些位置变成动态的。
比如
msg = '''------------ info of Alex Li ----------- Name : Alex Li Age : 73 job : sbboss Hobby: laddy_boy ------------- end -----------------''' print(msg)
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobby = input('请输入爱好:')
s1 = '------------ info of '+ name + ' -----------\n'
s2 = 'Name : ' + name + '\n'
s3 = 'Age : ' + age + '\n'
s4 = 'job : ' + job + '\n'
s5 = 'Hobby : ' + hobby + '\n'
msg = (s1 + s2 + s3 + s4 + s5)
print(msg)
这样做很麻烦,用格式化输出
% 占位符 s:字符串类型 d:数字 i:数字 # r 原形毕露
name = input('请输入姓名:') age = input('请输入年龄:') job = input('请输入工作:') hobby = input('请输入爱好:') msg = '''------------ info of %s ----------- Name : %s Age : %d job : %s Hobbie: %s ------------- end -----------------''' % (name,name,int(age),job,hobby) print(msg)
格式化输出 如果你只是想要表示百分号%,而不是占位符。
# msg = '我叫%s,今年%s岁,学习进度为0.5%%' % ('高航', 40)
# print(msg)
2 基本循环
while 条件:
# 循环体
#如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
while True: print('海草') print('女儿情') print('二泉映月') print('牧马城市')
如何终止循环
1,改变条件。
2,break
3,调用系统命令:quit() exit() (不建议使用)
改变条件
flag = True while flag: print('海草') print('女儿情') flag = False print(111) print(222)
从 1 ~ 100 利用while循环
计数器的概念
count = 1 flag = True while flag: print(count) count = count + 1 if count == 101: flag = False
count = 1 while count < 101: print(count) count = count + 1
break:循环中遇到break 直接退出循环
print(111) while True: print(222) print(333) break print(555) print(666)
打印 1~100 所有的偶数。
方法一
count = 2 while count < 101: print(count) count = count + 2
方法二
count = 2 while True: if count % 2 == 0: print(count) count = count + 1 if count > 100: break
count = 2 while count < 101: if count % 2 == 0: print(count) count = count + 1
continue 结束本次循环,继续下一次循环
while True: print(111) print(222) continue print(333)
计算 1 + 2 + 3 + 4 + 5 + ...100 结果。
count = 1 sum = 0 while count < 101: sum = sum + count count = count + 1 print(sum)
固定搭配: while else
循环只要被break打断,则就不会执行else的程序。
count = 1 while count < 5: print(count) count = count + 1 else: print(666)
count = 1 while count < 5: print(count) count = count + 1 if count == 3: break else: print(666)
3 运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、
位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算、成员运算
算数运算符arithmetic operator:
以下假设变量:a=10,b=20
% : 取余,取模。取的是第一个操作数和第二个操作数除法的余数。整除结果为0.
10 % 3 1 10 % 5 0 10 % -3 -1 10 % -5 0 -10%3 2
% 真正操作步骤:
- 用第一个数除以第二个数,得到最相近的两个商。取最小的数。
- 用第一个数减去第二个数和第一步的到的数的乘积。
比较运算符compare operator:
以下假设变量:a=10,b=20
比较运算符的结果始终是布尔类型。
赋值运算符assignment operator:
以下假设变量:a=10,b=20
逻辑运算符logic operator:
逻辑运算符的结果到底是什么类型???
结果取决于两个操作数的类型!!!
针对and操作:第一个操作数如果是可以转成False的话,那么第一个操作数的值,就是整个逻辑表达式的值。
如果第一个操作数可以转成True,第二个操作数的值就是整个表达式的值。
针对or操作:第一个操作数如果是可以转成False的话,第二个操作数的值就是整个表达式的值。
如果第一个操作数可以转成True, 第一个操作数的值,就是整个逻辑表达式的值。
针对逻辑运算的进一步研究:
1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
2 , x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
总结:
a and b 如果a是正确,就取b,如果a错误,取a
a or b 情况相反
成员运算符:
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
判断子元素是否在原字符串(字典,列表,集合)中:
例如:
print('喜欢' in 'dkfljadklf喜欢hfjdkas') print('a' in 'bcvd') print('y' not in 'ofkjdslaf')
4 编码初识
计算机:文件,数据存储在硬盘中,或者发出去,实际发送的是什么?
0101010101 ----- > 不同的文字或者信息。
一位 :1bit 8bit == 1bytes
1字节 1 bytes = 8bit 1024bytes == 1kb
一个字符用一个字节表示 1024kb == 1Mb
1024Mb == 1GB
1024GB == 1Tb
python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,只包含英文字母,数字,特殊字符。主要用于显示现代
英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
s1 = 'oldboy' 用ascii编码本编译: 6个字节表示
随着计算机的发展,世界的编码协会: 要写一个能满足全世界语言通用的密码
unicode:(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,
规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多 32bit 4个字节表示一个字符
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
s2 = '老boy' : utf-8编码:6个字节。
gbk:gb2312 等等 国标,中国人自己发明的密码本。
a : 00000011
中: 00000011 00100011
s2 = '老boy' : gbk编码:5个字节。
gbk ---> utf-8转化