python基础
(一)pycharm的使用
1.pycharm的常用快捷键
- Crtl+D:复制上一行。
- Tab+CapsLock:向后缩进。
- Tab+shift:向前缩进。
- Ctrl+?:多行同时注释。
- Home:移动至本行最前面。
- End:移动至本行最后面。
- Ctrl+Alt+L:自动调整格式。
2.sogo输入法和pycharm的不兼容处理办法。
- 第一步:点击【File】---【Setting】---【Editor】---【File Encoding】页面,设置global 和project encoding为UTF-8,然后点击应用。
- 第二步:点击【File】---【Setting】---【Editor】---【File and Code Templates】,点击右边的【python script】,在编辑框中输入:# -*- encoding:utf-8 -*-。(该步骤主要是解决python2和python3的兼容问题。)
- 第三步:设置好后,重启下pycharm。
- 第四步:将你的搜狗输入法更新到最新。
- 通过以上4步即可解决问题。
(二)python的基础知识
1.python2x和python3x的区别。
- python2x:源码重复,冗长。
- python3x:将源码规范化,简单化,清晰化。
2. 编程语言的划分
- 解释型:代码逐行解释逐行运行。
- 代表语言:python,php。
- 优点:开发效率高,跨平台。
- 缺点:执行速度慢。
- 编译型:将代码一次性全部编译成二进制,然后执行。
- 代表语言:C,C++。
- 优点:执行速度高。
- 缺点:开发效率低,不能跨平台。
说明:解释型语言是转行为字节码,之后边执行边翻译成机器码。
3.python语言的优缺点
- 优点:
- 开发效率高,python含有N多个第三方库。
- 高级语言,不用考虑底层或者内存级别。
- 可拓展性。可以加入C++的程序。
- 可嵌入性。可将python代码嵌入到C++程序中。
- 可移植性。不同平台的移植。
- 缺点:
- 执行速度相对慢。
- 代码不能加密。
- 多线程的问题。
4.python的种类
- Cpython:官方推荐,用C语言写的。
- Jpython:可以在Java平台上运行的,可以解释成Java识别的字节码。
- Ironpython:可以在.net平台上运行的,可以解释成.net识别的字节码。
- Ipython:在Cpython基础上拓展的,交互式的解释器。
- pypy:利用JIT技术,实现了动态编译,执行速度非常快。
5.变量
- 变量命名的规范:
- 变量必须要有数字、字母、下划线任意组合。
- 变量不能数字开头。
- 变量名不能是python中的关键字。关键字['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not','or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']。
- 变量要具有可描述性。【错误举例: name = 12】
- 变量不建议使用中文。
- 变量不能过长。
- 官方推荐使用“下划线形式”【两种形式举例:驼峰体:AgeOfOldboy = 56;下划线:age_of_oldboy = 56】
- 作用:将程序中运算的中间结果保存起来,以便后续程序调用。
6.常量
- 作用:设置一些不变的量,放在文件的最前面。
- 常量的形式:将变量全部大写即约定为常量。
7.注释
- 单行注释:用“#”进行单行注释。
- 多行注释:''' 被注释内容 ''' 。
- 注释原则:注释不宜多,宜精。
8.基础数据类型知识
- 整数(int)
- 主要用于计算,计数,+-*/% **....。
- 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647。
- 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807。
- 字符串(str)
- 在python中,凡是用引号引起来的数据都是字符串。
- name = '太白jin星'。
- 单引号,双引号,三引号 引起来没有任何区别。
- 布尔值(bool)
- True:1。
- False:0。
9.Input的使用
- 阻塞式的。程序会停留在这句话。等着用户输入。 当输入回车的时候,程序继续执行。
-
# input接收的所有内容都是字符串 name = input("请输入你的名字:") print("从控制台接收到的名字是:", name) # 这里的a是字符串, int(字符串) 把穿进去的字符串转换成int a = input("请输入一个数字:") a = int(a) # 把变量a的值变成整数 print(a + 1)
-
#整型与字符串的转换 #int ---> str i1 = 100 s1 = str(i1) print(i1,s1) print(type(i1),type(s1)) #int <--- str (字符串必须全部由数字组成) s1 = '123' print(int(s1),type(int(s1)))
10.if的使用
- if 语句的5种结构
- 结构1:单独if。
- 结构2:if,else:二者必选其一。
- 结构3:if ,elif,elif...。
- 结构4:if ,elif,elif...,else。
- 结构5:if的嵌套。
-
#结构1:单独的if if 2 > 3: print(666) print(333) #结构2:if,else:二者必选其一。 name = input('>>>') if name == 'alex': print('He is SB') else: print(666) #结构3:if ,elif,elif...。 num = int(input('>>>')) if num == 6: print('请你吃饭') elif num == 4: print('跟我回家...') elif num == 2: print('大宝剑') #结构4:if ,elif,elif...,else。 num = int(input('>>>')) if num == 6: print('请你吃饭') elif num == 4: print('跟我回家...') elif num == 2: print('大宝剑') else: print('太笨了你....') print(666) username = input('请输入用户名:') password = input('请输入密码:') #结构5:if的嵌套。 if username == 'alex' : if password == 'sb': print('成功登陆') else: print('密码错误') else: print('用户名错误')
11.while的使用
-
# 循环: while True: print('忐忑') print('大悲咒') print('海草') print('想太多') # 标志位 flag = True while flag: print(111) print(222) flag = False print(333) flag = True while flag: print(111) print(222) flag = False print(333) print(777) flag = True count = 1 while flag: print(count) count = count + 1 if count == 101: flag = False count = 1 while count < 101: print(count) count = count + 1 # count += 1 # break 循环中只要遇到break就直接跳出循环。 while True: print(111) print(222) break print(333) flag = True while flag: print(111) print(222) flag = False print(333) # continue: 遇到continue,跳出本次循环,继续下一次循环。 while True: print(111) print(222) continue print(333) # while else: 只要while循环被break打断,则不走else程序;如果不被break打断,则while循环执行完成后,执行else的内容。 count = 0 while count <= 5 : count += 1 print("Loop",count) if count == 3: break else: print("循环正常执行完啦") print("-----out of while loop ------")