Loading... 学得一坨勾八的Python再次从头开始自学,希望这次能学好点。 *向伟大的Dennis M. Ritchie致敬!* ## 这次记得装pipenv 老规矩,64位主程序和`PyCharm`还是要准备好的。这次记得得装一下`pipenv`,总不能老是用内置虚拟环境啊,命令如下(管理员): ```powershell pip install pipenv ``` 装好了就能自动识别了,但是为了避免杀鸡用牛刀,简单的程序还是使用`VS Code`来跑,装一下插件就行。 至此,安装部分结束。 **我们,重新开始。** ## 是不是每一门语言都要从HelloWorld开始 大概是铁律了,笑死。 ### 不管怎样祖宗之法不可变 高中学的Python2的内容还在脑子里萦绕不去,但是这次不能直接`print "xxx"`了,老规矩,最简单的语法先给上。 ```python #单行注释 ''' 这里是多行注释 ''' """ 当然一如既往的,python是个很随便的语言,他不在乎单双引号 """ print("Hello World!") ``` ### 关于变量和类型啊 当然自从PEP8以后,Python引入了一些规则(反正你这么写准没错) * 变量名用字母数字下划线,不允许数字开头,小写字母拼写变量且用下划线连接单词 * 大小写敏感 * 不得与关键字冲突 * 受保护实例属性单下划线开头 * 私有实例属性双下划线开头 ### 用好`Type`函数 因为Python是弱类型语言,无需声明变量即可直接使用。所以很多时候兄弟们一脸茫然不知道这勾八变量是什么勾八类型,那么这时候Type函数就派上用场了,这玩意可以获取当前变量的类型。 咱们举个栗子: ```python a = 1 #整数 b = 2.0 #浮点 c = 1 + 5j #复数 d = "a" #字符串(注意不区分单双引号) e = True #布尔 print(type(a)) print(type(b)) print(type(c)) print(type(d)) print(type(e)) ``` 输出结果如下: ```bash <class 'int'> <class 'float'> <class 'complex'> <class 'str'> <class 'bool'> ``` ### 给老子变 同样的,如果当前的变量类型不符合你的要求,也可以使用内置的强制变量类型转换函数进行操作: * `int(x,base=y)`将字符串或者数值转换为整数,可指定进制 x:可为字符串或者数字,如果为字符串必须为**整数** y:**只有x为字符串时才能用**,代表前面x的进制 返回值:十进制整型数据 不传入参数时,默认返回值为0; * `float(x)`将当前数字或字符串转换为浮点数 x:必须为数字或者内容为数字的字符串 返回值:十进制浮点数据 * `str()`将指定对象转换为字符串*下面懒得写了,用到了再补充* * `chr()`整数转换为字符串(一个字符) * `ord()`字符串(一个字符)转换为对应的编码(整数) ### 输入&输出 还有占位符 在输出的**字符串**中使用`%`占位符可以让变量后置,这一点和C是一样的 * `%d`整数占位符(也可表示取整浮点数) * `%f`浮点数占位符,默认后六位。用`%.nf`表示保留n位小数 * `%s`字符串占位符 输入用的是`input()`函数,里面输入`'xxx'`就可以先输出再等待输入,返回的输入值永远为**字符串**类型 输出嘛老规矩`print()`,用占位符可以输出多个变量;也可以用`{x}`表示输出`x`变量。同时可以用`{x:.nf}`表示这是保留n位的浮点数。 举个栗子,例如这个经典得要死的温度转换: ```python f = float(input('请输入华氏温度: ')) c = (f - 32) / 1.8 print('%.1f华氏度 = %.1f摄氏度' % (f, c)) ``` ### 运算符倒是一如既往——但是比C方便多了 用烂了的那些不多提了,这里记录一些常用但是我老忘记的 | 运算符 | 描述 | | ------------ | ------------------ | | `[]` | 下标 | | `[:]` | 切片(还没看懂) | | `**` | 指数 | | `//` | 整除 | | `>>` ` <<` | 右移 左移 | *备注:懒得思考优先级,直接用括号更方便* ## 分支&循环——程序的灵魂 分支依旧是老规矩,最经典的`if`, `elif`, `else`三个关键字。但是注意,Python不使用花括号来构造代码块,使用**冒号和缩进**来表达层次关系。但是默认情况下的递进是**四个空格**而不是Tab。*但是在VS Code里默认一个Tab=四个空格所以不用管,放心大胆按Tab就完事。* ```python if x == xxx: aaaaa; if y = yyy; zzzzz elif y == zzz: axaxax else: mmmmm elif x == yyyy: bbbb elif x == zzzz: cccc; ``` 大概是这样一个结构。个人感觉就目测而言不如JAVA或者C的小括号+花括号的组合明了简洁(尤其是在多重嵌套的时候)。 循环也是有很多种,如果明确知道循环次数(或者容器进行迭代的话),一般推荐使用`for-in`循环语法。 ```python sum = 0 for x in range(101): sum += x print(sum) ``` 上面就是用来计算1到100和的一个简单的程序,`range(1,101)`用来构造一个1到100的范围,用法大概是`range(x,y,z)`分别代表起始数字,最终数字和步长,注意的是前面是闭区间后面是开区间,取不到最终数字。 当然`for-in`循环还有一种用法是遍历容器里的东西,比如这个: ```python languages = ["c","c++","Perl","Python"] for l in languages: print(l) ``` 输出为: ```bash c c++ Perl Python ``` while循环更适合构造一个不知道具体循环多少次的循环结构,用法和其他语言基本一致。包括`break`和`continue`的用法,此处略过。 至此,基础Python语法基本完毕,大概。 最后修改:2023 年 01 月 11 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏