python学习笔记
第1-3章 基础知识
https://www.jetbrains.com/help/pycharm/
小技巧:如果在编辑器中未选择任何内容,按 ⌘C 可将文本光标处的整行复制到剪贴板。
按两次 ⌃Space 可调用代码补全功能的特殊变体,这样您可以从没有在当前文件中声明的命名空间补全 XML 标记名称。如果命名空间尚未声明,则会自动生成声明。
使用 代码 | 检查代码 可对整个项目或自定义范围运行代码分析,并在单独的窗口中检查结果。
要水平滚动文件,请在按住 Shift 的同时转动鼠标滚轮。
调试时,您手头可能需要交互式控制台… 这很容易。在调试过程中,切换到 调试器控制台 ,然后按其工具栏中最下方的按钮。
控制台会切换为交互模式并显示提示,您可以在其中输入命令并查看输出。
代码 | 上移/下移语句 操作对于重新组织代码行非常有用,例如,可以让变量声明更靠近变量用法。
选择一段代码,然后按 ⇧⌘↑ 或 ⇧⌘↓。
按 ⌃⇧↑ 和 ⌃⇧↓ 可在编辑器中的方法之间快速移动。
要关闭编辑器中除当前选项卡外的所有选项卡,请按住 Alt (在 Windows 和 Linux 中)或 Alt(Option) (在 macOS 中),然后点击当前编辑器选项卡上的 。
在交互式控制台中工作时,您无需记住命令行语法或可用的函数。相反,您可以使用熟悉的代码补全 ⌃Space 。此外,在查找列表中,您可以按 F1 查看条目的文档。
要从类、方法或变量的用法导航到其声明,请将文本光标置于符号处并按 ⌘B (导航 | 声明或用法 )。您还可以按 Ctrl 键并点击用法来跳转到声明。
如果将文本光标置于符号处并按 ⌃T ,将打开适用于当前上下文的重构列表。
1、打印3个hello world !
print ("hello world !\n" *3)
hello world !
hello world !
hello world !
print ("hello world !\n" +3)
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
print ("hello world !\n" +3)
TypeError: can only concatenate str (not "int") to str
2、tab键,即:缩进,是python的灵魂,不可缺少,否则执行报错。
3、内置函数BIF,在python中输入:dir(builtins)可看到python全部的内置函数。
dir(__builtins__)
__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
4、字符串(引号的作用:拼接字符串)
5+3
8
print(5+3)
8
'5'+"3"
'53'
print('I LOVE ' + "PYTHON !")
I LOVE PYTHON !
5、转义字符“\”
print('let's go !') //python误解
SyntaxError: unterminated string literal (detected at line 1)
print('let\'s go !') //方法1,利用转义字符'\'
let's go !
print("let\'s go !") //方法2,利用即可用''也可用""的特点
let's go !
6、原始字符
eg:
string = 'C:\now'
string
'C:\now'
print(string)
C:
ow
针对如下情况,采用原始字符解决。
a、‘‘转义’’
string = 'C:\\now'
string
'C:\\now'
print(string)
C:\now
b、如果有很多个’'呢,使用原始字符串解决,即:在字符串前面加一个字母"r"
string = r'C:\now'
string
'C:\\now'
print (string)
C:\now
7、长字符串,跨越多行打印,在字符串的末尾加一个反斜杠’'表示输入还没有结束,接续接收下一行。
print ("从明天起\n做一个\n早起的人\n不再懒惰\n") //结尾的'\n'表示换行
从明天起 //注意:/n/ 后面的/表示/n后继续接收后面的内容;
做一个
早起的人
不再懒惰
三重引号字符串—> “”“value”“”
string="""
从明天起
做一个早起的人
一个勤劳的人
一个爱学习的人
"""
print(string)
====================== RESTART: C:/Users/DELL/Desktop/test.py ======================
从明天起
做一个早起的人
一个勤劳的人
一个爱学习的人
8、“”“用pyhon制作第一个猜数字小游戏”“”
import random
counts = 5
answer = random.randint(1,10)
while counts > 0:
temp = input ("guess the digital of me:")
guess = int(temp)
if guess == answer:
print ("恭喜你,猜对啦!")
break
else:
if guess < answer:
print("小啦") //注意tab键补全空格。
else:
print("大啦")
counts = counts - 1
print("end of grame !")
执行结果:
========================== RESTART: C:/Users/DELL/Desktop/test.py ==========================
guess the digital of me:3
小啦
guess the digital of me:6
大啦
guess the digital of me:5
大啦
guess the digital of me:4
恭喜你,猜对啦!
end of grame !
9、数据类型小记
int,float,str,bool
注意:a、 int转为float时,直接舍弃小数点后面的数,不是四舍五入。
b、bool类型只分为true(1)和false (0).
c、
类型转换:
//str转int
a='520'
b=int(a)
a,b
('520', 520)
//int转float
a=1
b=float(a)
a,b
(1, 1.0)
//float转int
a=1.234
b=int(a)
a,b
(1.234, 1)
//str()是将其他任何类型转换为字符串
a=1.234
b=str(a)
b
'1.234' //float-->str
c=str(2e10)
c
'20000000000.0'
获取类型信息
a、type()函数
type(520)
<class 'int'>
type("i love python !")
<class 'str'>
type(1.00000)
<class 'float'>
type(True)
<class 'bool'>
b、isinstance()函数
a="I LOVE PYTHON !"
isinstance(a,str)
True
isinstance(5201314,int)
True
isinstance(5201314,float)
False
// python除法
3//2
1
3.0//2
1.0
% 取余
10%3
1
** 乘方运算符
3**3
27
6**2
36
6**3
216
3**3
27
逻辑运算符----> python比C多了一个not not true 为false not 3为0
第四章:分支和循环
4.1 三元操作符
语法:a = x if 条件 else y eg:a=x if x<y else y //x<y a=x,否则,a=y
4.2 断言(assert)
当assert后面的条件为假的时候,程序自动崩溃并抛出错误AssertionError。
第五章:列表、元组和字符串
5.1 列表
5.1.1 获取列表中的元素
>>> liebiao = [1,2,3,"python",[1,2,3]]
>>> type(liebiao)
<class 'list'>
>>> print(liebiao)
[1, 2, 3, 'python', [1, 2, 3]]
>>> liebiao[0]
1
>>> liebiao[-1]
[1, 2, 3]
>>> liebiao[-2]
'python'
5.1.2 向列表中添加元素
列表并不是一成不变的,可以随意地往里面添加新的元素。添加
元素到列表中,可以使用append()方法:
>>> liebiao.append("添加一个新元素")
>>> liebiao
[1, 2, 3, 'python', [1, 2, 3], '添加一个新元素']
可以看到,字符串“添加有个新元素”已经被添加到列表liebiao的末尾了。有读者可
能会问,这个append()的调用怎么跟平时的BIF内置函数调用不一样
呢?
因为append()并不是一个BIF,它是属于列表对象的一个方法。中
间这个“.”,暂时可以理解为范围的意思:append()这个方法是属于一
个叫liebiao的列表对象的。