> 文章列表 > Python学习笔记--基础语法

Python学习笔记--基础语法

Python学习笔记--基础语法

(一)字面量

      1. 定义:在代码中,被写下来的固定的,称之为字面量。

      2. 常用的6种值的类型

类型

描述

说明
数字(Number)

支持(4种子类型)

  • 整数(int)
  • 浮点数(float)
  • 复数(complex)
  • 布尔(bool)
  • 整数(int),如:10、-10
  • 浮点数(float),如:13.14、-13.14
  • 复数(complex),如:4+3j,以j为结尾表示复数
  • 布尔(bool),表述现实生活中的真假,即True本质为数字1、False本质为数字0
字符串(String) 描述文本的一种数据类型 字符串(string)由任意数量的字符组成
列表(List) 有序的可变序列 Python中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple) 有序的不可变序列 可有序记录一堆不可变的Python数据集合
集合(Set) 无序不重复集合 可无序记录一堆不重复的Python数据集合
字典(Dictionary) 无序Key-Value集合 可无序记录一堆Key-Value型的Python数据集合

 3. 字符串

Python中,字符串需要用双引号包围;

被双引号包围的都是字符串

666
13.14
"黑马程序员"print( 666 )
print( 13.14 )
print( "黑马程序员" )# 输出语句结果 
>>666
>>13.14
>>"黑马程序员"

(二) 注释

        1. 单行注释

# 我是单行注释
print( "黑马程序员" )

规范:#号和注释内容一般建议以一个空格隔开

       2.多行注释:以一对三个双引号引起来("""注释内容""")来解释说明一段代码的作用使用方法

"""我是多行注释    66613.14"黑马程序员"
"""print( 666 )
print( 13.14 )
print( "黑马程序员" )

(三) 变量

        1. 定义:程序运行时,能储存计算结果或表示值的抽象概念。

                       简单的说,变量就是在程序运行时,记录数据用的

        2.定义格式:

变量名称 = 变量的值

# 定义变量
money = 5000# print输出变量
print( " 钱包还有:" , money )# 买了东西,花费10元
money = money - 10
print( "买了冰淇淋花费10元,还剩余:" , money , "元" )

变量值可变

$练习:

(四) 数据类型

        1. type()语句【具有返回值】

             1)语法:

type(被查看类型的数据)

             2)使用方法:

# 方式1:使用变量存储type()语句的结果
string_type = type("黑马程序员")
int_type = type(666)
print(string_type)
print(int_type)
# 方式2:使用print直接输出类型信息
print( type( 13.14 ) )#方式3:使用type()语句,查看变量中存储的数据类型信息
name = "黑马程序员"
name_type = type( name )
print( name_type )

  2. 变量无类型,查看变量的类型实际上查看的是变量存储数据的类型

      字符串变量:不是字符串是变量,而是变量存储了字符串

(五) 数据类型转换

       1.  常见的转换语句

语句(函数) 说明
int( x ) 将x转换为一个整数
float( x ) 将x转换为一个浮点数
str( x ) 将对象x转换为字符串

此三种语句具有返回值

万物皆可转字符串,因为加上双引号就是字符串

# 将数字类型  ->  字符串类型
num_str = str( 11 )
print( type( num_str ) , num_str )float_str = str( 13.14 )
print( type( float_str ) , float_str )#将字符串转换成数字
num = int( "11")
print(type(num),num)
num2=float("13.14")
print(type(num2),num2)

 想要将字符串转换成数字,必须要求字符串内的内容都是数字(例子如下)

num3 = int ( "黑马程序员" )
print( type( num3 ) , num3 )>> ValueError: invalid literal for int() with base 10: '黑马程序员'/*这行代码是命令提示符操作结果*/

 浮点数转整数会丢失精度

# 整数 -> 浮点数
float_num = float( 11 )
print( type( float_num ) , float_num )# 浮点数 -> 整数
int_num = int( 13.14 )
print( type( int_num ) , int_num )

(六)标识符

        1. 定义:用户在编程时所用的一系列名字,用于给变量、类、方法等命名。 

        2. 命名规则:

                      内容限定(英文,中文,数字,下划线_)

数字不可开头

                     大小写敏感

                     不可使用关键字              

         3. 命名规范:

                    见名知义

                    下划线命名法(firstname不如写成first_name)

                    英文字母全小写

(七) 远算符

        1. 算术运算符:+、-、*、/、//、%、**(指数)

# 算术(数学)运算符
print("1 + 1 = ",1 + 1)
print("2 - 1 = ",2 - 1)
print("3 * 3 = ",3 * 3)
print("4/ 2 = ",4 / 2)
print("11//2 = ",11 // 2)
print("9 % 2 = ",9 % 2)
print("2 **2= ",2 ** 2)

     

  2. 赋值运算符:=

  3. 复合赋值运算符:+=、-=、*=、/=、//=、%=、**=

# 复合赋值运算符
num=1
num += 1 #num=num+1;
print("num+=1: ",num)
num -=1
print("num-=1: ",num)
num *=1
print("num *=1: ",num)
num /=2
print("num/=2: ",num)
num %=2
print("num %=2: ",num)num=4
num**=2
print( "num**=2: ", num)num=9
num //=2
print("num //=2: ",num)

(八) 字符串扩展

1. 3种定义方式

    1)定义形式:

           ① 单引号定义法:

name = '黑马程序员'

           ②双引号定义法:

name = "黑马程序员"

           ③三引号定义法:

name = """黑马程序员"""

                *支持换行操作,使用变量接收它,则为字符串;不使用变量接收,则为多行注释

# 单引号定义法,使用单引号进行包围
name = '黑马程序员'
print( type(name) )# 双引号定义法,写法和多行注释是一样的
name = "黑马程序员"
print( type(name) )# 三引号定义法,写法和多行注释是一样的
name = """
我是
黑马
程序员
"""
print( type(name) )

 2)字符串的引号嵌套

           ①单引号法,可以内含双引号;

           ②双引号定义法,可以内含单引号;

           ②可以使用转义字符(\\)来将引号解除效用,变成普通字符串。

# 字符串内,包含双引号
name = '"黑马程序员"'
print( name )# 字符串内,包含单引号
name = "'黑马程序员'"
print( name )# 使用转义字符(\\)解除引号的效用
name = "\\"黑马程序员\\""
print( name )
name = '\\'黑马程序员\\''
print( name )

2. 字符串拼接

     1)通过+号进行拼接

name = "黑马程序员"
print( "我的名字是:" + name + "我可以教大家IT技能" )

 无法和非字符串类型进行拼接(如下图和整型数字就没法拼接,出现TypeError错误,当然浮点数或者还有一些其他的也是没法拼接的)

name="黑马"
adress="北京"
Tel=15245
print("我的名字是:"+name+",地址在:"+adress+",电话是:"+Tel)

3. 字符串格式化
    1)“%占位符”%变量

class_num=57
avg_salary=16781
message="Python大数据学科,北京%s期,毕业平均工资:%s" %(class_num,avg_salary)
print(message)

可以发现%占位符拼接没有整型的限制

    2)常用占位符

               字符串:%s

               整数:   %d

               浮点数:%f

name="传智播客"
setup_year=2006
stock_price=19.99
message="%s,成立于:%d,我今天的股价是:%f"  % (name,setup_year,stock_price)
print(message)

   

3)数字精度控制

         辅助符号“m.n”来控制数据的宽度和精度

         m :控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效

         .n:控制小数点精度,要求是数字,会进行小数的四舍五入

%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,
用三个空格补足宽度%5.2f:表示将宽度控制为5,将小数点精度设置为2%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置为%.2f,结果是11.35小数点和小数部分也算入宽度计算。如:对11.345设置为%7.2后,
结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度,四舍五入为.35

代码如下:

num1=11
num2=11.345
print("数字11宽度限制为5,结果为:%5d" % num1)
print("数字11宽度限制为1,结果为:%1d" % num1)
print("数字11.345宽度限制为7,结果为:%7d" % num2)
print("数字11.345宽度不限制,小数精度为2,结果为:%.2d" % num2)

 4)快速写法

语法:

f"内容{变量}"

"""
演示第二种字符串格式化的方式:f"{占位}"
"""
name="传智播客"
set_up_year=2006
stock_price=19.99
print(f"我是P{name},我成立于:{set_up_year},我今天的股价是:{stock_price}")

"""
演示对表达式进行字符串格式化
"""
print("1*1的结果是:%d" % (1*1))
print(f"1*2的结果是:{1*2}")
print("字符串在python中的类型名是:%s"% type("字符串"))

$练习:

name="传智播客"
stock_price=19.99
stock_code="003032"
stock_price_daily_growth_factor=1.2
growth_days=7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%.1f" % stock_price_daily_growth_factor,"经过7天的增长后,股价达到了:%0.2f," % (stock_price_daily_growth_factor*growth_days))
# print("每日增长系数是:%.1f,经过7天的增长后,股价达到了:%0.2f" %(stock_price_daily_growth_factor,stock_price_daily_growth_factor*growth_days))
# 这里切记如第7行,后面出现两个及以上变量要用括号表起来,单个变量不需要

(九)数据输入

1. 语法

input();

2. 使用:

使用input()语句可以从键盘获取输入

使用一个变量接收(存储)input语句获取的键盘输入数据即可

数据输出:print

数据输入:input

1.

print("请输入")
name=input()
print("我知道了,你是:%s" % name)

2.

# print("请输入")
# name=input()
# print("我知道了,你是:%s" % name)
# 上面代码等价与下面的代码
name=input("请输入")
print("我知道啦,你是:%s" %name)

3.

num=input("请告诉我你的银行卡密码:")
print("你的银行卡密码的类型是:",type(num))

4.强制转换类型

num=input("请告诉我你的银行卡密码:")
# 数据类型转换
num=int(num)
print("你的银行卡密码的类型是:",type(num))

$练习:  

user_name=input("用户名称为:")
user_type=input("用户类型为:")
print("你好:%s,你是尊贵的:%s用户,欢迎你的光临!!!"%(user_name,user_type))